Arm宣布终止Mbed项目

发布者:EEWorld资讯最新更新时间:2024-07-16 来源: EEWORLD关键字:Arm  Mbed  RTOS 手机看文章 扫描二维码
随时随地手机看文章

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


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


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

image.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 帐户中有一个导出工具。


一些重要的问题


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。


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等。

image.png

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

image.png

Mbed OS 6


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


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

image.png

【mbed OS分层结构】


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


低级硬件抽象层 (HAL)

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

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

image.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等。


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


总结


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


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


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


文章参考:ARM®mbed OS入门开发(一)介绍篇 

深入浅出物联网操作系统 Mbed


关键字:Arm  Mbed  RTOS 引用地址:Arm宣布终止Mbed项目

上一篇:康佳特推出基于恩智浦i.MX 95系列处理器的新款SMARC模块
下一篇:打破NVIDIA垄断!英国公司实现CUDA软件在AMD GPU上无缝运行

推荐阅读最新更新时间:2024-11-12 08:08

ARM中PC和LR的关系
我们常常听说的PC,LR到底是什么关系,我这次终于弄明白了。我们都知道,LR是指向PC下一次要执行的地址,但是ARM不同的工作模式,他们有不同的关系。ARM有如下几种工作模式:用户模式,FIQ模式,IRQ模式,系统模式,终止模式,数据访问终止模式,未定义模式。ARM是三级流水线的:取指,译码,执行。ARM的R15(PC)总是指向取指的地方,而我们总是以执行作为分析参考点,注意,取指的地方在高地址。当ARM处在ARM指令的时候,每条指令得长度为4,PC = 当前执行+8,当然如果处在THUMB指令中,每条指令长度为2,PC = 当前执行+4. 当程序发生函数调用的时候,LR里面存放的时候函数返回的地址。当发生中断的时候
[单片机]
<font color='red'>ARM</font>中PC和LR的关系
μC/OS-II实时操作系统内存管理的改进
C/OS-II是一种开放源码的实时操作系统,具有抢先式、多任务的特点,已被应用到众多的微处理器上。虽然该内核功能较多,但还是有不甚完善的地方。笔者在分析使用中发现,内核在任务管理(包括任务调度、任务间的通信与同步)和中断管理上是比较完善的,具有可以接受的稳定性和可靠性;但在内存管理上显得过于简单,内存分区的建立方式有不合理之处。 1 内存管理不足之处的分析 在分析许多 C/OS-II的应用实例中发现,任务栈空间和内存分区的创建采用了定义全局数组的方法,即定义一维或二维的全局数组,在创建任务或内存分区时,将数组名作为内存地址指针传递给生成函数。这样实现起来固然简单,但是不够灵活有效。 编译器会将全局数组作为未初始化的全局变量,放
[单片机]
ARM处理器选型指南:选ARM7还是选Cortex-M3
要使用低成本的 32位处理器,开发人员面临两种选择,基于Cortex-M3内核或者ARM7TDMI内核的处理器。如何做出选择?选择标准又是什么?本文主要介绍了ARM Cortex-M3内核微控制器区别于ARM7的一些特点,帮助您快速选择。 1.ARM实现方法 ARM Cortex-M3是一种基于ARM V7架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线( 冯诺伊曼结构下,数据和指令共用一条总线 )。从本质上来说,哈佛结构在物理上更为复杂,但是处理速度明显加快。根据摩尔定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。 ARM公司对Cortex-M3的定位是:向专业嵌入式市场提供低成本、低功耗的芯
[单片机]
ARM硬件设计:JTAG引脚和PIO引脚
JTAG/ICE端口引脚 在带IEEE1149标准的JTAG/ICE端口的任何ARM处理器中,TDI,TDO,TMS和TCK是最少的引脚。除TDO引脚外的其他所有引脚内部均有大约10KR的上拉电阻。 这些引脚用来访问ARM内核的ICE以进行调试。ATX40X系列在数字I/O单元不具有边界扫描特性,因此在此系列中JTAG的边界扫描特性不能使用。 PIO引脚 1.复用引脚 大多数的I/O引脚复用为一个或两个内部设备。这些引脚的大多数在PIO模式重新安排状态,举例来说,对于P21/TXD/NTR1示例来说,不受内部设备驱动。其他一些引脚像地址线A20-A23在外围模式有他们自己的安排状态,举例来说,受EBI驱动。如果这
[单片机]
ARM串口硬件及软件测试
从51开始就深受串口的打击,先是从华强买来的MAX232本来就是坏的,结果以为是自己电路或者原理图有问题,由于也没有一个好用的串口,就想着所有从自己开始,从最小系统板到后来的外围电路,后来验证是芯片不好使。之后又发现公头,母头在设计电路上还有讲究。在ARM设计时还需要将电平转换芯片换成MAX3232,即驱动电压为3.3V的芯片。 接下来做一些串口调试方面的相关总结: 1. 给刚焊接好的板子上电,通过万用表测试MAX3232 产生的电压信号验证。MAX3232 的2 脚对地是+10V 左右,6 脚对地是-10V 左右,16 脚是+5V 左右,15 脚接地 2. 打开我的电脑- 管理- 设备管理器- 端口- 通讯端口,双击,进
[单片机]
<font color='red'>ARM</font>串口硬件及软件测试
ARM 命名规则、架构
处理器的命名应该包含两类:指令集架构命名规则和处理器系列规则。 可以先来看一张简图: 可见:架构的命名比较规则从ARMv1到ARMv8,数字越大越先进。但是处理器系列的命名就比较混乱了,因此接下来以架构的顺序来介绍ARM的历史: (1)ARMv1、ARMv2 这两代没有做CPU,没有商业化; (2)ARMv3 对应的 CPU 是 ARM6; (3)ARMv4 首次增加 Thumb 指令集; 对应的 CPU 有:ARM7-TDMI,ARM720-T,ARM9-TDMI,ARM920-T,ARM940-T (4) ARMv5 改进了 Thumb,首次增加 E(增强型DSP指令)、J(Java加速器
[单片机]
<font color='red'>ARM</font> 命名规则、架构
ARM发布史上最强显示控制器:2.5K/4K屏有福了
ARM今天宣布推出其史上最强性能、最高能效的显示控制器 Mali-DP650 ,重点强化了对设备屏幕分辨率的支持。 Mali-DP650搭配ARM CoreLink MMU-500系统总线,可以支持各种不同分辨率,尤其是优化了对2560 1600(平板机)、2560 1440(手机)这种2.5K屏的支持,同时也能轻松支持3840 2160 4K分辨率和60fps帧率,并且能将4K视频从移动设备流传输到 大屏显示器上进行播放。 相比于上代Mali-DP550,它还将AXI总线位宽翻番到了128-bit,支持MMU预取、更多的4K复合层,对内存延迟的处理也更好。
[嵌入式]
浅析ARM协处理器CP15寄存器有关指令:MCR\MRC
背景:   在uboot中,start.s中涉及到了 CP15 的有关操作。查阅有关资料,进行学习。 mrc p15, 0, r0, c1, c0, 0 bic r0, r0, #0x00002000 @ clear bits 13 (--V-) bic r0, r0, #0x00000007 @ clear bits 2:0 (-CAM) orr r0, r0, #0x00000002 @ set bit 1 (--A-) Align orr r0, r0, #0x00000800 @ set bit 11 (Z---) BTB mcr p15, 0, r0, c1, c0, 0 在基于ARM的嵌入式系统中
[单片机]
浅析<font color='red'>ARM</font>协处理器CP15寄存器有关指令:MCR\MRC
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved