2016-05-31 10 views
0

사용자 정의 컴파일 된 노드 이미지로 AI-Thinker ESP-12-Q 모듈을 플래시하려고합니다. 칩을 처음 부팅 할 때 8mbit (1MB) 플래시라는 메시지가 표시됩니다. 또한 모든 문서에서이 모듈은 32mbit (4MB) 플래시를 가지고있는 것으로 나타났습니다.RF 설정을 프로그래밍 한 후에 GPIO0을 높일 수 없음 ESP-12-Q

  • 가 나는 10A 실험실 공급 (물론 3.3 볼트)와 모듈에 전원을 공급, 전력 문제를 제거하려면 : 여기했고, 그 결과 것입니다.
  • esp와 컴퓨터 사이에 3.3v ftdi 모듈이 있습니다.
  • Espressif에서 공식 플래시 다운로드 도구 v2.4를 사용하고 있습니다. 이 모든 곳에서 언급 한 이미지를 nodemcu됨에 따라
  • 는 nodemcu을 nodemcu 이미지 ESP 모듈을 실행 프로그래밍 한은 0x00000

로 이동합니다. ADC 채널을 사용해야합니다. 내가 adc.read(0)라고 말할 때 그것은 나에게 65535를 준다. 그럼 모든 곳에서 내가 config의 107 번째 바이트를 변경해야합니다 말합니다. 그렇게하려면

  • 열기 2.4
  • 고토 RF InitConfig 페이지
  • 을 눌러 기본값 단추 ESP 플래시 다운로드 도구
  • 변경 CrystalFreq 최대 26MHz로 (칩 부츠 74,880 전송으로 인해)
  • 변경 TOUT 핀을 다른 3.3
  • 변경 아무것도 TOUT_ADC_EN에 컨퍼런스 및 전압
  • 을 눌러 GenInitBin
  • Goto FlashDownload 페이지
  • 주소에서 플래시 할 esp_init_data_setting.bin 파일을 선택하십시오. 0x3FC00
  • start를 누릅니다. 그리고 모든 것은 괜찮아 보인다.

그러면 공포가 시작됩니다. 칩 부팅시 나는 system parameter error과 같은 메시지를 잡아낼 수 있으며 칩은 노드 램 이미지로 부팅되지 않습니다. GPIO0 핀을 점검 할 때 전압은 약 1.9V를 읽습니다. 이 핀에는 10K 외부 풀업 저항이있다. 전압이 그렇게 읽으면 esp는 nodemcu 이미지로 부팅 할 수 없습니다. 내가 풀업 저항을 단락 시켜서이 핀을 3.3V로 강제하면, nodemcu로 부팅되지만 약간의 오류가있다. (나는 그들을 잡으려고 노력할 것이다.)

질문은 무엇이 잘못 되었습니까? 이 정의로

I 칩에 "공장 디폴트"를로드하려고 :

EDIT # 1 :

ets Jan 8 2013,rst cause:2, boot mode:(3,0) 

load 0x40100000, len 30288, room 16 
tail 0 
chksum 0xa5 
load 0x3ffe8000, len 2268, room 8 
tail 4 
chksum 0x3f 
load 0x3ffe88dc, len 8, room 4 
tail 4 
chksum 0xca 
csum 0xca 
system param error 
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff .... goes on for 100 meters. 

EDIT # 2 :

이것은 칩의 출력 SDK v1.5

Flash size 32Mbit-C1:  1024KB+1024KB 
boot_v1.2+.bin    0x00000 
user1.2048.new.5.bin  0x01000 
esp_init_data_default.bin 0x3fc000 (optional) 
blank.bin     0xfe000 & 0x3fe000 

그런 다음 칩이 정상적으로 작동하기 시작합니다. 나는 AT 명령으로 시도해보고, 예상대로 응답을 얻었습니다 ... 그리고 나서 nodemcu 이미지를로드했습니다. 또한 예상대로 잘 작동했습니다. 그런 다음 까다로운 부분 : 이번에는 SDK1에서 esp_init_data_default.bin을 가져 왔습니다.5로 변경하고 16 진수 편집기로 107 번째 바이트를 0x21 (33 DEC) 바이트로 바 꾸었습니다. 그런 다음 esp_init_data_default.binblank.bin 파일을 칩에 플래시했습니다. 다시 부팅하고 어떤 adc가 읽었는지 확인합니다. 나는 그럴듯한 결과를 얻었다. 칩이 정상적으로 간 것 같습니다.

답변

2

관련 하드웨어가 있기 때문에 명확한 답변이 될 수는 없지만 여전히 도움이 될 수 있습니다 (댓글이 너무 길어서).

먼저 플래시 크기를 명시 적으로 설정할 수있는 플래셔로 시도해보십시오. 나는 Espressif 도구를 알지 못하지만 NodeMCU 커뮤니티의 많은 사람들은 꽤 happy with esptool.py입니다.

esptool.py --port <USB-port-with-ESP8266> write_flash -fm dio -fs 32m 0x00000 <nodemcu-firmware>.bin 

는이 작동하는지 확인 될 때까지 펌웨어와 수리를 시도하지 마십시오 (즉, 부팅 오류 O/W까지) 및 플래시 크기와 힙 크기가 확인을 보인다.

dev 브랜치의 최신 NodeMCU 펌웨어를 사용하는 경우 you can set it in Lua이므로 바이트 107 춤을 건너 뛸 수 있습니다.

adc.force_init_mode(adc.INIT_ADC) 
-- now reboot 
+0

답변 해 주셔서 감사합니다. 나는 지금이 문제를 깊이 조사하고있다. 편집 결과를 추가하겠습니다. –

+0

이 질문에 대한 답변이 없기 때문에 답변을 수락하겠습니다. 다른 h/w (esp12E)를 사용한 추가 검사가 다른 특성을 나타 내기 때문입니다. 귀하의 대답은 칩을 플래시하는 입증 된 방법을 보여줍니다. –