ESP32 OTA升级框架
ESP32 SPI Flash 內(nèi)有與升級相關(guān)的(至少)四個(gè)分區(qū):OTA data、Factory App、OTA_0、OTA_1。其中 FactoryApp 內(nèi)存有出廠時(shí)的默認(rèn)固件。
首次進(jìn)行 OTA 升級時(shí),OTA Demo 向 OTA_0 分區(qū)燒錄目標(biāo)固件,并在燒錄完成后,更新 OTA data 分區(qū)數(shù)據(jù)并重啟。
系統(tǒng)重啟時(shí)獲取 OTA data 分區(qū)數(shù)據(jù)進(jìn)行計(jì)算,決定此后加載 OTA_0 分區(qū)的固件執(zhí)行(而不是默認(rèn)的 Factory App 分區(qū)內(nèi)的固件),從而實(shí)現(xiàn)升級。
同理,若某次升級后 ESP32 已經(jīng)在執(zhí)行 OTA_0 內(nèi)的固件,此時(shí)再升級時(shí) OTA Demo 就會向 OTA_1 分區(qū)寫入目標(biāo)固件。再次啟動后,執(zhí)行 OTA_1 分區(qū)實(shí)現(xiàn)升級。以此類推,升級的目標(biāo)固件始終在 OTA_0、OTA_1 兩個(gè)分區(qū)之間交互燒錄,不會影響到出廠時(shí)的 Factory App 固件。
?
?
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的ESP32 OTA升级框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nRF52832 中断相关
- 下一篇: esp32 Flash分区