Hi,
I am currently using an evalkit Nina W106-00B board that incorporates an ESP32.
I am desperately trying to implement OTA (Over-The-Air) updates.
I started by modifying my partitions.csv file, which looks like this (without OTA) and works well:
nvs, data, nvs, 0x9000, 0x6000,
phy_init, data, phy, 0xf000, 0x1000,
factory, app, factory, 0x10000, 1M,
storage, data, spiffs, , 0xF0000,
The “factory” partition corresponds to my .bin file containing the code.
The “storage” partition corresponds to my .bin file containing the web pages and .js files.
I tried to modify it so that when I add a new .bin file containing the code, it goes into the “ota_0” partition, for example, and then boots without using the “factory” partition.
This is what it looks like now:
nvs, data, nvs, 0x9000, 0x6000,
otadata, data, ota, 0xf000, 0x2000,
phy_init, data, phy, 0x11000, 0x1000,
factory, app, factory, 0x20000, 1M,
storage, data, spiffs, 0x120000, 0xF0000,
ota_0, app, ota_0, 0x210000, 1M,
ota_1, app, ota_1, 0x310000, 1M,
I can compile and flash it, but when I start my board, an error message appears in the logs:
ELF file SHA256: 73241a5f6639ca7a
Rebooting…
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x33 (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:2
load:0x3fff0030,len:1256
load:0x40078000,len:13276
ho 0 tail 12 room 4
load:0x40080400,len:3032
entry 0x40080598
assert failed: do_core_init startup.c:339 (flash_ret == ESP_OK)
Backtrace: 0x40081ee2:0x3ffe3a90 0x4008a4bd:0x3ffe3ab0 0x40090fdd:0x3ffe3ad0 0x400d2a13:0x3ffe3bf0 0x400d2abe:0x3ffe3c10 0x4008165e:0x3ffe3c40 0x4007927e:0x3ffe3c90 |<-CORRUPTED
This message keeps looping, and the board attempts to restart without success.
How should I modify my partitions.csv file for it to work correctly?
Thanks,
Zapsalis