Boot from Test does not work using only EN/CHIP_PU pin

csmith-morningstar
Posts: 1
Joined: Wed Sep 17, 2025 12:55 pm

Boot from Test does not work using only EN/CHIP_PU pin

Postby csmith-morningstar » Wed Sep 17, 2025 1:05 pm

Hello,

We are using the ESP32-WROOM-32E module, programming it with ESP-IDF. Below is the partition table for our setup:

Code: Select all

# Name,   Type, SubType,  Offset,   Size,  Flags
nvs,      data, nvs,      ,  0x6000
otadata,  data, ota,      ,  0x2000
phy_init, data, phy,      ,  0x1000
nvs_key,  data, nvs_keys, ,  0x1000
test,     app,  test,     ,  0x40000
main_app, app,  ota_0,    ,  0x3A0000
The test partition contains firmware that upgrades the main_app over SPI. To enter the test partition, we use the CONFIG_BOOTLOADER_NUM_PIN_APP_TEST option, which is set to IO21. When the ESP32 is powered on with IO21 held low, the chip enters the test partition correctly.

However, if the chip is already powered on, and the EN/CHIP_PU line is held low to put the ESP32 into reset, then IO21 is held low, then EN/CHIP_PU line is held high, the chip does not enter the test partition, and instead boots to the main_app partition.

Is this behavior intended? Why does the 2nd-stage bootloader ignore the IO21 pin in this scenario?

Sprite
Espressif staff
Espressif staff
Posts: 10650
Joined: Thu Nov 26, 2015 4:08 am

Re: Boot from Test does not work using only EN/CHIP_PU pin

Postby Sprite » Wed Sep 17, 2025 2:13 pm

That does not make sense; the ESP32 is unable to distinguish between a poweron and EN being pulled.

Who is online

Users browsing this forum: Bing [Bot], Qwantbot and 3 guests