“你的設(shè)備遠(yuǎn)程升級(jí)可以不再是升級(jí)整個(gè)固件。啟明提供了一套完整的差分升級(jí)算法,升級(jí)固件更小、下載速度更快、大大降低網(wǎng)絡(luò)不穩(wěn)定造成傳輸失敗概率,同時(shí)更節(jié)省內(nèi)存?!?/span>
眾所周知,傳統(tǒng)MCU升級(jí)方式通常需要物理接觸MCU,通過(guò)編程器、燒錄器或其他設(shè)備進(jìn)行升級(jí)操作。這種方式適用于研發(fā)設(shè)計(jì)階段對(duì)MCU進(jìn)行升級(jí)。一旦設(shè)備出廠(chǎng),大規(guī)?;蚍植际皆O(shè)備的升級(jí),則面臨著大量設(shè)備返廠(chǎng)、拆機(jī)、人工燒錄等難題,即費(fèi)錢(qián)又費(fèi)力。此時(shí)需要考慮其他方式,例如:無(wú)線(xiàn)升級(jí)(FOTA)。啟明差分升級(jí)方案,作為升級(jí)版FOTA,該方案選用樂(lè)鑫ESP32系列無(wú)線(xiàn)模組將差分?jǐn)?shù)據(jù)傳輸給MCU,然后在MCU上執(zhí)行升級(jí)操作,讓待升級(jí)的設(shè)備無(wú)需返廠(chǎng),設(shè)備即可遠(yuǎn)程獨(dú)自完成升級(jí),使整個(gè)OTA過(guò)程更高效、更便捷。
差分升級(jí),是利用算法做出原版APP和新版APP程序的差分包,將差分包下載到flash,內(nèi)部的BootLoader程序再利用算法將新版APP合成,合成后在搬運(yùn),搬運(yùn)后校驗(yàn),重啟的過(guò)程。
例如:固件從v1.0升級(jí)到v1.1,兩個(gè)固件相比只修改了1K的內(nèi)容,則將不同部分剝離出來(lái)生成差分包Diff_v1.0~v1.1,通過(guò)云端將差分包推送到設(shè)備端,設(shè)備端接收完成之后,先解壓差分包,再通過(guò)差分恢復(fù)算法,根據(jù)差分包中的數(shù)據(jù)標(biāo)志,將新老固件進(jìn)行融合,變成新的固件,從而完成升級(jí)。
差分升級(jí)的優(yōu)點(diǎn)是升級(jí)固件小、下載速度快,更加節(jié)省內(nèi)存空間
升級(jí)流程
BootLoader執(zhí)行的流程,如下圖所示,芯片上電或復(fù)位之后,開(kāi)始運(yùn)行BootLoader的代碼,之后檢測(cè)按鍵,按鍵作為升級(jí)的提示,如按鍵按下,準(zhǔn)備升級(jí),進(jìn)入接收固件狀態(tài),接收到固件,對(duì)固件進(jìn)行校驗(yàn),校驗(yàn)通過(guò)后,置位跳轉(zhuǎn)標(biāo)志位;校驗(yàn)未通過(guò),重新進(jìn)入接收固件狀態(tài)。檢測(cè)到跳轉(zhuǎn)標(biāo)志位之后,檢查應(yīng)用程序是否有效,有效進(jìn)入應(yīng)用程序運(yùn)行,無(wú)效進(jìn)入接收固件狀態(tài)。如果沒(méi)有按鍵按下,檢查是否有升級(jí)標(biāo)志,有則解析download區(qū)的新固件,通過(guò)解壓縮算法和解差分算法,修改覆蓋舊固件,設(shè)置跳轉(zhuǎn)標(biāo)志,檢查應(yīng)用程序是否有效,有效則運(yùn)行應(yīng)用程序。
差分升級(jí)Demo演示
啟明云端差分升級(jí)DEMO硬件選擇ESP32-C3開(kāi)發(fā)板&STM32L433-NUCELO開(kāi)發(fā)板&STM32L053-NUCLEO開(kāi)發(fā)板來(lái)搭建。DEMO演示視頻如下:
差分升級(jí)的優(yōu)勢(shì)
啟明云端差分升級(jí)引擎4.0
差分包最小僅為整包的1%
算法不斷優(yōu)化,差分包越來(lái)越小
差分包比整包升級(jí)時(shí)間節(jié)省約70%
WT—OTA 方案服務(wù)領(lǐng)域
智能汽車(chē):整車(chē)OTA升級(jí)系統(tǒng)解決方案、車(chē)載智能設(shè)備升級(jí)解決方案、智能座艙升級(jí)解決方案等。
智能家居:智能家電、智能廚衛(wèi)、網(wǎng)關(guān)、機(jī)頂盒、照明等。
智能穿戴:智能腕表、智能眼鏡、健康監(jiān)測(cè)等。
智能表記:NB-IoT水表、燃?xì)獗?、智能電表等?/p>
智能安防:煙霧報(bào)警、視頻監(jiān)控、水位感應(yīng)等。
共享設(shè)備:共享單車(chē)、共享充電寶、共享充電樁等。
機(jī)器人:教育機(jī)器人、商業(yè)服務(wù)機(jī)器人、工業(yè)機(jī)器人等。
M2M:2G/3G/4G模組wifi模組、Lora模組、NB-IoT模組等。
接入指南
-
mcu
+關(guān)注
關(guān)注
146文章
16898瀏覽量
349933 -
設(shè)備
+關(guān)注
關(guān)注
2文章
4456瀏覽量
70495
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論