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