Mbed es una plataforma de desarrollo y un sistema operativo para dispositivos conectados a internet ( dispositivos del Internet de las Cosas ) basados en microcontroladores ARM Cortex-M de 32 bits . El proyecto fue desarrollado en colaboración por Arm y sus socios tecnológicos. [ 1 ] A partir de julio de 2024, Arm ya no desarrolla activamente Mbed. [ 2 ]
La versión completa es un sistema operativo en tiempo real (RTOS), mientras que los dispositivos con recursos más limitados pueden optar por utilizar un subconjunto que no sea RTOS. [ 3 ]
Entorno de desarrollo
La plataforma ofrece un entorno de desarrollo que incluye:
- Mbed OS: El sistema operativo principal que ofrece API estandarizadas y admite los lenguajes de programación C/C++.
- Mbed Studio: Un IDE (Entorno de Desarrollo Integrado) que proporciona herramientas de depuración y editores de código.
- Mbed CLI: Herramientas de línea de comandos.
Desarrollo de software
Aplicaciones
La principal forma de desarrollar aplicaciones Mbed es con el IDE en línea de Arm "Keil Studio Cloud", que utiliza servicios en la nube para compilar dichas aplicaciones. También se pueden desarrollar con otros entornos de desarrollo como Keil μVision, IAR Embedded Workbench, Arduino IDE y Eclipse con las herramientas GCC ARM Embedded.
Sistema operativo Mbed
Mbed OS proporciona la plataforma de software Mbed C/C++ y las herramientas para crear firmware para microcontroladores que se ejecuta en dispositivos IoT. Consta de las bibliotecas principales que proporcionan los controladores de periféricos del microcontrolador, la gestión de redes, el sistema operativo en tiempo real (RTOS) y el entorno de ejecución, herramientas de compilación y scripts de prueba y depuración. Estas conexiones se pueden proteger mediante bibliotecas SSL/TLS compatibles , como Mbed TLS o wolfSSL , que admite mbed-rtos.
Una base de datos de componentes proporciona bibliotecas de controladores para componentes y servicios que se pueden conectar a los microcontroladores para construir un producto final.
Mbed OS, el RTOS , está basado en Keil RTX5. [ 4 ] [ 5 ] [ 6 ]
Historial de lanzamientos importantes
Desarrollo de hardware
Tableros de demostración

Existen varias placas de demostración de hardware para la plataforma Mbed, siendo la primera la placa de microcontrolador Mbed original. La placa de microcontrolador Mbed (comercializada como "mbed NXP LPC1768") es una placa de demostración basada en un microcontrolador NXP , que cuenta con un núcleo ARM Cortex M3 , funcionando a 96 MHz, con 512 KB de memoria flash , 32 KB de RAM, así como varias interfaces que incluyen Ethernet , dispositivo USB , CAN , SPI , I2C y otras E/S . [ 21 ] [ 22 ] El microcontrolador Mbed recibió el primer premio en la categoría de Software/Herramientas Integradas de los premios anuales EDN Innovation Awards en 2010. [ 23 ]
Se lanzaron varias versiones de la placa, con microcontroladores NXP LPC2368 ( ARM7TDMI-S ), NXP LPC1768 ( Cortex-M3 ), NXP LPC11U24 ( Cortex-M0 ) [ 24 ] .
HDK
El kit de desarrollo de hardware (HDK) de Mbed está diseñado para fabricantes de equipos originales (OEM ) y proporciona información para construir hardware personalizado compatible con Mbed OS. Incluye firmware de interfaz y esquemas que permiten crear fácilmente placas de desarrollo, módulos OEM y productos reprogramables aptos para la producción.
Desarrollo de proyectos
El proyecto es desarrollado por Arm en colaboración con otras importantes empresas tecnológicas y la comunidad de desarrolladores de Mbed. El desarrollo y las contribuciones se producen en diferentes niveles:
- Plataforma principal: La plataforma de software principal, desarrollada por colaboradores clave y empresas asociadas, y gestionada y mantenida por el equipo de Mbed. Esta plataforma se desarrolla bajo la licencia Apache 2.0 mediante un acuerdo de colaboración . Incluye todos los componentes de software genéricos principales que proporciona la plataforma, además de los puertos HAL que permiten que Mbed se ejecute de forma transparente en microcontroladores de diferentes fabricantes y los puertos de la cadena de herramientas que permiten el desarrollo utilizando diferentes cadenas de herramientas integradas.
- Base de datos de componentes: biblioteca de componentes, desarrollados por empresas y la comunidad en general, para brindar soporte a componentes periféricos, sensores, radios, protocolos y API de servicios en la nube necesarios para construir dispositivos finales. Estos se distribuyen bajo la licencia Apache 2.0 (recomendada) u otras licencias elegidas por los creadores, y cuentan con el apoyo de dichas empresas y miembros de la comunidad de desarrolladores.
Herramientas de desarrollo
Mbed OS admite, y ha admitido, diversas herramientas de desarrollo.
Compilador en línea Mbed (obsoleto desde 2022)
Las aplicaciones para la plataforma Mbed podían desarrollarse utilizando el IDE en línea de Mbed , un editor y compilador de código en línea gratuito. Solo era necesario instalar un navegador web en el ordenador local, ya que los proyectos se compilaban en la nube, es decir, en un servidor remoto, utilizando el compilador ARMCC C/C++. El IDE de Mbed proporcionaba espacios de trabajo privados con la capacidad de importar, exportar y compartir código con el control de versiones distribuido Mercurial , y también podía utilizarse para generar documentación de código. [ 25 ]
El compilador en línea Mbed no incluía ninguna función de depuración y se basaba en un ciclo de desarrollo en el que los usuarios descargaban su código compilado como un archivo .bin y luego lo copiaban manualmente a una placa Mbed (que aparece como una unidad flash USB).
Mbed Online Compiler se cerró el 1 de marzo de 2023 y fue reemplazado por Keil Studio Cloud. [ 26 ]
Mbed CLI
Para satisfacer la necesidad de desarrollo offline de Mbed OS, ARM puso a disposición Mbed CLI. Este es un paquete de Python que permite crear, importar y compilar programas de Mbed OS desde la línea de comandos. También se integra con repositorios Git externos y con el repositorio de bibliotecas de Mbed, ofreciendo comandos para descargar y actualizar bibliotecas desde fuentes remotas. [ 27 ]
Internamente, Mbed CLI consta de dos bases de código diferentes. El paquete pip mbed-cli, que ofrece el comando mbed, actúa como una interfaz que acepta comandos del usuario y es capaz de descargar Mbed OS y sus bibliotecas. Para compilar Mbed y el software que lo utiliza, la interfaz mbed-cli llama a los scripts de la herramienta de compilación dentro del repositorio mbed-os. Estos scripts se encargan de determinar las opciones de compilación correctas y ejecutar el compilador y el enlazador.
Después de años de desarrollo, el mantenimiento de los complejos scripts de la herramienta de compilación se había convertido en una carga significativa para los desarrolladores de Mbed OS. Esto los llevó a congelar el código de la herramienta de compilación y trabajar en la creación de Mbed CLI 2. [ 28 ]
Estudio Mbed
Mbed Studio es un IDE de escritorio diseñado específicamente para funcionar con Mbed OS. Lanzado por primera vez en febrero de 2019, Mbed Studio ofrecía una experiencia de edición más completa que el compilador en línea, incluyendo funciones de autocompletado inteligente y soporte para depuración. Al igual que el compilador en línea, incluye soporte integrado para crear nuevos proyectos Mbed y declarar dependencias de bibliotecas desde repositorios Git y el repositorio de bibliotecas de Mbed.
Para su compilador C/C++, Mbed Studio utiliza Arm Compiler 6, con licencia especial de ARM para su inclusión en el IDE. Para la funcionalidad de depuración, Mbed Studio utiliza el software de puente de depuración pyOCD y solo puede depurar los dispositivos compatibles con pyOCD. El IDE en sí se basa en Eclipse Theia y fue diseñado para adaptarse fácilmente a su ejecución en un navegador web, un proyecto que posteriormente se convirtió en Keil Studio Cloud. [ 29 ] Inicialmente, Mbed Studio era compatible con las plataformas Windows y Mac, y posteriormente se adaptó para ejecutarse en Ubuntu Linux con su versión 1.0 en junio de 2020. [ 30 ]
Keil Studio Cloud
Al igual que Mbed Online Compiler, Keil Studio Cloud permite el desarrollo de aplicaciones Mbed OS sin necesidad de instalar herramientas de desarrollo en el equipo local. Sin embargo, ofrece muchas funciones adicionales, como una funcionalidad mejorada de autocompletado inteligente de código y control de versiones integrado mediante Git. A diferencia de Online Compiler, Keil Studio Cloud permite descargar y depurar placas Mbed compatibles directamente desde el navegador mediante la funcionalidad WebUSB . Esto proporciona una experiencia de compilación y depuración con un solo clic, comparable a la que ofrecen los IDE de escritorio. No obstante, esta funcionalidad no es compatible con todas las placas Mbed ni con todas las sondas de depuración. [ 26 ]
Referencias
- ↑ "Guía del usuario de Arm Keil Studio Cloud" . Servicio de documentación de Arm . Consultado el 9 de enero de 2023 .
- 1 2 3 "Actualización importante sobre Mbed" . Consultado el 16 de julio de 2024 .
- ↑ "Introducción - Introducción a Mbed OS 6 | Documentación de Mbed OS 6" . os.mbed.com . Consultado el 15 de marzo de 2024 .
- ↑ "Página principal" . arm-software.github.io . Consultado el 5 de abril de 2021 .
- ↑ "Keil RTX5" . www2.keil.com . Consultado el 5 de abril de 2021 .
- ↑ "Arquitectura - Introducción a Mbed OS 6 | Documentación de Mbed OS 6" . os.mbed.com . Consultado el 5 de abril de 2021 .
- ↑ "¡mbed ya está disponible! | mbed" . 4 de abril de 2010. Archivado del original el 4 de abril de 2010. Consultado el 26 de abril de 2025 .
- ↑ "mbed-dev - fuentes de la biblioteca mbed. Sustituye a mbed-src. | Mbed" . os.mbed.com . Consultado el 8 de agosto de 2023 .
- 1 2 3 "Presentación de mbed OS 5 | Mbed" . os.mbed.com . Consultado el 8 de agosto de 2023 .
- ↑ "mbed OS 15.09 | mbed" . 10 de junio de 2016. Archivado del original el 10 de junio de 2016. Consultado el 1 de julio de 2024 .
- ↑ "Lanzamientos | mbed" . 10 de junio de 2016. Archivado del original el 10 de junio de 2016. Consultado el 8 de agosto de 2023 .
- 1 2 "Anunciando nuestros planes para mbed v3.0 | Mbed" . os.mbed.com . Consultado el 8 de agosto de 2023 .
- ↑ ARM Mbed OS 3 , Arm Mbed, 24/09/2018 , consultado el 08/08/2023
- ↑ "Versión mbed-os-5.1.0 · ARMmbed/mbed-os" . GitHub . Consultado el 1 de julio de 2024 .
- ↑ "Versión mbed-os-5.15.9 · ARMmbed/mbed-os" . GitHub . Consultado el 8 de agosto de 2023 .
- 1 2 "Arm Mbed OS 6.0 lanzado hoy | Mbed" . os.mbed.com . Consultado el 8 de agosto de 2023 .
- ↑ "Versión mbed-os-6.17.0 · ARMmbed/mbed-os" . GitHub . Consultado el 8 de agosto de 2023 .
- ↑ "Una nueva estructura de directorios de Mbed OS | Mbed" . os.mbed.com . Consultado el 8 de agosto de 2023 .
- ↑ "Presentación de las nuevas herramientas Mbed | Mbed" . os.mbed.com . Consultado el 8 de agosto de 2023 .
- ↑ "mbed-os/tools/cmake/README.md en mbed-os-6.15.0 · ARMmbed/mbed-os" . GitHub . Consultado el 8 de agosto de 2023 .
- ↑ mbed LPC1768 | Mbed.com
- ↑ "Reseña en devmonkey.edn.com" . Archivado del original el 1 de abril de 2018. Consultado el 13 de diciembre de 2014 .
- ↑ Comunicado de prensa de ARM
- ↑ Anuncio del mbed Cortex M0 LPC11U24
- ↑ "Compilador mbed - Manual | Mbed" . os.mbed.com . Consultado el 8 de agosto de 2023 .
- 1 2 "Introducción a Keil Studio Cloud y retirada del compilador en línea Mbed | Mbed" . os.mbed.com . Consultado el 8 de agosto de 2023 .
- ↑ "Mbed CLI 1 - Herramientas de compilación | Documentación de Mbed OS 6" . os.mbed.com . Consultado el 1 de julio de 2024 .
- ↑ "Presentación de las nuevas herramientas Mbed | Mbed" . os.mbed.com . Consultado el 1 de julio de 2024 .
- ↑ "Mbed Studio Public Beta | Mbed" . os.mbed.com . Consultado el 1 de julio de 2024 .
- ↑ "Mbed Studio 1.0 lanzado | Mbed" . os.mbed.com . Consultado el 1 de julio de 2024 .
Enlaces externos
- Sitio web oficial
- Sistemas operativos ARM
- Software para microcontroladores