ESP32-S3-Mini-1 custom hardware- failure to boot/ invalid header message
Posted: Tue Jul 12, 2022 2:57 pm
We have a custom design using ESP32-S3-Mini-1 that we flash using ESP IDF tools via ESP Prog/UART
Flashing goes through just fine but on boot all we get after reset is "Invalid Header" scrolling through on UART.
The same programming script and binaries, when flashed to an ESP32-S3-DEVKITM boots and runs fine.
If we look at UART stream of a blank board we get "Invalid header" messages right out of the box.
Trying to figure out what's different between the two or what are we missing.
All strapping pins are brought to test points and are floating/using default IPD/IPU
Dev kit has ESP32-S3-Mini-1 datecode P1N8
Custom HW has ESP32-S3-Mini-1 datecode M0N8
Flashing script, efuses readout of dev board and our board and UART output attached below
Failure to boot:
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
invalid header: 0xacd54a85
invalid header: 0xacd54a85
invalid header: 0xacd54a85
invalid header: 0xacd54a85
Same firmware on ESP32-S3-DEVKITM
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x2b (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd0270,len:0x2608
load:0x403b6000,len:0xb1c
load:0x403ba000,len:0x4258
entry 0x403b622c
I (35) boot: ESP-IDF v4.4-dirty 2nd stage bootloader
I (35) boot: compile time 14:21:10
I (35) boot: chip revision: 0
I (37) boot.esp32s3: Boot SPI Speed : 80MHz
I (42) boot.esp32s3: SPI Mode : DIO
I (46) boot.esp32s3: SPI Flash Size : 8MB
I (51) boot: Enabling RNG early entropy source...
I (56) boot: Partition Table:
I (60) boot: ## Label Usage Type ST Offset Length
I (67) boot: 0 nvs WiFi data 01 02 00009000 00008000
I (75) boot: 1 otadata OTA data 01 00 00011000 00002000
I (82) boot: 2 phy_init RF data 01 01 00013000 00001000
I (90) boot: 3 nvs_key NVS keys 01 04 00014000 00001000
I (97) boot: 4 storage WiFi data 01 02 00015000 00004000
I (105) boot: 5 ota_0 OTA app 00 10 00020000 00300000
I (112) boot: 6 ota_1 OTA app 00 11 00320000 00300000
I (120) boot: 7 filesys Unknown data 01 81 00620000 00100000
I (127) boot: End of partition table
I (131) boot: No factory image, trying OTA 0
I (136) esp_image: segment 0: paddr=00020020 vaddr=3c120020 size=4d424h (316452) map
I (208) esp_image: segment 1: paddr=0006d44c vaddr=3fc98620 size=02bcch ( 11212) load
I (211) esp_image: segment 2: paddr=00070020 vaddr=42000020 size=11900ch (1150988) map
I (443) esp_image: segment 3: paddr=00189034 vaddr=3fc9b1ec size=032a4h ( 12964) load
I (446) esp_image: segment 4: paddr=0018c2e0 vaddr=40374000 size=14620h ( 83488) load
I (469) esp_image: segment 5: paddr=001a0908 vaddr=50000000 size=00044h ( 68) load
I (469) esp_image: segment 6: paddr=001a0954 vaddr=600fe000 size=002b4h ( 692) load
I (483) boot: Loaded app from partition at offset 0x20000
I (517) boot: Set actual ota_seq=1 in otadata[0]
I (517) boot: Checking flash encryption...
I (518) flash_encrypt: flash encryption is enabled (1 plaintext flashes left)
I (524) boot: Disabling RNG early entropy source...
I (541) cpu_start: Pro cpu up.
Flashing goes through just fine but on boot all we get after reset is "Invalid Header" scrolling through on UART.
The same programming script and binaries, when flashed to an ESP32-S3-DEVKITM boots and runs fine.
If we look at UART stream of a blank board we get "Invalid header" messages right out of the box.
Trying to figure out what's different between the two or what are we missing.
All strapping pins are brought to test points and are floating/using default IPD/IPU
Dev kit has ESP32-S3-Mini-1 datecode P1N8
Custom HW has ESP32-S3-Mini-1 datecode M0N8
Flashing script, efuses readout of dev board and our board and UART output attached below
Failure to boot:
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
invalid header: 0xacd54a85
invalid header: 0xacd54a85
invalid header: 0xacd54a85
invalid header: 0xacd54a85
Same firmware on ESP32-S3-DEVKITM
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x2b (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd0270,len:0x2608
load:0x403b6000,len:0xb1c
load:0x403ba000,len:0x4258
entry 0x403b622c
I (35) boot: ESP-IDF v4.4-dirty 2nd stage bootloader
I (35) boot: compile time 14:21:10
I (35) boot: chip revision: 0
I (37) boot.esp32s3: Boot SPI Speed : 80MHz
I (42) boot.esp32s3: SPI Mode : DIO
I (46) boot.esp32s3: SPI Flash Size : 8MB
I (51) boot: Enabling RNG early entropy source...
I (56) boot: Partition Table:
I (60) boot: ## Label Usage Type ST Offset Length
I (67) boot: 0 nvs WiFi data 01 02 00009000 00008000
I (75) boot: 1 otadata OTA data 01 00 00011000 00002000
I (82) boot: 2 phy_init RF data 01 01 00013000 00001000
I (90) boot: 3 nvs_key NVS keys 01 04 00014000 00001000
I (97) boot: 4 storage WiFi data 01 02 00015000 00004000
I (105) boot: 5 ota_0 OTA app 00 10 00020000 00300000
I (112) boot: 6 ota_1 OTA app 00 11 00320000 00300000
I (120) boot: 7 filesys Unknown data 01 81 00620000 00100000
I (127) boot: End of partition table
I (131) boot: No factory image, trying OTA 0
I (136) esp_image: segment 0: paddr=00020020 vaddr=3c120020 size=4d424h (316452) map
I (208) esp_image: segment 1: paddr=0006d44c vaddr=3fc98620 size=02bcch ( 11212) load
I (211) esp_image: segment 2: paddr=00070020 vaddr=42000020 size=11900ch (1150988) map
I (443) esp_image: segment 3: paddr=00189034 vaddr=3fc9b1ec size=032a4h ( 12964) load
I (446) esp_image: segment 4: paddr=0018c2e0 vaddr=40374000 size=14620h ( 83488) load
I (469) esp_image: segment 5: paddr=001a0908 vaddr=50000000 size=00044h ( 68) load
I (469) esp_image: segment 6: paddr=001a0954 vaddr=600fe000 size=002b4h ( 692) load
I (483) boot: Loaded app from partition at offset 0x20000
I (517) boot: Set actual ota_seq=1 in otadata[0]
I (517) boot: Checking flash encryption...
I (518) flash_encrypt: flash encryption is enabled (1 plaintext flashes left)
I (524) boot: Disabling RNG early entropy source...
I (541) cpu_start: Pro cpu up.