0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在具有微管理程序架構的MCU上實現(xiàn)不可阻擋的遠程固件更新

星星科技指導員 ? 來源:embedded ? 作者:Jonathan Williams ? 2023-05-04 09:36 ? 次閱讀

多年來,微控制器一直是各種產品的主要產品,不斷革新其功能集、可靠性和性能。摩爾定律為最小和最實惠的消費類產品帶來了 16 位和 32 位處理。

更大的內存和CPU能力的存在允許使用實時操作系統(tǒng)(RTOS),而以前開發(fā)人員必須依賴“裸機”編碼。然而,隨著產品發(fā)展成為物聯(lián)網(wǎng)環(huán)境中的連接設備,它揭示了微控制器軟件開發(fā)傳統(tǒng)方法的根本缺陷。

本文是涵蓋有望緩解的新物聯(lián)網(wǎng)架構的系列文章中的第一篇:基于微管理程序的方法。

一致的設備可達性是物聯(lián)網(wǎng)項目的關鍵

未連接的產品可能包含 90% 的應用程序代碼和 10% 的第三方代碼(并且不需要持續(xù)維護,因為任何攻擊都需要物理訪問),但連接的產品通常是 20% 的應用程序代碼和 80% 的第三方代碼,所有這些都必須維護以保護用戶和制造商的聲譽。

集成和維護外部組件不僅會增加產品的生命周期成本,而且無法在市場上提供任何附加值或差異化,最終用戶看不到。這導致大量資源(無論是在時間和金錢方面)被浪費在為每個物聯(lián)網(wǎng)產品重新創(chuàng)建連接解決方案上,而不是專注于獨特的特性或功能。

此外,缺乏相關的領域知識以及復雜性、預算和時間表的壓力會導致潛在的安全問題,這些問題可能會在未來危及產品的安全性。為了減輕這些負擔,許多企業(yè)求助于物聯(lián)網(wǎng)平臺,正如Transforma Insights最近的一項調查所見 - 這是理所當然的。

幾個關鍵因素會影響任何物聯(lián)網(wǎng)項目的可行性,尤其是在工業(yè)領域:

一致的設備可訪問性:在連接的設備和云之間保持可靠且一致的通信

值得信賴的設備到云安全性:在硬件和應用程序級別維護連接設備的完整性和機密性

可預測的端到端成本:提前了解長期安全的成本

使用預構建平臺進行物聯(lián)網(wǎng)設備管理的便利性、安全性、OTA 固件更新功能和設備生命周期管理受到許多用戶的高度贊賞。但是,這些平臺在開發(fā)人員靈活性方面也可能受到很大限制,限制了編程語言、操作系統(tǒng)和開發(fā)工具的選擇。雖然這種級別的控制可能適合不熟悉硬件和固件工程的最終用戶,但對于希望將連接集成到現(xiàn)有設備中的經(jīng)驗豐富的開發(fā)人員來說,它可能是一個重大障礙。IDC的行業(yè)分析師Arnal Dayaratna在最近關于邊緣應用程序開發(fā)的市場報告中提出了這種開放性要求,他說:

“優(yōu)先考慮可移植性:邊緣開發(fā)要求數(shù)字解決方案從根本上具有可移植性并與多種基礎設施兼容。

物聯(lián)網(wǎng)平臺的微管理程序方法有望緩解。基于微管理程序架構的物聯(lián)網(wǎng)平臺可以提供上述遠程固件更新和遠程設備生命周期管理功能,但不強加供應商對操作系統(tǒng)或編程語言的選擇。此外,它可以提高安全性,并提供全新的物聯(lián)網(wǎng)功能,例如固件的實時逐行遠程調試。

什么是微遮蔽器?

微監(jiān)控程序是一種使用微控制器虛擬機管理程序的物聯(lián)網(wǎng)方法,可在連接互聯(lián)網(wǎng)的設備上實現(xiàn)可靠和安全的遠程操作,例如故障安全無線固件更新。

在架構上,微管理程序利用微控制器內的硬件分離(例如意法半導體STM32U585)在啟動時將其分為兩個部分,例如利用Arm? Trustzone?。

TrustZone 提供了一種經(jīng)濟高效的方法來隔離系統(tǒng)中的安全關鍵組件,方法是將豐富的操作系統(tǒng)與更小、更安全的操作系統(tǒng)進行硬件分離。外設在啟動時分配給微管理程序區(qū)域或客戶應用程序區(qū)域,這兩個部分彼此獨立運行代碼。這允許完全的安全性,并且在應用程序區(qū)域運行的操作系統(tǒng)或編程語言方面完全不可知。

由于TrustZone拆分,微管理程序元件在同一MCU上“與”應用程序代碼一起運行,但具有不同的安全權限。Microvisor 在應用程序代碼空間周圍包裹了一層安全性和連接性。

基于微監(jiān)控程序的物聯(lián)網(wǎng)平臺不會對必須使用的操作系統(tǒng)或語言施加任何限制。它適用于嵌入式開發(fā)中的任何方法,無論是

定制的裸機方法

構建在“現(xiàn)成”操作系統(tǒng)之上,例如FreeRTOS或Azure RTOS

使用您選擇的任何編程語言

基于微監(jiān)控程序的架構允許的關鍵功能之一是無線 (OTA) 固件更新,但在某種程度上,在發(fā)生故障時無需在設備上使用 2 個版本的固件。

保證固件更新的設備可用性

微管理程序架構中的職責分工確保了物聯(lián)網(wǎng)設備的可靠和一致的連接。微監(jiān)控程序負責維護 IP 堆棧,以及 Wi-Fi 和/或蜂窩調制解調器的固件和驅動程序。即您的設備連接并保持連接所需的一切。

這意味著,即使在發(fā)生意外的應用程序故障時,由于微管理程序組件保持連接和可訪問,設備仍保持連接和可訪問。這包括圖中突出顯示的所有組件。

連接的可靠性消除了設備“磚砌”的風險,為固件開發(fā)開辟了新的機會。這允許將硬件制造過程與固件開發(fā)過程分離。由于能夠執(zhí)行頻繁且可靠的固件更新,硬件制造商甚至可以在固件經(jīng)過完整測試之前生產設備。(然而,這種以前只在Web和云開發(fā)中看到的敏捷性是否會被設備制造商采用還有待觀察。

與任何FOTA(無線固件更新)方法一樣,節(jié)省帶寬至關重要,特別是對于產生數(shù)據(jù)使用成本的蜂窩連接設備。更新服務必須知道設備的當前操作清單,該清單定義了應存儲在每個定義的內存區(qū)域中的代碼/數(shù)據(jù) - 在片上閃存或 QSPI 閃存中。因此,當新包排隊等待FOTA時,只有不匹配的區(qū)域才會部署到設備中。

基于微監(jiān)控程序的方法也不例外,微監(jiān)控程序負責將更新從云應用到設備 QSPI 存儲中的暫存區(qū)域所需的數(shù)據(jù),并在其中保持加密狀態(tài)。一旦設備將應用程序的所有更改部分安全地存儲在暫存區(qū)域中,它將以故障安全和可重啟的方式應用升級,以確保從應用程序的角度來看,升級似乎是原子的。

可以在升級暫存過程中通知應用程序,因為它可能希望向最終用戶指示進度。暫存過程完成后,應用程序會收到通知,并可以選擇方便的時間執(zhí)行升級。如果需要,客戶可以在暫存后隨時強制應用升級;例如,如果舊代碼行為不佳,則可以使用此方法。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7400

    瀏覽量

    150699
  • 物聯(lián)網(wǎng)

    關注

    2900

    文章

    43846

    瀏覽量

    369454
  • OTA
    OTA
    +關注

    關注

    7

    文章

    561

    瀏覽量

    35073
收藏 人收藏

    評論

    相關推薦

    基于labview員工管理程序

    基于labview員工管理程序
    發(fā)表于 04-21 19:33

    管理程序選擇

    親愛的社區(qū),如果需要多個虛擬機(最多8個),每個虛擬機需要2Mb vGPU,我們希望聽到您對虛擬機管理程序選擇問題的看法。我正在對可用的虛擬機管理程序功能與網(wǎng)格配對進行一些探索,并發(fā)現(xiàn)WMware
    發(fā)表于 09-10 17:09

    VM虛擬機管理程序上的NVIDIA GRID vGPU有適當?shù)臏y試計劃來協(xié)助測試嗎?

    測試?有關此功能的進展的任何更新?我知道我可以特定卡使用passthrough用于各個GPU。我正在尋找KVM管理程序下的vGPU支持,與VMware和XenServer平臺可用的
    發(fā)表于 09-18 16:14

    請問stm32如何實現(xiàn)iap遠程固件更新?

    請問stm32如何實現(xiàn)iap遠程固件更新?
    發(fā)表于 11-26 06:29

    介紹下STM32遠程固件更新的方法

    經(jīng)常有項目要求固件遠程更新,通過串口、GPRS、4G等等方式。下面介紹下STM32遠程固件更新
    發(fā)表于 01-26 06:42

    如何使用NFC更新MCU固件?

    你好,我想使用 NFC 更新 MCU 固件。 我有一部 iphone,將創(chuàng)建一個應用程序或使用現(xiàn)有應用程序,以及使用 I2c 連接 stm3
    發(fā)表于 12-27 07:36

    ADAM設備管理程序DevMgr.exe安裝

    【LabVIEW從入門到精通】5.7.1.1 ADAM設備管理程序DevMgr.exe安裝
    發(fā)表于 01-08 15:50 ?0次下載

    板卡設備管理程序DevMgr.exe安裝

    【LabVIEW從入門到精通】6.4.2.2 板卡設備管理程序DevMgr.exe安裝
    發(fā)表于 01-08 15:52 ?0次下載

    Xen開源管理程序為 Zynq Ultrascale+ MPSoC 實現(xiàn)虛擬化

    Xilinx? 選擇聯(lián)盟高級會員 ?DornerWorks? ?Zynq MPSoC? 支持開源 ?Xen? 管理程序,從而可在 4? 核 ?ARM? Cortex?-A53?
    發(fā)表于 02-09 06:31 ?406次閱讀
    Xen開源<b class='flag-5'>管理程序</b>為 Zynq Ultrascale+ MPSoC <b class='flag-5'>實現(xiàn)</b>虛擬化

    基于Zynq UltraScale+ MPSoC運行 Xen 管理程序

    熟悉運行在賽靈思 Zynq UltraScale+ MPSoC 的 Xen 管理程序。 賽靈思和 DornerWorks 的系統(tǒng)軟件團隊賽靈思的 Zynq? Ultrascale+? MPSoC
    發(fā)表于 11-16 20:17 ?3437次閱讀
    基于Zynq UltraScale+ MPSoC<b class='flag-5'>上</b>運行 Xen <b class='flag-5'>管理程序</b>

    Zynq通過 Xen 管理程序實現(xiàn)快速的軟件集成和更高的系統(tǒng)安全性與保密性

    領域。DornerWorks 新型 Zynq? UltraScale+ MPSoC 器件提供 Xen 支持,為賽靈思用戶帶來多種優(yōu)勢。Xen Zynq 管理程序不僅實現(xiàn)快速的軟件集
    發(fā)表于 11-17 05:28 ?1391次閱讀

    賽靈思 Zynq UltraScale+ MPSoC 的 Xen 管理程序教程

    通過這篇有趣的教程,熟悉運行在賽靈思 Zynq UltraScale+ MPSoC 的 Xen 管理程序。 賽靈思和 DornerWorks 的系統(tǒng)軟件團隊賽靈思的 Zynq
    發(fā)表于 02-01 01:38 ?1293次閱讀

    AT32 MCU如何使用OTA通過USART實現(xiàn)固件的在線升級更新

    AT32 MCU如何使用OTA通過USART實現(xiàn)固件的在線升級更新
    的頭像 發(fā)表于 10-26 17:09 ?2318次閱讀
    AT32 <b class='flag-5'>MCU</b>如何使用OTA通過USART<b class='flag-5'>實現(xiàn)</b>對<b class='flag-5'>固件</b>的在線升級<b class='flag-5'>更新</b>

    AT32 MCU如何使用IAP通過USART實現(xiàn)固件的在線升級更新

    AT32 MCU如何使用IAP通過USART實現(xiàn)固件的在線升級更新
    的頭像 發(fā)表于 09-19 16:51 ?2117次閱讀
    AT32 <b class='flag-5'>MCU</b>如何使用IAP通過USART<b class='flag-5'>實現(xiàn)</b>對<b class='flag-5'>固件</b>的在線升級<b class='flag-5'>更新</b>

    MSP430 MCU的USB現(xiàn)場固件更新

    電子發(fā)燒友網(wǎng)站提供《MSP430 MCU的USB現(xiàn)場固件更新.pdf》資料免費下載
    發(fā)表于 10-18 09:27 ?0次下載
    MSP430 <b class='flag-5'>MCU</b><b class='flag-5'>上</b>的USB現(xiàn)場<b class='flag-5'>固件</b><b class='flag-5'>更新</b>