

下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 STM32OTA 的實現(xiàn)法和原理OTA簡介:OTA的全稱是Over-The-Air,在嵌式系統(tǒng)中指對某個嵌式系統(tǒng)的軟件在線升級。就MCU系統(tǒng)來說,是針對整個MCU的Firmware進(jìn)在線更新,所以也稱之為FOTA。也有種叫法是DFU,即Device firmware upgrade。都是相同的意思,這統(tǒng)使OTA表達(dá)。通MCU般是沒有線功能的,所以對MCU的OTA般于雙芯實現(xiàn)的系統(tǒng),線芯接收MCU的ota件,通過串或USB傳給MCU,實現(xiàn)MCU的ota功能。獨(dú)的引導(dǎo)加載程序(Standlone Bootloader):獨(dú)引導(dǎo)加載程序是使外部通信接(UART/USB)獲取應(yīng)程序件。固件更新是個單
2、階段過程,將應(yīng)程序件分批直接寫閃存,覆蓋現(xiàn)有的應(yīng)程序,需應(yīng)程序本的參與。獨(dú)引導(dǎo)加載程序和在閃存中運(yùn)的應(yīng)程序之間乎沒有交互。引導(dǎo)加載程序運(yùn)后,通過物理連接(UART/USB)接收包含新固件的固件更新數(shù)據(jù)包。當(dāng)固件更新過程啟動時,新代碼會覆蓋現(xiàn)有的堆棧和應(yīng)程序代碼。如果在此過程中發(fā)任何錯誤,則應(yīng)程序?qū)⒎ɑ謴?fù),必須重新開始該過程。應(yīng)引導(dǎo)加載程序(Application Bootloader):應(yīng)引導(dǎo)加載程序在運(yùn)的應(yīng)程序完全下載更新映像件后才會開始固件更新過程。 應(yīng)引導(dǎo)加載程序期望鏡像位于引導(dǎo)加載程序可訪問的外部存儲器中或主閃存的中。應(yīng)引導(dǎo)加載程序依靠應(yīng)程序來獲取新的固件鏡像。 應(yīng)程序可以通過通信接(
3、UART/USB)下載此鏡像,并將其存儲在稱為下載空間的區(qū)域(OTA storage)。 當(dāng)新鏡像下載完畢并存儲后,將調(diào)應(yīng)引導(dǎo)加載程序以驗證新映像并將其從下載空間復(fù)制到應(yīng)程序的閃存地址(Application)。軟件實現(xiàn)法:獨(dú)的引導(dǎo)加載程序較多使xmodem協(xié)議。線模塊和MCU都遵守xmodem協(xié)議(128 byte one time),線模塊遵循xmodem協(xié)議通過串傳輸鏡像件,MCU構(gòu)建個持xmodem協(xié)議的bootloader,將收到的鏡像件寫到相應(yīng)的flash地址。 在Bootloader中獲取固件不需要存儲升級固件固件下載過程中,設(shè)備沒有功能Bootloader接收到升級固件后直接覆
4、蓋掉現(xiàn)有應(yīng)程序應(yīng)引導(dǎo)加載程序般要把MCU需要將Flash劃分為3部分:Bootloader, Application, OTA storage。應(yīng)程序從通信接(UART/USB)接收線模塊發(fā)來的數(shù)據(jù),每接收包就放在存儲區(qū)(OTA storage),當(dāng)所有數(shù)據(jù)收完了應(yīng)軟件就重啟,運(yùn)權(quán)交給bootloader,bootloader把存儲的軟件寫到應(yīng)軟件區(qū),并跳轉(zhuǎn)到應(yīng)軟件運(yùn)。在應(yīng)程序中或缺升級固件升級固件存儲在內(nèi)部flash中升級前可以校驗升級固件的完整性和安全性Bootloader從內(nèi)部閃存中讀取升級固件固件下載過程中,設(shè)備功能正常運(yùn)MCU較常的ota式為Application bootloade
5、rApplication Bootloader軟件運(yùn)流程:no是否有升級程序?yes拷貝OTA file到Application區(qū)跳轉(zhuǎn)到應(yīng)程序(Application)Application Bootloader核參考代碼: uint32_t offset;/1024 is the flash page size value, should change according with spicific chip typeoffset = t * 1024;if(Write_Flash(obj + offset,value,1024) = ERROR)Read_Flash(unsigned ch
6、ar *)&OTA_status_flag,OTA_FLAG_ADDR,4);if(OTA_status_flag = FIREWARE_UPDATE_FLAG)if(update_firmware() != SUCCESS)Reset();while(1) #define OFFSET_APPLICATION#define OFFSET_OTA_STORAGE#define FIREWARE_SPECIAL_FLAGif(ota_Finish_Flag)Reset();addr = OFFSET_OTA_STORAGE;if(Write_Flash(addr + position,(unsigned char *)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微生物檢測技術(shù)的倫理問題探討試題及答案
- 硅冶煉在太陽能熱利用的潛力考核試卷
- 2024年微生物檢測技術(shù)的整合試題及答案
- 2025年銀行從業(yè)資格證考試關(guān)鍵策略試題及答案
- 類似品密封材料的耐磨損機(jī)理研究考核試卷
- 2024年項目管理考點(diǎn)理解試題及答案
- 全景回顧特許金融分析師考試試題及答案
- 電視機(jī)智能傳感技術(shù)與運(yùn)動追蹤考核試卷
- 項目管理專業(yè)人士的考試思路試題及答案
- 磷肥生產(chǎn)設(shè)備操作與維護(hù)考核卷考核試卷
- (二模)2025年深圳市高三年級第二次調(diào)研考試物理試卷(含標(biāo)準(zhǔn)答案)
- 2025年注冊會計師(專業(yè)階段)題庫完美版帶答案分析
- 專利代理師考試題庫含答案2024
- 湖北省武漢市2025屆高中畢業(yè)生四月調(diào)研考試物理試題及答案(武漢四調(diào))
- 云南師大附中2025屆高三下學(xué)期第六次檢測物理試卷含解析
- 市政排水移交協(xié)議書
- 廣西壯族自治區(qū)馬山縣實驗高中-雙休背后:從“要我學(xué)”到“我要學(xué)”的轉(zhuǎn)變-高三家長會【課件】
- 中職世界歷史試題及答案
- 糖尿病護(hù)理查房提出問題
- T-ZMDS 10019-2024 經(jīng)顱電刺激儀基本技術(shù)規(guī)范
- 人教版六年級下冊科學(xué)全冊教案
評論
0/150
提交評論