7月18-22日,STM32 線上技術周正式開講。作為ST在OTA領域的戰略合作夥伴,艾拉比亮相線上技術周,為觀衆展示如何零代碼實現ST MCU的差分升級,并現場基于ST MCU為大家帶來OpenFOTA的DEMO場景演示。
艾拉比物聯網解決方案專家鐘佳
今天我們就來聊聊基于MCU,如何零代碼實現OTA差分升級。
物聯網設備的OTA 在設計和實現過程中需要依賴于物聯網設備的硬件方案。 其中,MCU 作為主控處理器在物聯網領域占着非常高的份額,廣泛分布在智能家居、三表、工業等各個領域。
在 MCU 的 OTA 升級方式上,目前很大部分客戶實現方式依舊為整包升級,舉個例子,某客戶 MCU 的 Flash 配置為 64KB,自身 APP 固件為 50KB,此時如果需要實現 OTA 升級,大多客戶選擇的方案是:
1. 外挂一顆 64KB 或者 128KB 的 Flash2. 選擇一顆 128KB Flash 資源的 MCU
這種情況下的升級方案通常會增加額外的研發、物料以及管理成本,這又是一筆不小的費用支出。
在這裡我們不得不提的是差分升級。差分升級相較于傳統的的整包升級方式,有資源需求低、升級功耗低、升級時間短及下載流量少等諸多優勢,越來越多的成為物聯網升級的優選方案。
上述案例,如果通過差分 OTA 升級,則在 64KB Flash 的 MCU 上直接可以實現,再加入 5KB 左右的差分升級算法後,還能剩餘 9KB 左右空間來存儲幾 KB 的差分升級包,不增加硬件成本就可以實現 OTA 升級。
核心技術:差分升級差分升級又叫增量升級,顧名思義就是通過差分算法将源版本與目标版本之間差異的部分提取出來制作成差分包,然後在設備通過還原算法将差異部分在源版本上進行還原從而升級成目标版本的過程。
艾拉比差分包制作、還原過程
差分升級大多是通過在升級程序(Bootloader 為主)中增加差分升級算法來實現,算法需要占用一些本地 Flash 和 RAM 資源。
在過去幾年,比較主流的差分算法集成的方式是通過 SDK 的形式提供差分升級能力,客戶需要将差分升級 SDK 集成到設備 Bootloader 中,有一定的集成開發量。這種方式的好處是客戶可以自己根據 API 進行定制開發一些功能。
但是在整機OTA實施過程中還是會有很多問題,比如:
1、MCU 的碎片化導緻這種集成開發方式成本較高,适配和測試周期長
2、主控升級一旦失敗,整機就會變磚
3、模塊無法感知主控的升級狀态
4、芯片資源利用率不高,近場、遠場的等多場景需求不能融合
艾拉比基于大量 MCU系統集成的經驗和認識以及對 OTA 的理解推出一種更簡便,更易用的,相對标準化的優化方案。發現就模組側而言,其優秀的升級能力和相對富餘的硬件資源,相較于MCU端都更具優勢。因此艾拉比推出标準化的OTA差分升級方案——OpenFOTA,旨在通過硬件資源較豐富芯片的FOTA能力完成其他節點的差分升級,該方案設計了完善的異常保護機制。
艾拉比OpenFOTA整機級解決方案
在OpenFOTA方案之前,模組隻支持升級模組的應用 APP(FOTA),使用OpenFOTA之後的模組,則可以升級MCU 的應用 APP(FOTA),站在整機終端的角度可以分别稱之為整機固件升級(FOTA)與整機應用升級(SOTA),所以OpenFOTA方案相當于同時賦能了物聯網整機設備的FOTA升級能力與SOTA升級能力。
主控處理器MCU燒錄艾拉比ELB固件,該固件是圖形化配置生成,其中包含與模組進行OTA業務交互的UP程序以及 MCU的輕量級Bootloader引導程序和相關保護機制;
通信模組中已經預先集成了艾拉比的UA差分算法、UP程序、交互邏輯接口等;
OpenFOTA差分升級方案的關鍵能力和優勢
1、更符合整機終端的使用場景
OpenFOTA在廣和通模組内構建了完整的端、雲交互業務場景,也同時支持近場本地升級刷寫。
2、支持用戶自定義模組Flash區域
用戶可自定義該區域的使用,相當于增加了一個外挂Flash的資源供使用。
3、全面完善的升級保護機制和高可靠性
OpenFOTA自帶的斷電續升,安全鑒權等機制,更多維度,更省資源的情況下,保障了升級的可靠性和可用性,更是支持不消耗MCU資源的回滾升級。
4、MCU的差分OTA實現更強勁的差分升級能力
廣和通模組側集成了艾拉比最先進的差分升級算法,比MCU上的算法相對更高效,做出的差分包更小。
5、無需開發的整機OTA融合升級
既可以升級ST MCU 的應用 APP(整機SOTA),又可以升級廣和通模組的固件APP(整機FOTA)
目前艾拉比已經适配了 ST 主流的 MCU 型号。
方案應用:以ST MCU 廣和通通訊模塊為例
OpenFOTA 方案設備端構成如上圖所示,主控處理器ST MCU燒錄艾拉比ELB 固件,該固件是圖形化配置生成,其中包含與模組進行OTA業務交互的 UP 程序以及STMCU的輕量級Bootloader引導程序和相關保護機制,而在廣和通模組中已經預先集成了艾拉比的 UA差分算法、UP 程序、交互邏輯接口等。
終端客戶在使用的時候隻需要為選型的ST MCU燒錄ELB固件,然後搭配對應的廣和通模塊即可,幾乎不需要再為如何實現FOTA而煩惱,隻管驗證和使用。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!