隨著物聯(lián)網(wǎng)時(shí)代到來(lái),越來(lái)越多的智能設(shè)備擁有了在線升級(jí)的能力,無(wú)論是系統(tǒng)更新,產(chǎn)品功能迭代還是漏洞修復(fù)都能在第一時(shí)間抵達(dá)用戶手中的智能設(shè)備。
在線升級(jí)功能需要使用 OTA (Over-the-Air) 技術(shù) ,OTA 技術(shù)簡(jiǎn)單地說(shuō)就是通過(guò)網(wǎng)絡(luò)來(lái)升級(jí)手中的智能設(shè)備,進(jìn)而使用設(shè)備最新版本的功能。而 OTA 技術(shù)中必不可少的一環(huán)就是通過(guò) Bootloader 來(lái)管理、升級(jí)設(shè)備固件。
由于 OTA 功能由多種復(fù)雜技術(shù)組成,因此添加 OTA 功能有一定的技術(shù)門檻。很多開(kāi)發(fā)者遇到莫名其妙的問(wèn)題,進(jìn)而導(dǎo)致 OTA 升級(jí)失敗,常見(jiàn)問(wèn)題如下:
升級(jí)過(guò)程缺少專業(yè)的安全機(jī)制
APP 無(wú)法正常啟動(dòng)
程序莫名跑飛,出現(xiàn) hardfault
固件搬運(yùn)失敗
固件解密解壓錯(cuò)誤
升級(jí)不穩(wěn)定等
為了解決廣大開(kāi)發(fā)者在添加 OTA 功能時(shí)遇到的種種困難,RT-Thread 開(kāi)發(fā)團(tuán)隊(duì)?wèi){借在該領(lǐng)域深厚的技術(shù)積累,為開(kāi)發(fā)者提供了 STM32 系列的通用 Bootloader ,開(kāi)發(fā)者通過(guò)該 Bootloader 即可直接使用 RT-Thread OTA 功能。
通用 Bootloader 的功能特點(diǎn)
下圖展示了 RT-Thread 通用 Bootloader 的軟件框架:
RT-Thread 通用 Bootloader 有如下特點(diǎn):
以 bin 文件的形式提供,無(wú)需修改即可使用
資源占用小,ROM 最小只需要 16KB,最大 32KB
適用于多系列 STM32 芯片(目前支持 F1 和 F4 系列 )
支持各種 SPI Flash 存儲(chǔ)固件
支持固件加解密功能
支持多種固件壓縮方式
支持恢復(fù)出廠固件功能
以上功能均可自由配置
獲取方式及使用方法
在線生成 Bootloader
Bootloader 可以通過(guò)網(wǎng)頁(yè)端在線生成的方式來(lái)獲取。開(kāi)發(fā)者根據(jù)自己使用的芯片,填寫相關(guān)參數(shù),然后點(diǎn)擊生成按鈕,即可在線生成 Bootloader,在線獲取地址:http://iot.rt-thread.com。
Bootloader 生成頁(yè)面如下所示:
填寫板卡硬件配置
2. 配置分區(qū)表
3. 加密壓縮配置
4. 配置 logo 和郵箱
點(diǎn)擊生成按鈕即可獲取定制的 Bootloader。
制作 app 固件
可以通過(guò)閱讀文檔中心提供的 《STM32 通用 Bootloader 應(yīng)用筆記》(https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/)來(lái)詳細(xì)了解如何制作可以被用作升級(jí)的 app 固件。
開(kāi)始 OTA 升級(jí)
準(zhǔn)備好適合板卡使用的 BootLoader,然后制作好可以用作升級(jí)的 app 固件,就可以開(kāi)始體驗(yàn) OTA 升級(jí)功能了。下圖展示了 HTTP OTA 升級(jí)方式的過(guò)程:
-
STM32
+關(guān)注
關(guān)注
2266文章
10871瀏覽量
354825 -
OTA
+關(guān)注
關(guān)注
7文章
568瀏覽量
35144
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論