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