OTA升级flash分区
什么是在線OTA升級(jí)
-???????? OTA是Over-the-Air的簡(jiǎn)寫,空中下載技術(shù)的意思。
-???????? OTA在線升級(jí)在日常消費(fèi)電子產(chǎn)品中很常見,比如手機(jī),機(jī)頂盒等,通過網(wǎng)絡(luò),下載升級(jí)數(shù)據(jù)包,更新操作系統(tǒng)等底層固件進(jìn)行系統(tǒng)更新升級(jí)。
-???????? 在線升級(jí)系統(tǒng)對(duì)于批量化消費(fèi)電子產(chǎn)品來說是相當(dāng)重要的。因?yàn)殇N售給客戶的電子產(chǎn)品,其中的軟件系統(tǒng)可能有潛在的bug或者功能為實(shí)現(xiàn)不齊全,需要在售后進(jìn)一步完善更新系統(tǒng)。一般都是通過網(wǎng)絡(luò)遠(yuǎn)程給用戶進(jìn)行系統(tǒng)更新。
可在線OTA升級(jí)的嵌入式系統(tǒng)Flash存儲(chǔ)區(qū)規(guī)劃
-???????? 要設(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)方案即可。
Figure 1帶有OTA升級(jí)功能的嵌入式系統(tǒng)Flash存儲(chǔ)器分區(qū)規(guī)劃
-???????? 在圖1的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可以用其它類型的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ù)包。
-???????? 用戶數(shù)據(jù)單獨(dú)設(shè)置一個(gè)分區(qū)存放,以保證OTA升級(jí)更新之后,用戶數(shù)據(jù)不會(huì)丟失。
嵌入式系統(tǒng)在線升級(jí)流程
1). Normal? APP系統(tǒng)與 Update 系統(tǒng)的啟動(dòng)選擇
- 帶有OTA升級(jí)的嵌入式系統(tǒng),一般都有兩個(gè)系統(tǒng),一般是通過啟動(dòng)Update 系統(tǒng),在運(yùn)行Update系統(tǒng)的應(yīng)用,擦出Normal? APP系統(tǒng)中的程序數(shù)據(jù),再將OTA下載的新系統(tǒng)數(shù)據(jù)解壓,重新寫入Normal APP 系統(tǒng)所在的分區(qū)。
-? 雙系統(tǒng)的啟動(dòng)選擇方式如圖2所示。
- Uboot 通過讀取 BootFlag Param 分區(qū)中的參數(shù)來選擇一個(gè)系統(tǒng)啟動(dòng)。
Figure 2 uboot 通過判斷boot flag param 分區(qū)中的參數(shù)選擇啟動(dòng)一個(gè)系統(tǒng)
2). OTA在線升級(jí)的全過程
- 系統(tǒng)OTA在線升級(jí)的整個(gè)流程如圖3所示。
- 整個(gè)OTA在線升級(jí)并不神秘,但是步驟還是多而繁瑣,通過畫出流程,我們才知道每一步到底做了什么。
Figure 3 系統(tǒng)OTA在線升級(jí)的整個(gè)流程
---------------------
作者:zhou_chenz
來源:CSDN
原文:https://blog.csdn.net/zhou_chenz/article/details/54917622
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!
總結(jié)
以上是生活随笔為你收集整理的OTA升级flash分区的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我和我的祖国啥时候播出
- 下一篇: gpio pin和pad的区别