ESP32 펌웨어 다운로드(라이팅)이 안될 경우 첫번째 확인 사항

ESPRESSIF|2023. 10. 31. 18:58

하드웨어 연결 확인

 

- 전원 VDD3.3, GND (500mA) 

- EN핀이 High인지 확인 : EN핀을 Low ==> High로 하면 리셋 됩니다.
- UART0 TX, UART0 RX 연결

- Boot 모드 핀 GND처리 : 모듈에 따라서 핀번호가 다를 수 있으니 Datasheet 참고 바랍니다.

 

 

 

 

ESP32 펌웨어 다운로드(라이팅)이 안될 경우 첫번째 확인 사항

 

제1법칙 : ESP32의 전원을 껏다 켜면, 펌웨어 다운로드 포트(UART0)으로  메세지가 나와야 한다. 

 

UART0을 정상적으로 PC에 연결을 하고, ESP32모듈을 껏다 켜면, 반드시 로그 메세지가 나와야 한다. 

보레이트는 115200이고, 일반적인 시리얼 터미널 프로그램(예, 테라텀, 리얼텀, 푸티 등)으로 메세지를 볼 수 있다.

 

메세지는 리셋 메세지가 될수도 있고, 의미가 없는 에러 메세지가 될수 도 있지만 뭔가는 나와야 한다.

이후,  메세지를 보고 뭐가 잘못 됬는지 정상인지 확인을 해야 한다. 

이 로그 메세지는 심지어 펌웨어가 없어도 나오고, Flash메모리 자체가 연결이 안되 있어도 나온다.

 

제2법칙 : 만약, 제 1법칙에서의 메세지 안나온다면, 100% 하드웨어 문제이다.

이 경우, 회로도, 전원, 노이즈, USB-UART전환 보드 상태, PC상태, 케이블 상태등, 외부 하드웨어 요인을 검토 해 보아야 한다. 펌웨어나 다운로드 프로그램하고는 아무 상관이 없다. 

 

 ESP32 예

 

1) GPIO0번을 GND로 연결한 후 전원 리셋시, 아래와 같은 메세지가 나옵니다. (UART0, 115200) 

 리셋 메세지는 회로에 따라서 차이가 날수 있습니다. 

rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download

 

2) GPIO0번을 High로 놓고 전원 리셋시, 아래와 같은 메세지가 나옵니다. (UART0, 115200) 

펌웨어가 없는 상태에도 리셋 메세지가 나와야 합니다. 

아래는 펌웨어가 없는 상태입니다. 

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46