OTA 升級過程中斷了,怎么辦?
在最近的兩篇文章中,我們從概念和流程上梳理了: 一個終端設(shè)備如何把一個固件,安全無誤的從服務(wù)器上,下載到本地。
這篇文章就繼續(xù)往下深入,以一個實際的 ESP32 項目,來完整的梳理一下 OTA 升級的全過程。
主要包括下面 3 部分內(nèi)容:
AWS 平臺上,部署一個 OTA 升級任務(wù)時,需要完成哪些步驟;
ESP32 模組中,關(guān)于 Flash 分區(qū)和 OTA 升級控制過程和代碼說明;
如何通過 ESP32,給與之相連的 MCU 進(jìn)行 OTA 升級;
PS: 在下面的內(nèi)容中,終端設(shè)備指的就是 ESP32 模組。
ESP32 Flash 分區(qū)
其實 ESP32 的官方文檔的過程描述,已經(jīng)是非常的詳細(xì)了。
不僅把每一個操作的步驟都寫的很清楚,而且把一些可能遇到的錯誤,都會做一些善意的提醒。
下面這部分內(nèi)容,基本上是來源于官方的文檔。
我們這里只是把一些與本文相關(guān)的、比較重要的內(nèi)容摘錄在這里。
首先要了解的,肯定是 Flash 的分區(qū)信息了。
所有的固件、數(shù)據(jù),都要存儲在 Flash 中,它是一個系統(tǒng)的記憶部件,離開了它,再怎么聰明的 CPU 都無用武之地。
關(guān)于分區(qū)表,ESP32 中預(yù)定義了 2 份分區(qū)表,分別對應(yīng):是否存在 OTA 功能這兩種情況,截圖如下:
沒有 OTA 的分區(qū)表:
有 OTA 功能的分區(qū)表:
既然我們是在描述 OTA 過程,那肯定就是以帶有 OTA 功能的這個分區(qū)表為準(zhǔn)了。
在這張分區(qū)表中,一共定義了 3 個應(yīng)用程序分區(qū):
factory 分區(qū);
ota_0 分區(qū);
ota_1 分區(qū);
這三個分區(qū)的類型都是 app,但具體 app 的類型不相同。
其中,位于 0x10000 偏移地址處的為出廠應(yīng)用程序(factory),其余兩個為 OTA 應(yīng)用程序(ota_0,ota_1)。
名為 otadata 的數(shù)據(jù)分區(qū),用于保存 OTA 升級時需要的數(shù)據(jù)。
啟動加載器會查詢該分區(qū)(otadata)的數(shù)據(jù),以判斷:應(yīng)該從哪個 OTA 應(yīng)用程序分區(qū)來加載程序。
如果 otadata 分區(qū)為空(說明這臺設(shè)備還沒有進(jìn)行過 OTA 升級),則會執(zhí)行出廠程序,也就是執(zhí)行 factory 分區(qū)中的固件程序。
如果 otadata 分區(qū)非空,則啟動加載器將加載這個分區(qū)中的數(shù)據(jù),進(jìn)而判斷: 啟動哪個 OTA 鏡像文件。

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
6月20日立即下載>> 【白皮書】精準(zhǔn)測量 安全高效——福祿克光伏行業(yè)解決方案
-
7月3日立即報名>> 【在線會議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯(lián)
-
7月22-29日立即報名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會
-
7.30-8.1火熱報名中>> 全數(shù)會2025(第六屆)機(jī)器人及智能工廠展
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身機(jī)器人動力電池技術(shù)應(yīng)用大會
-
免費(fèi)參會立即報名>> 7月30日- 8月1日 2025全數(shù)會工業(yè)芯片與傳感儀表展
推薦專題
- 1 AI 眼鏡讓百萬 APP「集體失業(yè)」?
- 2 大廠紛紛入局,百度、阿里、字節(jié)搶奪Agent話語權(quán)
- 3 深度報告|中國AI產(chǎn)業(yè)正在崛起成全球力量,市場潛力和關(guān)鍵挑戰(zhàn)有哪些?
- 4 上海跑出80億超級獨(dú)角獸:獲上市公司戰(zhàn)投,干人形機(jī)器人
- 5 國家數(shù)據(jù)局局長劉烈宏調(diào)研格創(chuàng)東智
- 6 下一代入口之戰(zhàn):大廠為何紛紛押注智能體?
- 7 百億AI芯片訂單,瘋狂傾銷中東?
- 8 Robotaxi新消息密集釋放,量產(chǎn)元年誰在領(lǐng)跑?
- 9 格斗大賽出圈!人形機(jī)器人致命短板曝光:頭腦過于簡單
- 10 一文看懂視覺語言動作模型(VLA)及其應(yīng)用