I have some trouble with using OTA (about 1Mb bin) in a task. I use the “AWS S3 OTA Update” example in Arduino as a base and run it in a task (runs on APP core, changing priority and stacksize does not help)). Sometimes the OTA is successful sometimes it crashes at random percentage and I get this error:
Code: Select all
Guru Meditation Error: Core 1 panic'ed (LoadStoreError). Exception was unhandled.
Core 1 register dump:
PC : 0x400e578c PS : 0x00060630 A0 : 0x800e582f A1 : 0x3ffd8f90
A2 : 0x3ffcde28 A3 : 0x3ffd8fdf A4 : 0x00000001 A5 : 0x40000000
A6 : 0x00025078 A7 : 0x3ffd5320 A8 : 0x00000000 A9 : 0xffffffff
A10 : 0x00000000 A11 : 0x3ffdaf88 A12 : 0x00000050 A13 : 0x00000020
A14 : 0x00000000 A15 : 0x00000000 SAR : 0x0000000a EXCCAUSE: 0x00000003
EXCVADDR: 0x40000000 LBEG : 0x400014fd LEND : 0x4000150d LCOUNT : 0xffffffff
Code: Select all
0x400e578c: WiFiClientRxBuffer::read(unsigned char*, unsigned int) at C:\Users\alex\AppData\Local\arduino15\packages\esp32\hardware\esp32\1.0.0\libraries\WiFi\src/WiFiClient.cpp line 507
0x400e582c: WiFiClient::read(unsigned char*, unsigned int) at C:\Users\alex\AppData\Local\arduino15\packages\esp32\hardware\esp32\1.0.0\libraries\WiFi\src/WiFiClient.cpp line 507
0x4017ab1a: WiFiClient::read() at C:\Users\alex\AppData\Local\arduino15\packages\esp32\hardware\esp32\1.0.0\libraries\WiFi\src/WiFiClient.cpp line 507
0x400ecfa1: Stream::timedRead() at C:\Users\alex\AppData\Local\arduino15\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Stream.cpp line 279
0x400ecfcd: Stream::readBytes(char*, unsigned int) at C:\Users\alex\AppData\Local\arduino15\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Stream.cpp line 279
0x400e2cbe: Stream::readBytes(unsigned char*, unsigned int) at C:\Users\alex\AppData\Local\arduino15\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Stream.h line 103
: (inlined by) UpdateClass::writeStream(Stream&) at C:\Users\alex\AppData\Local\arduino15\packages\esp32\hardware\esp32\1.0.0\libraries\Update\src/Updater.cpp line 319
0x400da8eb: _ota_execOTA(String, String) at C:\Users\alex\AppData\Local\Temp\VMBuilds\Proto V0.7 PCBV10\esp32_esp32\Release/Ota.cpp line 189
0x400dae3e: _ota_OtaTask(void*) at C:\Users\alex\AppData\Local\Temp\VMBuilds\Proto V0.7 PCBV10\esp32_esp32\Release/Ota.cpp line 62 (discriminator 2)
Code: Select all
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x140000,
app1, app, ota_1, 0x150000,0x140000,
eeprom, data, 0x99, 0x290000,0x1000,
spiffs, data, spiffs, 0x291000,0x16F000,
Thanks!