stringtranslate.com

Mbed

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

Desarrollo de software

Aplicaciones

La forma principal de desarrollar aplicaciones Mbed es con Arm Online Ide "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 Mbed C/C++ y herramientas para crear firmware de microcontrolador que se ejecuta en dispositivos IoT. Consta de bibliotecas principales que proporcionan controladores periféricos del microcontrolador, redes, RTOS y 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 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 , está basado en Keil RTX5. [4] [5] [6]

Historial de lanzamientos principales

Desarrollo de hardware

Tableros de demostración

mbed NXP LPC1768

Hay varias placas de demostración de hardware para la plataforma Mbed, siendo la primera la placa del 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 , funcionando 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 software/herramientas integradas 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 (HDK) de Mbed está diseñado para fabricantes de equipos originales y proporciona información para crear hardware personalizado que admita el sistema operativo Mbed. Consiste en 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 del proyecto

El proyecto es desarrollado por Arm junto con otras importantes empresas de tecnología y la comunidad de desarrolladores de Mbed. El desarrollo y las contribuciones ocurren en diferentes niveles:

Herramientas de desarrollo

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

Compilador en línea de Mbed (obsoleto desde 2022)

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

Mbed Online Compiler no incluía ninguna funcionalidad 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 en 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]

CLI de Mbed

Para satisfacer la necesidad de desarrollo fuera de línea 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 externos de Git y con el repositorio de bibliotecas de Mbed, ofreciendo comandos para descargar y actualizar bibliotecas desde fuentes remotas. [26]

Internamente, Mbed CLI consta de dos bases de código diferentes. El paquete mbed-cli pip, que ofrece el comando mbed, actúa como una interfaz que acepta comandos del usuario y es capaz de descargar el sistema operativo y las bibliotecas de Mbed. 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 vinculador.

Después de años de desarrollo, el mantenimiento de los complejos scripts de las herramientas 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 para crear Mbed CLI 2. [27]

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 con más funciones que el compilador en línea, incluida la funcionalidad de finalización inteligente de código y soporte de depuración. Al igual que el compilador en línea, contiene soporte integrado para crear nuevos proyectos de Mbed y declarar dependencias en bibliotecas de los repositorios de 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 puente de depuración pyOCD y solo puede depurar los dispositivos compatibles con pyOCD. El IDE en sí está basado 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 adaptado para ejecutarse en Ubuntu Linux con su versión 1.0 en junio de 2020. [29]

Nube de estudio Keil

Similar a Mbed Online Compiler, Keil Studio Cloud permite el desarrollo de aplicaciones Mbed OS sin instalar ninguna herramienta de desarrollo en la máquina local. Sin embargo, admite muchas funciones adicionales, como una funcionalidad mejorada de finalización de código inteligente y control de versiones integrado mediante Git. A diferencia del compilador en línea, Keil Studio Cloud es capaz de descargar y depurar placas Mbed compatibles directamente desde el navegador mediante la funcionalidad WebUSB . Esto permite una verdadera experiencia de compilación y depuración 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 todas las sondas de depuración. [25]

Referencias

  1. ^ "Guía del usuario de Arm Keil Studio Cloud". Brazo de Servicio de Documentación . 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. ^ "mbedOS 15.09 | mbed". web.archive.org . 2016-06-10 . Consultado el 1 de julio de 2024 .
  10. ^ "Lanzamientos | mbed". 2016-06-10. Archivado desde el original el 10 de junio de 2016 . Consultado el 8 de agosto de 2023 .
  11. ^ ab "Anuncio de 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 de Mbed OS | Mbed". os.mbed.com . Consultado el 8 de agosto de 2023 .
  18. ^ "Presentación de 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. ^ "Revisar en devmonkey.edn.com". Archivado desde el original el 1 de abril de 2018 . Consultado el 13 de diciembre de 2014 .
  22. ^ Comunicado de prensa de ARM
  23. ^ Anuncio de 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 retirada del compilador Mbed Online | 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. ^ "Presentación de las nuevas herramientas Mbed | Mbed". os.mbed.com . Consultado el 1 de julio de 2024 .
  28. ^ "Beta pública de Mbed Studio | 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