Device bricked on OTA update when esp-idf is updated from v3.1 to v4.0 [IDFGH-3384]
Posted: Wed May 27, 2020 12:01 pm
## Environment
- Development Kit: [none, custom product using wrover module.]
- Module or chip used: [ESP32-WROVER 32Mbit]
- Operating System: [Windows]
- Power Supply: [on-board 3.3V]
- IDF version: v3.1
Application uses custom partition table as follows
## Issue
Updated IDF to version: 4.0 and performed OTA (followed native_ota_example from idf).
Initially I was getting error something similar to this viewtopic.php?t=13750
So, I checked bootloader using following command and it was intact
But now I am unable to reproduce that error and all I am getting is Guru meditation error.
Below are the logs:
- Development Kit: [none, custom product using wrover module.]
- Module or chip used: [ESP32-WROVER 32Mbit]
- Operating System: [Windows]
- Power Supply: [on-board 3.3V]
- IDF version: v3.1
Application uses custom partition table as follows
- # additional nvs data
- otadata, data, ota, 0xd000, 0x2000,
- phy_init, data, phy, 0xf000, 0x1000,
- factory, app, ota_0, 0x10000, 0x178000,
- ota_1, app, ota_1, , 0x178000,
- nvs, data, nvs, , 0x10000,
## Issue
Updated IDF to version: 4.0 and performed OTA (followed native_ota_example from idf).
Initially I was getting error something similar to this viewtopic.php?t=13750
So, I checked bootloader using following command and it was intact
Code: Select all
esptool.py --chip esp32 image_info bootloader.bin
Below are the logs:
- ets Jun 8 2016 00:22:57
- rst:0xc (SW_CPU_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:0x3fff001c,len:6008
- load:0x40078000,len:8428
- load:0x40080000,len:6476
- 0x40080000: _WindowOverflow4 at E:/ESP32/toolchain/v4.0/esp-idf/components/freertos/xtensa_vectors.S:1778
- entry 0x40080330
- 0x40080330: _KernelExceptionVector at ??:?
- I (29) boot: ESP-IDF v3.1-dirty 2nd stage bootloader
- I (29) boot: compile time 15:40:22
- I (29) boot: Enabling RNG early entropy source...
- I (34) qio_mode: Enabling default flash chip QIO
- I (39) boot: SPI Speed : 80MHz
- I (43) boot: SPI Mode : QIO
- I (47) boot: SPI Flash Size : 4MB
- I (51) boot: Partition Table:
- I (55) boot: ## Label Usage Type ST Offset Length
- I (62) boot: 0 otadata OTA data 01 00 0000d000 00002000
- I (70) boot: 1 phy_init RF data 01 01 0000f000 00001000
- I (77) boot: 2 factory OTA app 00 10 00010000 00178000
- I (85) boot: 3 ota_1 OTA app 00 11 00190000 00178000
- I (92) boot: 4 nvs WiFi data 01 02 00308000 00010000
- I (100) boot: End of partition table
- I (104) esp_image: segment 0: paddr=0x00190020 vaddr=0x3f400020 size=0x1f22c (127532) map
- I (147) esp_image: segment 1: paddr=0x001af254 vaddr=0x3ffbdb60 size=0x00dbc ( 3516) load
- I (148) esp_image: segment 2: paddr=0x001b0018 vaddr=0x400d0018 size=0xd2810 (862224) map
- 0x400d0018: _stext at ??:?
- I (381) esp_image: segment 3: paddr=0x00282830 vaddr=0x3ffbe91c size=0x05410 ( 21520) load
- I (387) esp_image: segment 4: paddr=0x00287c48 vaddr=0x40080000 size=0x00400 ( 1024) load
- 0x40080000: _WindowOverflow4 at E:/ESP32/toolchain/v4.0/esp-idf/components/freertos/xtensa_vectors.S:1778
- I (388) esp_image: segment 5: paddr=0x00288050 vaddr=0x40080400 size=0x12234 ( 74292) load
- I (432) boot: Loaded app from partition at offset 0x190000
- I (432) boot: Disabling RNG early entropy source...
- Guru Meditation Error: Core 0 panic'ed (StoreProhibited). Exception was unhandled.
- Core 0 register dump:
- PC : 0x40121fc5 PS : 0x00060f30 A0 : 0x80080fd9 A1 : 0x3ffe3bd0
- 0x40121fc5: esp_flash_init_default_chip at E:/ESP32/toolchain/v4.0/esp-idf/components/spi_flash/esp_flash_spi_init.c:205
- A2 : 0xffffffff A3 : 0x3ffc1f64 A4 : 0x3ffbdc14 A5 : 0x3ffc9a98
- A6 : 0x40092634 A7 : 0x00000000 A8 : 0x00400000 A9 : 0x00400000
- A10 : 0x00000000 A11 : 0x3ffc1f64 A12 : 0x00000108 A13 : 0x3ffc9a60
- A14 : 0x00000000 A15 : 0x00000400 SAR : 0x0000001f EXCCAUSE: 0x0000001d
- EXCVADDR: 0xffffffff LBEG : 0x4000c2e0 LEND : 0x4000c2f6 LCOUNT : 0xffffffff
- ELF file SHA256: ffffffffffffffffffffffffffffffff0000000000000000000222bfffffffff
- Backtrace: 0x40121fc2:0x3ffe3bd0 0x40080fd6:0x3ffe3c10 0x400810d3:0x3ffe3c60 0x40078da1:0x3ffe3ca0 |<-CORRUPTED
- 0x40121fc2: esp_flash_init_default_chip at E:/ESP32/toolchain/v4.0/esp-idf/components/spi_flash/esp_flash_spi_init.c:205
- 0x40080fd6: start_cpu0_default at E:/ESP32/toolchain/v4.0/esp-idf/components/esp32/cpu_start.c:400
- 0x400810d3: call_start_cpu0 at E:/ESP32/toolchain/v4.0/esp-idf/components/esp32/cpu_start.c:260