知名嵌入式操作系统Mbed OS宣布停止更新!

关注+星标公众,不错过精彩内容

4a5607a727f0a118ada2f9365aabdbf5.gif

转子 | 电子工程世界

“人生苦短,我选Mbed。”这是嵌入式工程师曾经说的话。而就在前几天天,Mbed出大新闻了。

近日,Arm官方宣布,Mbed 开发平台和操作系统将于 2026 年 7 月起终止使用,届时 Mbed 网站将被存档,将无法再利用在线工具中构建项目。

Mbed表示,Mbed OS软件是开源的,将保持公开可用,但 Arm将不再积极维护。

同时,Mbed TLS 项目不受此公告的影响,并将继续作为TrustedFirmware社区项目的一部分受到支持。

4a690a81187ec0a38a952e9aae7c3ed6.png

os.mbed.com中的原文如此表示:

Mbed 自 2009 年以来一直是一个非常受欢迎的项目,它帮助专业开发人员、教育用户和创客社区在由 Mbed 合作伙伴和贡献者开发的基于 Arm 的硬件上创建、保护、部署和更新数千个应用程序。自推出以来,嵌入式和物联网开发已经发生了巨大的变化和扩展,在此发展过程中,Arm 对CMSIS等行业标准以及一套用于专业和学术用途的嵌入式和物联网开发工具进行了大量投资。

与此同时,Arm 支持的项目(如 micro:bit、Arduino 和 Raspberry Pi)在教育环境和创客社区中发展势头强劲,使 Mbed 提供的许多功能变得更加普及和易于访问,无论是基于浏览器的 IDE 和硬件抽象到代码托管和远程构建服务。我们相信,这些需求现在可以通过更广泛的生态系统得到最好的满足,而无需 Arm 的直接支持。

Arm 始终致力于投资物联网开发,专注于我们认为将最有效地服务于行业和学术界的标准、工具和教育内容,因为我们将继续支持每个人在 Arm 上构建计算的未来。

Mbed也对用户提供了如下建议:

我们建议教育机构开始研究不再使用 Mbed 作为嵌入式开发教学平台。Arm 教育团队正在积极致力于为 2025 年秋季开始的新学期创建替代教学和学习解决方案。我们欢迎学术界对此提出反馈。联系团队:education@arm.com

不应使用 Mbed 启动任何新的商业项目,任何现有的基于 Mbed 的商业项目都应开始研究替代框架。

可替代的建议:

对于免费使用的嵌入式开发环境,推荐 Arm Keil MDK v6 社区版,它可以与 CMSIS 标准和 CMSIS RTX RTOS 无缝协作:

为了快速制作原型和教育目的,建议如下开发平台:

  • Arduino(基于 C/C++)

  • micro:bit(多重编程抽象)

  • Raspberry Pi Pico (多种编程抽象)

对于替代的 RTOS,建议:

  • CMSIS RTX

  • FreeRTOS

  • Zephyr

对于嵌入式Linux项目,建议:

  • Yocto

  • Raspberry Pi

所有用户开始将代码和其他数据从 Mbed.com 迁移到其他平台。Mbed 帐户中有一个导出工具。

c87d67992f5994828bc93aa11bbb6155.png 一些重要的问题 75c61596542dc8fbae50cf3c77727298.png

Mbed OS 代码库会发生什么?

Arm 已停止对 Mbed OS 代码库的主动维护和 CI。您不应期望在 2026 年 7 月之前看到任何修复或改进。2026 年 7 月之后,代码库将存档在 GitHub 中。

Mbed TLS 会发生改变吗?

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。

6b0d057b8cffac3994d5badb52965152.png Mbed与RTOS的发展 3fda9aba243ca5c77241d4f58d567396.png

物联网操作系统的概念,最先来自于无线传感器操作系统,知名的有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等。

40b707bfdf05ac431a8276cfe7479936.png

mbed OS, 是ARM推出针对给所有Cortex-M设备使用的,一种专为物联网 (IoT) 中的“物体”设计的开源嵌入式操作系统。mbed OS屏蔽了不同mcu厂商提供了微处理之间的差异(通过CortexM--CMSIS框架),对于用户来说,只需要和API打交道即可,也就是说,用户基于mbed开发的应用可以很方便地更换使用不同厂商的arm微处理器。当然,这里还是仅限于支持mbed的处理器,也就是mbed enabled boards。

b086b1600916882beddc4b6750c6024f.png

Mbed OS 6

mbed 提供的在线开发工具online IDE

ARM为mbed OS开发者提供一套基于云计算的在线网页编译工具,可以在Windows、Linux、Mac等各种可以网页浏览的设备上进行编程。所以不需要安装调试工具,只要选好指定的开发板,就立即可以进行编程,编译后直接生成一个bin文件,直接烧写到设备即可运行。

8b9d336a75611661e6ffe295b5557c29.png

mbed OS分层结构

Mbed 的通用架构模型给嵌入式开发人员提供了极大的灵活性和可扩展性。举例来说,该架构模型一般分为三个单独的层:

低级硬件抽象层 (HAL)

Mbed OS API,用作中间件,提供存储、RTOS、安全连接、通信堆栈等能力

高级物联网层,包括开发人员的应用程序代码、Mbed OS 库和连接客户端。

35e9bdeba8848ca36bc4c07d0fa78449.png

上图是mbed OS的分层结构,我认为不必要过多的解读它的结构,主要是我们可以看到mbed OS所提供的具有物联网需求的功能和协议,包括6LoWPAN,Web 传输受限制的应用协议(CoAP) 和超文本传输协议 (HTTP),用于机器对机器 (M2M) 连接的消息队列遥测传输 (MQTT),密码协议传输层安全协议 (TLS) ,数据包传输层安全性协议 (DTLS),开放移动联盟轻量级 M2M (OMALWM2M) 标准。开发人员的工作量将会大量减轻,从而可以专注于编写尤其适用于 mbed OS 内核顶层的安全和通信协议的代码。

Mbed OS的发展历史

  • 2006年:创立

初创阶段:Mbed项目由ARM的两位员工Chris Styles和Simon Ford在ARM公司内部启动,最初是为了简化基于ARM Cortex-M微控制器的嵌入式开发。

  • 2009年:首次发布

Mbed 1.0发布:2009年,Mbed推出了第一个版本,提供一个在线编译器和库,支持ARM Cortex-M微控制器。这个版本简化了嵌入式系统开发,吸引了大量开发者。

  • 2010-2014年:社区和生态系统发展

社区扩展: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提供了设备注册、连接管理、固件更新和安全管理等功能,帮助企业更好地管理大规模物联网设备。

  • 2016-2017年:功能扩展与稳定化

Mbed OS 5.0发布:2016年发布了Mbed OS 5.0,进一步增强了操作系统的功能,包括对物联网协议(如LoRa、Thread、BLE等)的支持,改进的调试和开发工具。

增强安全性:Mbed OS增加了更多的安全特性,如对设备身份验证和固件更新的支持,满足物联网设备的安全需求。

  • 2018-2020年:合作与生态系统深化

合作伙伴关系:ARM与多家芯片制造商和物联网公司建立了合作伙伴关系,进一步扩展了Mbed OS的生态系统。

Mbed Studio:ARM发布了Mbed Studio,这是一个桌面集成开发环境(IDE),为开发者提供更强大的开发和调试工具。

Mbed Cloud重命名为Pelion Device Management:Mbed Cloud重命名为Pelion Device Management,并继续扩展其功能,提供设备生命周期管理、数据管理和连接管理等服务。

  • 2020年:Mbed OS 6发布

Mbed OS 6.0发布:2020年,ARM发布了Mbed OS 6.0,这是一个主要版本更新,进一步提升了安全性、连接性和RTOS功能。Mbed OS 6.0引入了更严格的安全性特性、更好的电源管理、对更多协议的支持以及改进的开发工具。

安全性增强:Mbed OS 6引入了对安全启动、加密和密钥管理的增强支持,满足物联网设备日益增长的安全需求。

  • 2021年至今:持续发展

持续改进: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等。

对于嵌入式系统而言,这种碎片化的场景也让工程师在学习和开发中带来了不小的阻隔。

fc385856cb60b2bc4f3b38f37e60ee86.png 总 结 e4a243120f1e1cf95d6840507d949c2f.png

归根结底,Arm的主要收入来源是授权和技术许可,而不是硬件或开发工具,这与专注于开发者社区和市场推广的其他平台形成了对比。

实际上,在2020年,Arm就剥离旗下物联网服务业务(IoT Service Group,简称ISG,包括Pelion IoT平台和Treasure Data)的计划,其余业务也将转移到由其母公司软银集团成立的新的实体,从而将更加专注于以Cortex为代表的芯片底层架构设计。

如今放弃Mbed,除了市场竞争激烈之外,同样也是Arm为聚焦主业所做的改变。

这次Arm宣布终止Mbed项目,你有受到影响吗?欢迎进入下方链接跟帖讨论:https://www.eeworld.com.cn/a1GS4W5

------------ END ------------

5fe3b9b7caa9a58d65bfa5f34b495134.gif

●专栏《嵌入式工具

●专栏《嵌入式开发》

●专栏《Keil教程》

●嵌入式专栏精选教程

关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

点击“阅读原文”查看更多分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值