]> granicus.if.org Git - esp-idf/commitdiff
bugfix(simple_ota): Compatible with V3.1 and V3.2
authorInfiniteYuan1 <infiniteyuan@outlook.com>
Tue, 18 Dec 2018 03:50:33 +0000 (11:50 +0800)
committerMahavir Jain <mahavir@espressif.com>
Thu, 21 Mar 2019 02:24:09 +0000 (10:24 +0800)
(cherry picked from commit 0fa31d3e311e2e49b4a37ebf7c32cae2ee3070d4)

examples/system/ota/simple_ota_example/main/simple_ota_example.c

index 7972f8bd57edbf851f747f6ce0b68a3799f5976f..547812432c3a987a9b514f0544df84d11566f73a 100644 (file)
@@ -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();