[SOLVED] ESP-WROOM-32U Not Entering Serial Bootloader

chrismerck
Posts: 76
Joined: Tue May 29, 2018 8:00 pm

[SOLVED] ESP-WROOM-32U Not Entering Serial Bootloader

Postby chrismerck » Tue May 29, 2018 8:17 pm

I have an ESP-WROOM-32U soldered into a custom circuit. In fact, I have several copies of the circuit in front of me. So this is reproducible behavior, at least within the context of this circuit.

When I boot without asserting IO0, I see the factory-installed firmware boot up. It creates an access point, but apparently there are no ports open an no WiFi-based boot-loader available. Presumably it is some kind of factory-test firmware.

I'm attempting to use the serial bootloader, but I see this whenever the IO0 pin is asserted at boot. The bootloop stops as soon as I release IO0. I never get the "waiting for download" message.

Code: Select all

rst:0x1 (POWERON_RESET),boot:0xa (HSPI_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
ets Jun  8 2016 00:22:57

rst:0x10 (RTCWDT_RTC_RESET),boot:0xa (HSPI_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
ets Jun  8 2016 00:22:57

rst:0x10 (RTCWDT_RTC_RESET),boot:0xa (HSPI_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
ets Jun  8 2016 00:22:57
NOTE: IO12 is floating (avoiding the "wrong flash voltage" strapping problem).

----

My questions are:

(1) what does the above actually mean? Presumably "ets_main.c 371" refers to a line-number of the ROM sources. But why would flash read be failing? Flash read seems to work fine if I do not hold down IO0.

(2) any suggestions on how could I get the bootloader up?
Last edited by chrismerck on Thu May 31, 2018 3:28 pm, edited 1 time in total.

ESP_Angus
Posts: 2344
Joined: Sun May 08, 2016 4:11 am

Re: ESP-WROOM-32U Not Entering Serial Bootloader

Postby ESP_Angus » Wed May 30, 2018 12:11 am

Hi Chris,
chrismerck wrote: (1) what does the above actually mean? Presumably "ets_main.c 371" refers to a line-number of the ROM sources. But why would flash read be failing? Flash read seems to work fine if I do not hold down IO0.
HSPI_FLASH_BOOT means the ESP32 has entered an unsupported boot mode where it tries to find the SPI flash using the alternative HSPI host.

"flash read err, 1000" is after the ROM bootloader tried to read a bootloader header at address 0x1000 and it's failed to see anything that looks like a valid header. This follows from the boot mode, if no flash chip is attached to the HSPI bus pins.

The next line is a line number reference, then it reboots.
chrismerck wrote: (2) any suggestions on how could I get the bootloader up?
GPIO2 needs to be left floating or pulled low in order to enter bootloader mode. Otherwise when IO0 is low the ESP32 will enter some of these unsupported modes.

You can find a table of strapping pins in the ESP32 Datasheet section 2.4 Strapping Pins, or there's a summary for UART download purposes on the esptool wiki here: https://github.com/espressif/esptool/wi ... -Selection

ESP_Angus
Posts: 2344
Joined: Sun May 08, 2016 4:11 am

Re: ESP-WROOM-32U Not Entering Serial Bootloader

Postby ESP_Angus » Wed May 30, 2018 1:16 am

I've added a new section on the esptool wiki about boot mode related output:
https://github.com/espressif/esptool/wi ... de-message

chrismerck
Posts: 76
Joined: Tue May 29, 2018 8:00 pm

Re: ESP-WROOM-32U Not Entering Serial Bootloader

Postby chrismerck » Thu May 31, 2018 3:28 pm

ESP_Angus wrote: GPIO2 needs to be left floating or pulled low in order to enter bootloader mode. Otherwise when IO0 is low the ESP32 will enter some of these unsupported modes.
Thank you! That is exactly what was wrong.

I continue to be impressed with the level of support you guys provide. Kudos!

Who is online

Users browsing this forum: No registered users and 184 guests