stringtranslate.com

Mbed

Mbed es una plataforma de desarrollo y un sistema operativo para dispositivos conectados a Internet ( dispositivos de 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 desarrollará 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:

Desarrollo de software

Aplicaciones

La forma principal de desarrollar aplicaciones Mbed es con el IDE en línea de Arm "Keil Studio Cloud", que es un IDE en línea que utiliza servicios en la nube para crear y compilar aplicaciones mbed. Las aplicaciones también se pueden desarrollar con otros entornos de desarrollo como Keil μVision, IAR Embedded Workbench, Arduino IDE y Eclipse con herramientas GCC ARM Embedded.

Sistema operativo Mbed

Mbed OS proporciona la plataforma de software C/C++ de Mbed y las herramientas para crear firmware de microcontroladores que se ejecutan en dispositivos IoT. Consta de las bibliotecas principales que proporcionan los controladores periféricos del microcontrolador, la red, el sistema operativo en tiempo real (RTOS) y el entorno de ejecución, las herramientas de compilación y los scripts de prueba y depuración. Estas conexiones se pueden proteger mediante bibliotecas SSL/TLS compatibles, como Mbed TLS o wolfSSL , que admiten 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 , se basa en Keil RTX5. [4] [5] [6]

Historial de versiones principales

Desarrollo de hardware

Placas de demostración

Módulo de memoria NXP LPC1768

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 tiene un núcleo ARM Cortex M3 , que funciona a 96 MHz, con 512 KB de flash , 32 KB de RAM, así como varias interfaces que incluyen Ethernet , dispositivo USB , CAN , SPI , I2C y otras E/S . [20] [21] El microcontrolador Mbed recibió el primer premio en la categoría de herramientas integradas/software de los premios anuales EDN Innovation Awards en 2010. [22]

Se lanzaron varias versiones de la placa, con microcontroladores NXP LPC2368 ( ARM7TDMI-S ), NXP LPC1768 ( Cortex-M3 ), NXP LPC11U24 ( Cortex-M0 ) [23] .

HDK

El kit de desarrollo de hardware Mbed (HDK) está diseñado para fabricantes de equipos originales (OEM ) y proporciona información para crear hardware personalizado compatible con el sistema operativo Mbed. Consiste en un firmware de interfaz y esquemas que se pueden utilizar para crear fácilmente placas de desarrollo, módulos OEM y productos reprogramables adecuados para la producción.

Desarrollo de proyectos

El proyecto está siendo 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 realizan en diferentes niveles:

Herramientas de desarrollo

Mbed OS admite y ha admitido varias herramientas de desarrollo diferentes.

Compilador en línea Mbed (obsoleto desde 2022)

Las aplicaciones para la plataforma Mbed se pueden desarrollar utilizando el IDE en línea Mbed , un editor y compilador de código en línea gratuito. Solo se necesita instalar un navegador web en la PC local, ya que los proyectos se compilan en la nube, es decir, en un servidor remoto, utilizando el compilador ARMCC C/C++. El IDE Mbed proporciona espacios de trabajo privados con capacidad para importar, exportar y compartir código con el control de versiones Mercurial distribuido , y también se puede utilizar para la generación de documentación de código. [24]

Mbed Online Compiler no incluía ninguna funcionalidad de depuración y dependía de 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. [25]

Interfaz de línea de comandos MBED

Para satisfacer la necesidad de desarrollo offline de Mbed OS, ARM puso a disposición la CLI de Mbed. Se trata de 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 externos de Git y con el repositorio de bibliotecas de Mbed, ofreciendo comandos para descargar y actualizar bibliotecas desde fuentes remotas. [26]

En el interior, 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 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 son responsables 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 importante 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. [27]

Estudio Mbed

Mbed Studio es un IDE de escritorio diseñado específicamente para funcionar con el sistema operativo Mbed. Lanzado por primera vez en febrero de 2019, Mbed Studio ofrecía una experiencia de edición con más funciones que el compilador en línea, incluida la funcionalidad de finalización de código inteligente y soporte de depuración. Al igual que el compilador en línea, contiene soporte integrado para crear nuevos proyectos Mbed y declarar dependencias en bibliotecas de repositorios de Git y el repositorio de bibliotecas de Mbed.

Para su compilador C/C++, Mbed Studio utiliza Arm Compiler 6, especialmente autorizado por 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 que admite pyOCD. El IDE en sí se basa en Eclipse Theia y fue diseñado para adaptarse fácilmente para ejecutarse en un navegador web, un proyecto que luego surgió como Keil Studio Cloud. [28] Mbed Studio inicialmente admitía plataformas host Windows y Mac, y luego fue portado para ejecutarse en Ubuntu Linux con su lanzamiento 1.0 en junio de 2020. [29]

Estudio en la nube de Keil

Al igual que Mbed Online Compiler, Keil Studio Cloud permite el desarrollo de aplicaciones Mbed OS sin necesidad de instalar ninguna herramienta de desarrollo en la máquina local. Sin embargo, admite muchas funciones adicionales, como la funcionalidad mejorada de finalización inteligente de código y el control de versiones integrado mediante Git. A diferencia de Online Compiler, Keil Studio Cloud es capaz de descargar y depurar placas Mbed compatibles directamente desde el navegador mediante la funcionalidad WebUSB . Esto permite una experiencia de compilación y depuración verdaderamente con un solo clic comparable a la que ofrecen los IDE de escritorio. Sin embargo, esta funcionalidad no es compatible con todas las placas Mbed ni con las sondas de depuración. [25]

Referencias

  1. ^ "Guía del usuario de Arm Keil Studio Cloud". Servicio de documentación Arm . Consultado el 9 de enero de 2023 .
  2. ^ abc "Actualización importante sobre Mbed" . Consultado el 16 de julio de 2024 .
  3. ^ "Introducción - Introducción a Mbed OS 6 | Documentación de Mbed OS 6". os.mbed.com . Consultado el 15 de marzo de 2024 .
  4. ^ "Página principal". arm-software.github.io . Consultado el 5 de abril de 2021 .
  5. ^ "Keil RTX5". www2.keil.com . Consultado el 5 de abril de 2021 .
  6. ^ "Arquitectura - Introducción a Mbed OS 6 | Documentación de Mbed OS 6". os.mbed.com . Consultado el 5 de abril de 2021 .
  7. ^ "mbed-dev - fuentes de la biblioteca mbed. Reemplaza a mbed-src. | Mbed". os.mbed.com . Consultado el 8 de agosto de 2023 .
  8. ^ abc "Presentación de mbed OS 5 | Mbed". os.mbed.com . Consultado el 8 de agosto de 2023 .
  9. ^ "mbed OS 15.09 | mbed". 10 de junio de 2016. Archivado desde el original el 10 de junio de 2016. Consultado el 1 de julio de 2024 .
  10. ^ "Lanzamientos | mbed". 2016-06-10. Archivado desde el original el 2016-06-10 . Consultado el 2023-08-08 .
  11. ^ ab "Anunciamos nuestros planes para mbed v3.0 | Mbed". os.mbed.com . Consultado el 8 de agosto de 2023 .
  12. ^ ARM Mbed OS 3, Arm Mbed, 24 de septiembre de 2018 , consultado el 8 de agosto de 2023
  13. ^ "Lanzamiento de mbed-os-5.1.0 · ARMmbed/mbed-os". GitHub . Consultado el 1 de julio de 2024 .
  14. ^ "Lanzamiento de mbed-os-5.15.9 · ARMmbed/mbed-os". GitHub . Consultado el 8 de agosto de 2023 .
  15. ^ ab "Arm Mbed OS 6.0 lanzado hoy | Mbed". os.mbed.com . Consultado el 8 de agosto de 2023 .
  16. ^ "Lanzamiento de mbed-os-6.17.0 · ARMmbed/mbed-os". GitHub . Consultado el 8 de agosto de 2023 .
  17. ^ "Una nueva estructura de directorios para Mbed OS | Mbed". os.mbed.com . Consultado el 8 de agosto de 2023 .
  18. ^ "Presentamos las nuevas herramientas Mbed | Mbed". os.mbed.com . Consultado el 8 de agosto de 2023 .
  19. ^ "mbed-os/tools/cmake/README.md en mbed-os-6.15.0 · ARMmbed/mbed-os". GitHub . Consultado el 8 de agosto de 2023 .
  20. ^ mbed LPC1768 | Mbed.com
  21. ^ "Reseña en devmonkey.edn.com". Archivado desde el original el 1 de abril de 2018. Consultado el 13 de diciembre de 2014 .
  22. ^ Nota de prensa de ARM
  23. ^ Anuncio del mbed Cortex M0 LPC11U24
  24. ^ "Compilador mbed - Manual | Mbed". os.mbed.com . Consultado el 8 de agosto de 2023 .
  25. ^ ab "Introducción a Keil Studio Cloud y retiro de Mbed Online Compiler | Mbed". os.mbed.com . Consultado el 8 de agosto de 2023 .
  26. ^ "Mbed CLI 1 - Herramientas de compilación | Documentación de Mbed OS 6". os.mbed.com . Consultado el 1 de julio de 2024 .
  27. ^ "Presentamos las nuevas herramientas Mbed | Mbed". os.mbed.com . Consultado el 1 de julio de 2024 .
  28. ^ "Mbed Studio Public Beta | Mbed". os.mbed.com . Consultado el 1 de julio de 2024 .
  29. ^ "Lanzamiento de Mbed Studio 1.0 | Mbed". os.mbed.com . Consultado el 1 de julio de 2024 .

Enlaces externos