“人生苦短,我选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架构、标准与体系、应用开发等方面免费资料包!