“人生苦短,我選Mbed。”這是嵌入式工程師曾經說的話。而在這兩天,Mbed出大新聞了。
近日,Arm官方宣布,Mbed 開發平臺和操作系統將于 2026 年 7 月起終止使用,屆時 Mbed 網站將被存檔,將無法再利用在線工具中構建項目。
?
Mbed 表示,Mbed OS 軟件是開源的,將保持公開可用,但 Arm 將不再積極維護。
?
同時,Mbed TLS 項目不受此公告的影響,并將繼續作為TrustedFirmware 社區項目的一部分受到支持。
Mbed 自 2009 年以來一直是一個非常受歡迎的項目,它幫助專業開發人員、教育用戶和創客社區在由 Mbed 合作伙伴和貢獻者開發的基于 Arm 的硬件上創建、保護、部署和更新數千個應用程序。自推出以來,嵌入式和物聯網開發已經發生了巨大的變化和擴展,在此發展過程中,Arm 對CMSIS 等行業標準以及一套用于專業和學術用途的嵌入式和物聯網開發工具進行了大量投資。
與此同時,Arm 支持的項目(如 micro:bit 、Arduino 和 Raspberry Pi )在教育環境和創客社區中發展勢頭強勁,使 Mbed 提供的許多功能變得更加普及和易于訪問,無論是基于瀏覽器的 IDE 和硬件抽象到代碼托管和遠程構建服務。我們相信,這些需求現在可以通過更廣泛的生態系統得到最好的滿足,而無需 Arm 的直接支持。
Arm 始終致力于投資物聯網開發,專注于我們認為將最有效地服務于行業和學術界的標準、工具和教育內容,因為我們將繼續支持每個人在 Arm 上構建計算的未來。
我們建議教育機構開始研究不再使用 Mbed 作為嵌入式開發教學平臺。Arm 教育團隊正在積極致力于為 2025 年秋季開始的新學期創建替代教學和學習解決方案。我們歡迎學術界對此提出反饋。聯系團隊:education@arm.com
不應使用 Mbed 啟動任何新的商業項目,任何現有的基于 Mbed 的商業項目都應開始研究替代框架。
對于免費使用的嵌入式開發環境,推薦 Arm Keil MDK v6 社區版,它可以與 CMSIS 標準和 CMSIS RTX RTOS 無縫協作:
Raspberry Pi Pico (多種編程抽象)
所有用戶開始將代碼和其他數據從 Mbed.com 遷移到其他平臺。Mbed 帳戶中有一個導出工具。
? 一些重要 的問題 ?
Arm 已停止對 Mbed OS 代碼庫的主動維護和 CI 。您不應期望在 2026 年 7 月之前看到任何修復或改進。2026 年 7 月之后,代碼庫將存檔在 GitHub 中。
Mbed TLS 項目不受此更改的影響。盡管它與 Mbed 同名,但 Mbed TLS 現在是 TrustedFirmware.org 的一部分。Mbed TLS 的開發照常進行,并像往常一樣提供功能發布(包括 LTS 版本)和支持的路線圖。
我在商業產品中使用了 Mbed OS 。我該怎么辦?
Mbed OS 使用條款不會改變,您可以繼續在現有的商業或非商業項目中使用 Mbed OS 。
操作系統棄用后,我還能構建我的 Mbed 項目嗎?
您將無法在 Keil Studio Cloud 或 Mbed Studio 中構建 Mbed 項目,但可以使用 Mbed CLI 通過 GCC 構建項目。截至目前,Arm 尚未提供對 Mbed OS 代碼庫的任何支持。這包括 Mbed CLI 。
? Mbed與RTOS的發展 ?
物聯網操作系統的概念,最先來自于無線傳感器操作系統,知名的有TinyOS 和Contiki ,Tiny OS 是專為嵌入式無線傳感網絡設計開發的開放源代碼操作系統,目標是低功耗無線設備。Contiki 是一個適用于有內存的嵌入式系統的開源的、高可移植的、支持網絡的多任務操作系統。與傳統的嵌入式設備相比,物聯網感知層的設備更小、功耗更低,而且需要較高的安全性和組網能力,物聯網通信層需要支持各種通信協議和協議之間的轉換,應用層則需要具備云計算能力。在軟件方面,支撐物聯網設備的軟件比傳統的嵌入式設備軟件更加復雜。于是就有了物聯網操作系統IoT OS 。說的簡單一些,IoT OS 就是具備物聯網需求的嵌入式操作系統。從2014 年至今,許多IoT 領域里的玩家都陸續推出了支持不同廠商的mcu 設備的IoT OS ,比如ARM mbed OS ,Windows 10 IoT Core ,Linux-Foundation Zephyr project 和Google OS Fuchsia 等。
mbed OS, 是ARM 推出針對給所有Cortex-M 設備使用的,一種專為物聯網 (IoT) 中的“物體”設計的開源嵌入式操作系統。mbed OS 屏蔽了不同mcu 廠商提供了微處理之間的差異(通過CortexM--CMSIS 框架),對于用戶來說,只需要和API 打交道即可,也就是說,用戶基于mbed 開發的應用可以很方便地更換使用不同廠商的arm 微處理器。當然,這里還是僅限于支持mbed 的處理器,也就是mbed enabled boards 。
ARM 為mbed OS 開發者提供一套基于云計算的在線網頁編譯工具,可以在Windows 、Linux 、Mac 等各種可以網頁瀏覽的設備上進行編程。所以不需要安裝調試工具,只要選好指定的開發板,就立即可以進行編程,編譯后直接生成一個bin 文件,直接燒寫到設備即可運行。
Mbed 的通用架構模型給嵌入式開發人員提供了極大的靈活性和可擴展性。舉例來說,該架構模型一般分為三個單獨的層:
Mbed OS API,用作中間件,提供存儲、 RTOS 、安全連接、通信堆棧等能力
高級物聯網層,包括開發人員的應用程序代碼、 Mbed OS 庫和連接客戶端。
上圖是mbed OS 的分層結構,我認為不必要過多的解讀它的結構,主要是我們可以看到mbed OS 所提供的具有物聯網需求的功能和協議,包括6LoWPAN ,Web 傳輸受限制的應用協議(CoAP) 和超文本傳輸協議 (HTTP) ,用于機器對機器 (M2M) 連接的消息隊列遙測傳輸 (MQTT) ,密碼協議傳輸層安全協議 (TLS) ,數據包傳輸層安全性協議 (DTLS) ,開放移動聯盟輕量級 M2M (OMALWM2M) 標準。開發人員的工作量將會大量減輕,從而可以專注于編寫尤其適用于 mbed OS 內核頂層的安全和通信協議的代碼。
初創階段: Mbed項目由 ARM 的兩位員工 Chris Styles 和 Simon Ford 在 ARM 公司內部啟動,最初是為了簡化基于 ARM Cortex-M 微控制器的嵌入式開發。
Mbed 1.0發布: 2009 年, Mbed 推出了第一個版本,提供一個在線編譯器和庫,支持 ARM Cortex-M 微控制器。這個版本簡化了嵌入式系統開發,吸引了大量開發者。
社區擴展: Mbed平臺開始吸引更多的開發者和公司加入,形成了一個活躍的開發者社區。
硬件支持增加:多個微控制器廠商如 NXP、 STMicroelectronics 和 Freescale (現為 NXP 的一部分)開始支持 Mbed ,提供更多兼容的開發板和模塊。
2015年: Mbed OS 和 Mbed Cloud 發布
Mbed OS 3.0發布: ARM 發布了 Mbed OS 3.0 ,這是一個更加綜合性的嵌入式操作系統,支持實時操作系統( RTOS )特性、安全性和聯網功能。
Mbed Cloud推出: ARM 推出了 Mbed Cloud ,一個針對物聯網設備管理的云平臺。 Mbed Cloud 提供了設備注冊、連接管理、固件更新和安全管理等功能,幫助企業更好地管理大規模物聯網設備。
Mbed OS 5.0發布: 2016 年發布了 Mbed OS 5.0 ,進一步增強了操作系統的功能,包括對物聯網協議(如 LoRa 、 Thread 、 BLE 等)的支持,改進的調試和開發工具。
增強安全性: Mbed OS增加了更多的安全特性,如對設備身份驗證和固件更新的支持,滿足物聯網設備的安全需求。
合作伙伴關系: ARM與多家芯片制造商和物聯網公司建立了合作伙伴關系,進一步擴展了 Mbed OS 的生態系統。
Mbed Studio: ARM 發布了 Mbed Studio ,這是一個桌面集成開發環境( IDE ),為開發者提供更強大的開發和調試工具。
Mbed Cloud重命名為 Pelion Device Management : Mbed Cloud 重命名為 Pelion Device Management ,并繼續擴展其功能,提供設備生命周期管理、數據管理和連接管理等服務。
Mbed OS 6.0發布: 2020 年, ARM 發布了 Mbed OS 6.0 ,這是一個主要版本更新,進一步提升了安全性、連接性和 RTOS 功能。 Mbed OS 6.0 引入了更嚴格的安全性特性、更好的電源管理、對更多協議的支持以及改進的開發工具。
安全性增強: Mbed OS 6引入了對安全啟動、加密和密鑰管理的增強支持,滿足物聯網設備日益增長的安全需求。
持續改進: Mbed OS不斷進行更新,增加新特性、改進性能和增強安全性。
邊緣計算與 AI: Mbed OS 開始支持更多的邊緣計算和人工智能功能,滿足日益增長的智能物聯網設備需求。
Pelion平臺發展: Pelion Device Management 繼續擴展其服務和功能,幫助企業更好地管理和利用其物聯網設備和數據。
正如前所述,包括 Arduino 、樹莓派以及 micro:bit 、 ESP32在內的各種開源開發平臺下,Mbed 并不受國內歡迎。
正如吳昊在《深入淺出物聯網操作系統 Mbed》一文中所述, Mbed 在國內應用比較少 , 其中主要幾個原因:其一, Mbed 主要推薦在線開發, 開發完成后下載編譯后固件并運行,這種模式存在幾種問題:無法在線調試硬件, 國內網絡環境無法訪問部分國外網站,在線開發不利于知識產權保護,并且 Mbed 導出本地工程也存在一些問題:其二,國內嵌入式開發以 Keil 為主,而 Keil 對 C++ 支持比較弱, gcc 主要以命令模式進行開發,使用比較不友好。
而在RTOS 方面, 目前市場上有十余種 RTOS,分別為 μClinux 、 μC/OS-II 、 eCos 、 FreeRTOS 、 mbed OS 、 RTX 、 Vxworks 、 QNX 、 NuttX ,國產的嵌入式操作系統包括都江堰操作系統 (djyos) 、 Alios Things 、 Huawei LiteOS 、 RT-Thread 、 SylixOS 等。
對于嵌入式系統而言,這種碎片化的場景也讓工程師在學習和開發中帶來了不小的阻隔。
? 總 結 ?
歸根結底, Arm 的主要收入來源是授權和技術許可,而不是硬件或開發工具,這與專注于開發者社區和市場推廣的其他平臺形成了對比。
實際上,在2020 年, Arm 就 剝離旗下物聯網服務業務( IoT Service Group ,簡稱 ISG ,包括 Pelion?IoT 平臺和 Treasure Data) 的計劃,其余業務也將轉移到由其母公司軟銀集團成立的新的實體 ,從而將更加專注于以 Cortex 為代表的芯片底層架構設計 。
如今放棄Mbed ,除了市場競爭激烈之外,同樣也是Arm 為聚焦主業所做的改變。 這次Arm宣布終止Mbed項目,你有受到影響嗎?歡迎進入下方鏈接跟帖討論: https://www.eeworld.com.cn/a1GS4W5 ARM?mbed OS 入門開發(一)介紹篇?深入淺出物聯網操作系統 ?Mbed 歡迎將我們設為“ 星標 ”,這樣才能第一時間收到推送消息。 掃碼關注:汽車開發圈,回復“Auto ”
領取Autosar架構、標準與體系、應用開發等方面免費資料包!