適應性規劃、漸進式開發、早期交付、持續改進、靈活響應需求變化——所有這些敏捷實踐都被認為是現代軟件開發的標準。然而,連接設備的固件開發似乎停留在過去;必須遵循以設備運輸結束的瀑布模型。
不應該是這樣的。物聯網連接的新方法首次為邊緣原生開發帶來了敏捷性,包括在蜂窩連接設備上進行逐行調試的能力。
這是涵蓋基于微管理程序的新物聯網連接方法的系列文章中的第二篇。第一個可以在這里找到:在具有微管理程序架構的MCU上實現不可阻擋的遠程固件更新
物聯網中安全遠程實時調試的意義
物聯網設備突然變得無響應和斷開連接是任何嵌入式開發人員的噩夢場景。如果它只發生在一臺設備上,這是一個主要問題,特別是如果它影響客戶,但如果它影響物聯網設備隊列的一小部分,這可能是一場災難。
考慮一下如果軟件故障通過廣泛的設備測試程序,導致即使只有 10% 的已部署設備失去連接,后果也會很高 - 恢復成本將是巨大的。
不幸的是,此類事件確實會發生,盡管可以修復軟件錯誤,但此類問題的風險很大。
設備成為“磚塊”的妹妹是未按預期運行的設備。在連接設備的世界中,這曾經意味著收集歷史堆棧跟蹤和其他崩潰日志來分析可能發生的事情 - 但這種方法依賴于適當的代碼檢測。事后看來,程序員將無法檢查未記錄的條件或變量值。實時調試,即逐行單步執行代碼、設置斷點、檢查寄存器和變量值的能力,在邊緣原生開發中并不是一件事情。
實時遠程調試功能對于了解現場設備行為非常有用;但殺手锏的價值可能就在別的地方。實時調試與不可逾越的固件 OTA 更新相結合,為固件開發過程本身開辟了新的機會。它基本上允許將硬件制造過程與固件開發過程分離。由于能夠執行頻繁可靠的固件更新以及調試已經制造和部署的設備,產品公司甚至可以在固件經過完整測試之前生產設備。
所有這些都是通過基于微管理程序的物聯網連接方法實現的。
什么是微遮蔽器?
微管理程序是一種將虛擬機管理程序用于微控制器的物聯網方法,可在連接互聯網的設備上實現可靠和安全的遠程操作,例如故障安全的無線固件更新和實時調試。
在架構上,微管理程序利用微控制器內的硬件分離(例如意法半導體的STM32U585)在啟動時將其分為兩個部分,例如利用Arm? Trustzone?。
TrustZone 提供了一種經濟高效的方法來隔離系統中的安全關鍵組件,方法是將豐富的操作系統與更小、更安全的操作系統進行硬件分離。外設在啟動時分配給微管理程序區域或客戶應用程序區域,這兩個部分彼此獨立運行代碼。這允許完全的安全性,并且在應用程序區域運行的操作系統或編程語言方面完全不可知。
由于TrustZone拆分,微管理程序元件在同一MCU上“與”應用程序代碼一起運行,但具有不同的安全權限。Microvisor 在應用程序代碼空間周圍包裹了一層安全性和連接性。
基于微監控程序的物聯網平臺不會對操作系統或編程語言施加任何限制。它適用于嵌入式開發中的任何方法,無論是
定制的裸機方法
構建在“現成”操作系統之上,例如FreeRTOS或Azure RTOS(fka ThreadX)
使用您選擇的編程語言
基于微監控程序的架構允許的關鍵功能之一是無線 (OTA) 固件更新,但在某種程度上,在發生故障時無需在設備上使用 2 個版本的固件。另一個是實時調試。
微監控程序如何實現安全的遠程實時調試
借助位于 Arm TrustZone 分段處理器安全區域中的微管理程序,我們現在可以通過隧道傳輸加密命令和數據(在本例中為 GDB 調試協議),從本地開發 PC 或 Mac 一直傳輸到邊緣設備本身,無論它位于世界何處。使用 CLI 工具和相應的插件,開發人員可以在他們的開發計算機上運行本地 GDB 服務器,他們可以將其連接到自己的工具鏈/集成調試體驗,就像他們在辦公桌上本地調試的設備一樣。此本地服務器將通過相應的微監控程序云服務直接連接到要調試的邊緣設備。此連接可以通過蜂窩連接或通過Wi-Fi /以太網透明地路由到嵌入式設備。
這將打開所選調試器(命令行或基于 GUI)的所有功能,開發人員需要這些功能來找出其應用程序出了什么問題。安全的遠程調試鏈接是完全端到端加密的,并確保只有開發人員才能訪問其設備。最重要的是,訪問安全的遠程調試意味著可以在邊緣設備本身上物理禁用本地調試端口,從而使設備在現場更加安全。
無需本地訪問即可安全調試 IoT 設備的好處
能夠安全地遠程調試設備具有許多業務優勢:
節省成本:在現場查找和修復錯誤的成本大大降低。當客戶報告無法在實驗室中重現的問題時,固件工程師現在可以訪問現場遇到問題的實際設備,并準確查看出了什么問題。當不可避免的錯誤確實發生時,這可能會節省大量的時間和金錢。
功能開發敏捷性:此功能開辟了在該領域開發新功能的可能性。開發人員可以選擇在現實世界中部署開發設備,并使用此設備開發和測試其下一個功能,而不是花時間模擬現實世界來開發新產品功能。
維護效率:開發人員可以在現場產品問題發生時做出反應,將修復和升級作為其敏捷開發流程的常規部分。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19485瀏覽量
231501 -
嵌入式
+關注
關注
5096文章
19227瀏覽量
308658 -
物聯網
+關注
關注
2914文章
45052瀏覽量
378332
發布評論請先 登錄
相關推薦
基于ARM Cortex-M7的STM32H7微控制器正式量產
NuMicro M2351系列微控制器的安全特色與應用
STM32L5系列微控制器和TrustZone開發入門
通過架構改進提高微控制器處理效率

ARM Cortex-R52專屬汽車安全管理程序面世

安全微控制器用戶指南

Zynq通過 Xen 管理程序可實現快速的軟件集成和更高的系統安全性與保密性
在具有微管理程序架構的MCU上實現不可阻擋的遠程固件更新
微控制器實時操作系統實踐—實時系統介紹

具有連接管理器TRM的TMS320F2838x實時微控制器

評論