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

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

安全微控制器用戶指南

Zynq通過 Xen 管理程序可實(shí)現(xiàn)快速的軟件集成和更高的系統(tǒng)安全性與保密性
什么是微控制器?如何編程微控制器?
如何實(shí)現(xiàn)SDRAM存儲器并通過接口連接到高性能微控制器

在具有微管理程序架構(gòu)的MCU上實(shí)現(xiàn)不可阻擋的遠(yuǎn)程固件更新
將Keil μVision調(diào)試器與DS52x0安全微控制器配合使用

微控制器實(shí)時(shí)操作系統(tǒng)實(shí)踐—實(shí)時(shí)系統(tǒng)介紹

具有連接管理器TRM的TMS320F2838x實(shí)時(shí)微控制器

評論