Mbed — это платформа разработки и операционная система реального времени (RTOS), предназначенная для подключенных к Интернету устройств, использующих 32-битные микроконтроллеры ARM Cortex-M. Эти устройства с доступом в Интернет часто относят к категории Интернета вещей (IoT). Проект Mbed — это совместная работа, возглавляемая Arm Holdings в партнерстве с различными технологическими компаниями и участниками. [1]
Mbed предоставляет комплексную среду для разработки приложений Интернета вещей, предлагая такие функции, как:
Платформа предлагает надежную среду разработки, которая включает в себя:
Проект Mbed — это совместная инициатива с участием Arm Holdings и широкого круга технологических партнеров, включая производителей полупроводников, поставщиков облачных услуг и поставщиков решений IoT. Эта совместная модель позволяет создать богатую экосистему совместимых аппаратных и программных компонентов.
Mbed широко используется в различных приложениях IoT, от автоматизации умного дома до промышленных систем IoT. Его гибкость и функции безопасности делают его подходящим для различных применений, включая здравоохранение, сельское хозяйство и транспорт.
Основным способом разработки приложений Mbed является использование Arm Online Ide «Keil Studio Cloud», которая представляет собой онлайн-идею, использующую облачные сервисы для создания и компиляции приложений Mbed. Приложения также можно разрабатывать с использованием других сред разработки, таких как Keil µVision, IAR Embedded Workbench и Eclipse, с помощью инструментов GCC ARM Embedded.
Mbed OS предоставляет программную платформу Mbed C/C++ и инструменты для создания прошивки микроконтроллера, работающей на устройствах IoT. Он состоит из основных библиотек, которые предоставляют драйверы периферийных устройств микроконтроллера, сеть, RTOS и среду выполнения, инструменты сборки, а также сценарии тестирования и отладки. Эти соединения могут быть защищены совместимыми библиотеками SSL/TLS, такими как Mbed TLS или wolfSSL , которые поддерживают mbed-rtos.
База данных компонентов содержит библиотеки драйверов для компонентов и служб, которые можно подключить к микроконтроллерам для создания конечного продукта.
ОС Mbed, RTOS , основана на Keil RTX5. [2] [3] [4]
Для платформы Mbed существуют различные демонстрационные платы аппаратного обеспечения, первой из которых является оригинальная плата микроконтроллера Mbed. Плата микроконтроллера Mbed (продаваемая как «mbed NXP LPC1768») представляет собой демонстрационную плату на основе микроконтроллера NXP , который имеет ядро ARM Cortex M3 , работающее на частоте 96 МГц, флэш-память 512 КБ , ОЗУ 32 КБ, а также несколько интерфейсов, включая Ethernet , USB- устройство, CAN , SPI , I2C и другие устройства ввода-вывода . [16] [17] Микроконтроллер Mbed получил первый приз в категории «Программное обеспечение/встраиваемые инструменты» ежегодной премии EDN Innovation Awards в 2010 году. [18]
Были выпущены различные версии платы, с микроконтроллерами NXP LPC2368 ( ARM7TDMI-S ), NXP LPC1768 ( Cortex-M3 ), NXP LPC11U24 ( Cortex-M0 ) [19] .
Комплект разработки оборудования Mbed (HDK) предназначен для OEM-производителей и предоставляет информацию для создания специального оборудования для поддержки ОС Mbed. Он состоит из встроенного ПО и схем интерфейса, которые можно использовать для легкого создания макетных плат, OEM-модулей и перепрограммируемых продуктов, пригодных для производства.
Проект разрабатывается компанией Arm совместно с другими крупными технологическими компаниями и сообществом разработчиков Mbed. Развитие и вклад происходят на разных уровнях:
Mbed OS поддерживает и поддерживает ряд различных инструментов разработки,
Приложения для платформы Mbed можно разрабатывать с использованием онлайн- IDE Mbed , бесплатного онлайн-редактора и компилятора кода. На локальном ПК необходимо было установить только веб-браузер , поскольку проект компилировался в облаке, то есть на удаленном сервере, с использованием компилятора ARMCC C/C++. Mbed IDE предоставляла частные рабочие пространства с возможностью импорта, экспорта и совместного использования кода с распределенным контролем версий Mercurial , а также могла использоваться для создания документации по коду. [20]
Mbed Online Compiler не включал в себя никаких функций отладки и основывался на цикле разработки, в ходе которого пользователи загружали скомпилированный код в виде файла .bin, а затем вручную копировали его на плату Mbed (которая выглядит как USB-накопитель).
Mbed Online Compiler был закрыт 1 марта 2023 года и заменен на Keil Studio Cloud.
Подобно Mbed Online Compiler, Keil Studio Cloud позволяет разрабатывать приложения Mbed OS без установки каких-либо инструментов разработки на локальном компьютере. Однако он поддерживает множество дополнительных функций, таких как улучшенная функция интеллектуального завершения кода и встроенный контроль версий с помощью Git. В отличие от онлайн-компилятора, Keil Studio Cloud позволяет загружать и отлаживать поддерживаемые платы Mbed непосредственно из браузера, используя функцию WebUSB . Это позволяет выполнять сборку и отладку в один клик, сравнимую с тем, что предлагают настольные IDE. Однако эта функция поддерживает не все платы Mbed и датчики отладки. [21]