ESP32-WROOM first stage bootloader failure
Posted: Fri Aug 27, 2021 2:44 am
One of our development boards that gets a fair amount of abuse has recently developed a boot failure:
It looks like reading the address that it should load the second stage to has been incorrectly read by one byte.
Reporting:
Should be:
This device has been subjected to brownout situations with CHIP_PU high and this may be the root cause based on others experiences:
https://github.com/espressif/esp-idf/issues/4968
I have re-flashed this device with a full flash image using esptool from a working device and also compared all the efuse settings between the two but the issue remains.
Whilst I am not too concerned about fixing this specific device, I would like to understand the failure mechanism and whether this state is recoverable. I suspect we have production units in the field that have suffered from a similar fate and we are looking to get them back for forensics.
Any insights would be most appreciated.
ets Jul 29 2019 12:21:46
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0xff001cff,len:267327
1150 mmu set 00010000, pos 00010000
1150 mmu set 00020000, pos 00020000
1150 mmu set 00030000, pos 00030000
1150 mmu set 00040000, pos 00040000
ho 0 tail 11 room 5
load:0x00201929,len:36306944
ets Jul 29 2019 12:21:46
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0xff001cff,len:267327
1150 mmu set 00010000, pos 00010000
1150 mmu set 00020000, pos 00020000
1150 mmu set 00030000, pos 00030000
1150 mmu set 00040000, pos 00040000
ho 0 tail 11 room 5
load:0x00201929,len:36306944
It looks like reading the address that it should load the second stage to has been incorrectly read by one byte.
Reporting:
load:0xff001cff,len:267327
Should be:
load:0x3fff001c,len:1044
This device has been subjected to brownout situations with CHIP_PU high and this may be the root cause based on others experiences:
https://github.com/espressif/esp-idf/issues/4968
I have re-flashed this device with a full flash image using esptool from a working device and also compared all the efuse settings between the two but the issue remains.
Whilst I am not too concerned about fixing this specific device, I would like to understand the failure mechanism and whether this state is recoverable. I suspect we have production units in the field that have suffered from a similar fate and we are looking to get them back for forensics.
Any insights would be most appreciated.