多年來,微控制器一直是各種產品的主要產品,不斷革新其功能集、可靠性和性能。摩爾定律為最小和最實惠的消費類產品帶來了 16 位和 32 位處理。
更大的內存和CPU能力的存在允許使用實時操作系統(RTOS),而以前開發人員必須依賴“裸機”編碼。然而,隨著產品發展成為物聯網環境中的連接設備,它揭示了微控制器軟件開發傳統方法的根本缺陷。
本文是涵蓋有望緩解的新物聯網架構的系列文章中的第一篇:基于微管理程序的方法。
一致的設備可達性是物聯網項目的關鍵
未連接的產品可能包含 90% 的應用程序代碼和 10% 的第三方代碼(并且不需要持續維護,因為任何攻擊都需要物理訪問),但連接的產品通常是 20% 的應用程序代碼和 80% 的第三方代碼,所有這些都必須維護以保護用戶和制造商的聲譽。
集成和維護外部組件不僅會增加產品的生命周期成本,而且無法在市場上提供任何附加值或差異化,最終用戶看不到。這導致大量資源(無論是在時間和金錢方面)被浪費在為每個物聯網產品重新創建連接解決方案上,而不是專注于獨特的特性或功能。
此外,缺乏相關的領域知識以及復雜性、預算和時間表的壓力會導致潛在的安全問題,這些問題可能會在未來危及產品的安全性。為了減輕這些負擔,許多企業求助于物聯網平臺,正如Transforma Insights最近的一項調查所見 - 這是理所當然的。
幾個關鍵因素會影響任何物聯網項目的可行性,尤其是在工業領域:
一致的設備可訪問性:在連接的設備和云之間保持可靠且一致的通信
值得信賴的設備到云安全性:在硬件和應用程序級別維護連接設備的完整性和機密性
可預測的端到端成本:提前了解長期安全的成本
使用預構建平臺進行物聯網設備管理的便利性、安全性、OTA 固件更新功能和設備生命周期管理受到許多用戶的高度贊賞。但是,這些平臺在開發人員靈活性方面也可能受到很大限制,限制了編程語言、操作系統和開發工具的選擇。雖然這種級別的控制可能適合不熟悉硬件和固件工程的最終用戶,但對于希望將連接集成到現有設備中的經驗豐富的開發人員來說,它可能是一個重大障礙。IDC的行業分析師Arnal Dayaratna在最近關于邊緣應用程序開發的市場報告中提出了這種開放性要求,他說:
“優先考慮可移植性:邊緣開發要求數字解決方案從根本上具有可移植性并與多種基礎設施兼容。
物聯網平臺的微管理程序方法有望緩解。基于微管理程序架構的物聯網平臺可以提供上述遠程固件更新和遠程設備生命周期管理功能,但不強加供應商對操作系統或編程語言的選擇。此外,它可以提高安全性,并提供全新的物聯網功能,例如固件的實時逐行遠程調試。
什么是微遮蔽器?
微監控程序是一種使用微控制器虛擬機管理程序的物聯網方法,可在連接互聯網的設備上實現可靠和安全的遠程操作,例如故障安全無線固件更新。
在架構上,微管理程序利用微控制器內的硬件分離(例如意法半導體的STM32U585)在啟動時將其分為兩個部分,例如利用Arm? Trustzone?。
TrustZone 提供了一種經濟高效的方法來隔離系統中的安全關鍵組件,方法是將豐富的操作系統與更小、更安全的操作系統進行硬件分離。外設在啟動時分配給微管理程序區域或客戶應用程序區域,這兩個部分彼此獨立運行代碼。這允許完全的安全性,并且在應用程序區域運行的操作系統或編程語言方面完全不可知。
由于TrustZone拆分,微管理程序元件在同一MCU上“與”應用程序代碼一起運行,但具有不同的安全權限。Microvisor 在應用程序代碼空間周圍包裹了一層安全性和連接性。
基于微監控程序的物聯網平臺不會對必須使用的操作系統或語言施加任何限制。它適用于嵌入式開發中的任何方法,無論是
定制的裸機方法
構建在“現成”操作系統之上,例如FreeRTOS或Azure RTOS
使用您選擇的任何編程語言
基于微監控程序的架構允許的關鍵功能之一是無線 (OTA) 固件更新,但在某種程度上,在發生故障時無需在設備上使用 2 個版本的固件。
保證固件更新的設備可用性
微管理程序架構中的職責分工確保了物聯網設備的可靠和一致的連接。微監控程序負責維護 IP 堆棧,以及 Wi-Fi 和/或蜂窩調制解調器的固件和驅動程序。即您的設備連接并保持連接所需的一切。
這意味著,即使在發生意外的應用程序故障時,由于微管理程序組件保持連接和可訪問,設備仍保持連接和可訪問。這包括圖中突出顯示的所有組件。
連接的可靠性消除了設備“磚砌”的風險,為固件開發開辟了新的機會。這允許將硬件制造過程與固件開發過程分離。由于能夠執行頻繁且可靠的固件更新,硬件制造商甚至可以在固件經過完整測試之前生產設備。(然而,這種以前只在Web和云開發中看到的敏捷性是否會被設備制造商采用還有待觀察。
與任何FOTA(無線固件更新)方法一樣,節省帶寬至關重要,特別是對于產生數據使用成本的蜂窩連接設備。更新服務必須知道設備的當前操作清單,該清單定義了應存儲在每個定義的內存區域中的代碼/數據 - 在片上閃存或 QSPI 閃存中。因此,當新包排隊等待FOTA時,只有不匹配的區域才會部署到設備中。
基于微監控程序的方法也不例外,微監控程序負責將更新從云應用到設備 QSPI 存儲中的暫存區域所需的數據,并在其中保持加密狀態。一旦設備將應用程序的所有更改部分安全地存儲在暫存區域中,它將以故障安全和可重啟的方式應用升級,以確保從應用程序的角度來看,升級似乎是原子的。
可以在升級暫存過程中通知應用程序,因為它可能希望向最終用戶指示進度。暫存過程完成后,應用程序會收到通知,并可以選擇方便的時間執行升級。如果需要,客戶可以在暫存后隨時強制應用升級;例如,如果舊代碼行為不佳,則可以使用此方法。
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7489瀏覽量
151049 -
物聯網
+關注
關注
2903文章
44275瀏覽量
371266 -
OTA
+關注
關注
7文章
568瀏覽量
35144
發布評論請先 登錄
相關推薦
評論