OTA_BEGIN_ERROR with my partition table
Posted: Sat Sep 18, 2021 7:48 pm
My app just crested the 1M boundary, and I'd like to keep OTA functionality. I also need about 1M of spiffs. I created the following partition table and it flashes and runs fine over serial, but when I try to OTA, it fails in Begin when it's considering the partition table. I presume it things I don't have room, and perhaps I don't.
Can anyone confirm what the cause of my error might be? And how I can remedy the partition table? It's a PICO with 4M flash.
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, , 1300k,
app1, app, ota_1, , 1300k,
eeprom, data, 0x99, , 0x1000,
spiffs, data, spiffs, , 0xF000,
Can anyone confirm what the cause of my error might be? And how I can remedy the partition table? It's a PICO with 4M flash.
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, , 1300k,
app1, app, ota_1, , 1300k,
eeprom, data, 0x99, , 0x1000,
spiffs, data, spiffs, , 0xF000,
Code: Select all
Code that is failing:
void ArduinoOTAClass::_runUpdate()
{
const char *partition_label = _partition_label.length() ? _partition_label.c_str() : NULL;
if (!Update.begin(_size, _cmd, -1, LOW, partition_label))
{
// Hits error case and bails
}