1、什么是在線OTA升級?
OTA是Over-the-Air的簡寫,空中下載技術的意思。
OTA在線升級在日常消費電子產品中很常見,比如手機、機頂盒等,通過網絡,下載升級數據包,更新操作系統等底層固件進行系統更新升級。
在線升級系統對于批量化消費電子產品來說是相當重要的。因為銷售給客戶的電子產品,其中的軟件系統可能有潛在的bug或者功能為實現不齊全,需要在售后進一步完善更新系統。一般都是通過網絡遠程給用戶進行系統更新。
2、規劃可在線OTA升級的嵌入式系統Flash存儲區
要設計帶有OTA在線升級功能的嵌入式系統,首先需要對系統的Flash存儲區進行分區規劃。一般帶有OTA系統的分區規劃如圖1所示。
本系統的分區不包括升級失敗的備份還原分區,本文只考慮升級成功的情況,升級失敗還原只需再增加冗余分區與啟動方案即可。
在上圖的Flash分區規劃中,Uboot根據boot flag param分區里的數據,選擇正常的應用系統Normal APP System啟動還是從升級系統 Update System 啟動。
Uboot可以用其它類型的boot代替,常規應用系統和升級系統的 OS kernel可以是Linux Kernel ,也可以是普通的 RTOS Kernel,實際設計的時候,要根據Flash存儲空間的大小進行調整與優化,選擇合適的OS Kernel 和 Uboot進行系統的規劃。
另外,OTA升級時,從網絡上下載的一般是壓縮的升級數據包(數據包包含OS Kernel 與 Rootfs),需要單獨一個分區用于存放壓縮的升級數據包。
用戶數據單獨設置一個分區存放,以保證OTA升級更新之后,用戶數據不會丟失。
3、嵌入式系統在線升級流程
■ Normal APP系統與 Update 系統的啟動選擇
帶有OTA升級的嵌入式系統,一般都有兩個系統,一般是通過啟動Update 系統,在運行Update系統的應用,擦出Normal APP系統中的程序數據,再將OTA下載的新系統數據解壓,重新寫入Normal APP 系統所在的分區。
雙系統的啟動選擇方式如圖2所示,Uboot 通過讀取 BootFlag Param 分區中的參數來選擇一個系統啟動。
■ OTA在線升級的全過程
系統OTA在線升級的整個流程如圖3所示,整個OTA在線升級并不神秘,但是步驟多且繁瑣,通過畫出流程,我們才能明確知道每一步到底做了什么。
小結
OTA升級并不是什么很難理解的技術,簡單任務是一項軟件或系統采用無線升級的技術即可,類似于我們很多智能手機應用均可通過無線網絡實現在線升級類似,飛凌嵌入式FETMX6Q-C核心板搭載的Android4.4.2系統支持OTA遠程升級,并支持了多種通訊接口,您可以自行體驗在線升級的過程。
-
嵌入式系統
+關注
關注
41文章
3567瀏覽量
129230 -
OTA
+關注
關注
7文章
568瀏覽量
35144 -
飛凌
+關注
關注
0文章
134瀏覽量
16097
發布評論請先 登錄
相關推薦
評論