From: InfiniteYuan1 Date: Tue, 18 Dec 2018 03:50:33 +0000 (+0800) Subject: bugfix(simple_ota): Compatible with V3.1 and V3.2 X-Git-Tag: v3.2-rc~2^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=07fc1d181fd7ccb18bf4a8548227417abe87d85c;p=esp-idf bugfix(simple_ota): Compatible with V3.1 and V3.2 (cherry picked from commit 0fa31d3e311e2e49b4a37ebf7c32cae2ee3070d4) --- diff --git a/examples/system/ota/simple_ota_example/main/simple_ota_example.c b/examples/system/ota/simple_ota_example/main/simple_ota_example.c index 7972f8bd57..547812432c 100644 --- a/examples/system/ota/simple_ota_example/main/simple_ota_example.c +++ b/examples/system/ota/simple_ota_example/main/simple_ota_example.c @@ -133,9 +133,10 @@ void app_main() { // Initialize NVS. esp_err_t err = nvs_flash_init(); - if (err == ESP_ERR_NVS_NO_FREE_PAGES) { - // OTA app partition table has a smaller NVS partition size than the non-OTA + if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) { + // 1.OTA app partition table has a smaller NVS partition size than the non-OTA // partition table. This size mismatch may cause NVS initialization to fail. + // 2.NVS partition contains data in new format and cannot be recognized by this version of code. // If this happens, we erase NVS partition and initialize NVS again. ESP_ERROR_CHECK(nvs_flash_erase()); err = nvs_flash_init();