多年來,微控制器一直是各種產(chǎn)品的主要產(chǎn)品,不斷革新其功能集、可靠性和性能。摩爾定律為最小和最實(shí)惠的消費(fèi)類產(chǎn)品帶來了 16 位和 32 位處理。
更大的內(nèi)存和CPU能力的存在允許使用實(shí)時(shí)操作系統(tǒng)(RTOS),而以前開發(fā)人員必須依賴“裸機(jī)”編碼。然而,隨著產(chǎn)品發(fā)展成為物聯(lián)網(wǎng)環(huán)境中的連接設(shè)備,它揭示了微控制器軟件開發(fā)傳統(tǒng)方法的根本缺陷。
本文是涵蓋有望緩解的新物聯(lián)網(wǎng)架構(gòu)的系列文章中的第一篇:基于微管理程序的方法。
一致的設(shè)備可達(dá)性是物聯(lián)網(wǎng)項(xiàng)目的關(guān)鍵
未連接的產(chǎn)品可能包含 90% 的應(yīng)用程序代碼和 10% 的第三方代碼(并且不需要持續(xù)維護(hù),因?yàn)槿魏喂舳夹枰锢碓L問),但連接的產(chǎn)品通常是 20% 的應(yīng)用程序代碼和 80% 的第三方代碼,所有這些都必須維護(hù)以保護(hù)用戶和制造商的聲譽(yù)。
集成和維護(hù)外部組件不僅會(huì)增加產(chǎn)品的生命周期成本,而且無法在市場(chǎng)上提供任何附加值或差異化,最終用戶看不到。這導(dǎo)致大量資源(無論是在時(shí)間和金錢方面)被浪費(fèi)在為每個(gè)物聯(lián)網(wǎng)產(chǎn)品重新創(chuàng)建連接解決方案上,而不是專注于獨(dú)特的特性或功能。
此外,缺乏相關(guān)的領(lǐng)域知識(shí)以及復(fù)雜性、預(yù)算和時(shí)間表的壓力會(huì)導(dǎo)致潛在的安全問題,這些問題可能會(huì)在未來危及產(chǎn)品的安全性。為了減輕這些負(fù)擔(dān),許多企業(yè)求助于物聯(lián)網(wǎng)平臺(tái),正如Transforma Insights最近的一項(xiàng)調(diào)查所見 - 這是理所當(dāng)然的。
幾個(gè)關(guān)鍵因素會(huì)影響任何物聯(lián)網(wǎng)項(xiàng)目的可行性,尤其是在工業(yè)領(lǐng)域:
一致的設(shè)備可訪問性:在連接的設(shè)備和云之間保持可靠且一致的通信
值得信賴的設(shè)備到云安全性:在硬件和應(yīng)用程序級(jí)別維護(hù)連接設(shè)備的完整性和機(jī)密性
可預(yù)測(cè)的端到端成本:提前了解長(zhǎng)期安全的成本
使用預(yù)構(gòu)建平臺(tái)進(jìn)行物聯(lián)網(wǎng)設(shè)備管理的便利性、安全性、OTA 固件更新功能和設(shè)備生命周期管理受到許多用戶的高度贊賞。但是,這些平臺(tái)在開發(fā)人員靈活性方面也可能受到很大限制,限制了編程語言、操作系統(tǒng)和開發(fā)工具的選擇。雖然這種級(jí)別的控制可能適合不熟悉硬件和固件工程的最終用戶,但對(duì)于希望將連接集成到現(xiàn)有設(shè)備中的經(jīng)驗(yàn)豐富的開發(fā)人員來說,它可能是一個(gè)重大障礙。IDC的行業(yè)分析師Arnal Dayaratna在最近關(guān)于邊緣應(yīng)用程序開發(fā)的市場(chǎng)報(bào)告中提出了這種開放性要求,他說:
“優(yōu)先考慮可移植性:邊緣開發(fā)要求數(shù)字解決方案從根本上具有可移植性并與多種基礎(chǔ)設(shè)施兼容。
物聯(lián)網(wǎng)平臺(tái)的微管理程序方法有望緩解?;谖⒐芾沓绦蚣軜?gòu)的物聯(lián)網(wǎng)平臺(tái)可以提供上述遠(yuǎn)程固件更新和遠(yuǎn)程設(shè)備生命周期管理功能,但不強(qiáng)加供應(yīng)商對(duì)操作系統(tǒng)或編程語言的選擇。此外,它可以提高安全性,并提供全新的物聯(lián)網(wǎng)功能,例如固件的實(shí)時(shí)逐行遠(yuǎn)程調(diào)試。
什么是微遮蔽器?
微監(jiān)控程序是一種使用微控制器虛擬機(jī)管理程序的物聯(lián)網(wǎng)方法,可在連接互聯(lián)網(wǎng)的設(shè)備上實(shí)現(xiàn)可靠和安全的遠(yuǎn)程操作,例如故障安全無線固件更新。
在架構(gòu)上,微管理程序利用微控制器內(nèi)的硬件分離(例如意法半導(dǎo)體的STM32U585)在啟動(dòng)時(shí)將其分為兩個(gè)部分,例如利用Arm? Trustzone?。
TrustZone 提供了一種經(jīng)濟(jì)高效的方法來隔離系統(tǒng)中的安全關(guān)鍵組件,方法是將豐富的操作系統(tǒng)與更小、更安全的操作系統(tǒng)進(jìn)行硬件分離。外設(shè)在啟動(dòng)時(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ái)不會(huì)對(duì)必須使用的操作系統(tǒng)或語言施加任何限制。它適用于嵌入式開發(fā)中的任何方法,無論是
定制的裸機(jī)方法
構(gòu)建在“現(xiàn)成”操作系統(tǒng)之上,例如FreeRTOS或Azure RTOS
使用您選擇的任何編程語言
基于微監(jiān)控程序的架構(gòu)允許的關(guān)鍵功能之一是無線 (OTA) 固件更新,但在某種程度上,在發(fā)生故障時(shí)無需在設(shè)備上使用 2 個(gè)版本的固件。
保證固件更新的設(shè)備可用性
微管理程序架構(gòu)中的職責(zé)分工確保了物聯(lián)網(wǎng)設(shè)備的可靠和一致的連接。微監(jiān)控程序負(fù)責(zé)維護(hù) IP 堆棧,以及 Wi-Fi 和/或蜂窩調(diào)制解調(diào)器的固件和驅(qū)動(dòng)程序。即您的設(shè)備連接并保持連接所需的一切。
這意味著,即使在發(fā)生意外的應(yīng)用程序故障時(shí),由于微管理程序組件保持連接和可訪問,設(shè)備仍保持連接和可訪問。這包括圖中突出顯示的所有組件。
連接的可靠性消除了設(shè)備“磚砌”的風(fēng)險(xiǎn),為固件開發(fā)開辟了新的機(jī)會(huì)。這允許將硬件制造過程與固件開發(fā)過程分離。由于能夠執(zhí)行頻繁且可靠的固件更新,硬件制造商甚至可以在固件經(jīng)過完整測(cè)試之前生產(chǎn)設(shè)備。(然而,這種以前只在Web和云開發(fā)中看到的敏捷性是否會(huì)被設(shè)備制造商采用還有待觀察。
與任何FOTA(無線固件更新)方法一樣,節(jié)省帶寬至關(guān)重要,特別是對(duì)于產(chǎn)生數(shù)據(jù)使用成本的蜂窩連接設(shè)備。更新服務(wù)必須知道設(shè)備的當(dāng)前操作清單,該清單定義了應(yīng)存儲(chǔ)在每個(gè)定義的內(nèi)存區(qū)域中的代碼/數(shù)據(jù) - 在片上閃存或 QSPI 閃存中。因此,當(dāng)新包排隊(duì)等待FOTA時(shí),只有不匹配的區(qū)域才會(huì)部署到設(shè)備中。
基于微監(jiān)控程序的方法也不例外,微監(jiān)控程序負(fù)責(zé)將更新從云應(yīng)用到設(shè)備 QSPI 存儲(chǔ)中的暫存區(qū)域所需的數(shù)據(jù),并在其中保持加密狀態(tài)。一旦設(shè)備將應(yīng)用程序的所有更改部分安全地存儲(chǔ)在暫存區(qū)域中,它將以故障安全和可重啟的方式應(yīng)用升級(jí),以確保從應(yīng)用程序的角度來看,升級(jí)似乎是原子的。
可以在升級(jí)暫存過程中通知應(yīng)用程序,因?yàn)樗赡芟M蜃罱K用戶指示進(jìn)度。暫存過程完成后,應(yīng)用程序會(huì)收到通知,并可以選擇方便的時(shí)間執(zhí)行升級(jí)。如果需要,客戶可以在暫存后隨時(shí)強(qiáng)制應(yīng)用升級(jí);例如,如果舊代碼行為不佳,則可以使用此方法。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7946瀏覽量
154800 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2930文章
46201瀏覽量
391942 -
OTA
+關(guān)注
關(guān)注
7文章
611瀏覽量
36540
發(fā)布評(píng)論請(qǐng)先 登錄
管理程序選擇
VM虛擬機(jī)管理程序上的NVIDIA GRID vGPU有適當(dāng)?shù)臏y(cè)試計(jì)劃來協(xié)助測(cè)試嗎?
請(qǐng)問stm32如何實(shí)現(xiàn)iap遠(yuǎn)程固件更新?
介紹下STM32遠(yuǎn)程固件更新的方法
如何使用NFC更新MCU固件?
ADAM設(shè)備管理程序DevMgr.exe安裝
板卡設(shè)備管理程序DevMgr.exe安裝
Xen開源管理程序為 Zynq Ultrascale+ MPSoC 實(shí)現(xiàn)虛擬化

基于Zynq UltraScale+ MPSoC上運(yùn)行 Xen 管理程序

Zynq通過 Xen 管理程序可實(shí)現(xiàn)快速的軟件集成和更高的系統(tǒng)安全性與保密性
賽靈思 Zynq UltraScale+ MPSoC 上的 Xen 管理程序教程
AT32 MCU如何使用OTA通過USART實(shí)現(xiàn)對(duì)固件的在線升級(jí)更新

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

MSP430 MCU上的USB現(xiàn)場(chǎng)固件更新

評(píng)論