Мбед
Эта статья нуждается в дополнительных цитатах для проверки . ( ноябрь 2017 г. ) |
Разработчик | Совместный проект под управлением Arm |
---|---|
Написано в | С , С++ |
Рабочее состояние | Текущий |
Исходная модель | с открытым исходным кодом |
Первоначальный выпуск | 21 сентября 2009 г. |
Репозиторий | github |
Маркетинговая цель | Микроконтроллеры , Интернет вещей , Носимые устройства |
Платформы | 32-битный процессор ARM Cortex-M |
Лицензия | Лицензия Апач 2.0 |
Официальный сайт | мбед |
Mbed — платформа разработки и операционная система для подключенных к Интернету устройств ( устройств Интернета вещей ) на базе 32-битных микроконтроллеров ARM Cortex-M . Проект был совместной разработкой компании Arm и ее технологических партнеров. [ 1 ] По состоянию на июль 2024 года Mbed больше не разрабатывается компанией Arm. [ 2 ]
Полная версия представляет собой операционную систему реального времени (RTOS), тогда как устройства с более ограниченными ресурсами могут использовать подмножество, отличное от RTOS. [ 3 ]
Среда разработки
[ редактировать ]Платформа предлагает среду разработки, которая включает в себя:
- Mbed OS: основная операционная система, предлагающая стандартизированные API и поддерживающая языки программирования C/C++.
- Mbed Studio: IDE (интегрированная среда разработки), предоставляющая инструменты отладки и редакторы кода.
- Mbed CLI: инструменты командной строки.
Разработка программного обеспечения
[ редактировать ]Приложения
[ редактировать ]Основным способом разработки приложений Mbed является использование Arm Online Ide «Keil Studio Cloud», которая представляет собой онлайн-идею, использующую облачные сервисы для создания и компиляции приложений Mbed. Приложения также можно разрабатывать с использованием других сред разработки, таких как Keil μVision, IAR Embedded Workbench, Arduino IDE и Eclipse с помощью встроенных инструментов GCC ARM.
Мбед ОС
[ редактировать ]Mbed OS предоставляет программную платформу Mbed C/C++ и инструменты для создания прошивки микроконтроллера, работающей на устройствах IoT. Он состоит из основных библиотек, которые предоставляют драйверы периферийных устройств микроконтроллера, сеть, RTOS и среду выполнения, инструменты сборки, а также сценарии тестирования и отладки. Эти соединения могут быть защищены совместимыми библиотеками SSL/TLS, такими как Mbed TLS или wolfSSL , которые поддерживают mbed-rtos.
База данных компонентов содержит библиотеки драйверов для компонентов и служб, которые можно подключить к микроконтроллерам для создания конечного продукта.
ОС Mbed, RTOS , основана на Keil RTX5. [ 4 ] [ 5 ] [ 6 ]
История основных выпусков
[ редактировать ]Ряд | Статус | Первый выпуск | Последний выпуск | Описание |
---|---|---|---|---|
Mbed 2 («mbedlib» или «mbed SDK») | Устарело, но все еще поддерживается Keil Studio Cloud. | февраль 2013 г. | р163 [ 7 ]
(февраль 2019 г.) |
Оригинальная серия релизов Mbed. Первоначально он работал на плате Mbed NXP LPC1768, но вскоре была добавлена поддержка и других плат ряда производителей. Он не содержал ОС реального времени и полагался на библиотеки сообщества для многих общих функций, таких как работа в сети и многопоточность. [ 8 ] |
Мбед ОС 3 | Заброшенный | 15.09
(сентябрь 2015 г.) [ 9 ] |
16.03 [ 10 ]
(март 2016 г.) |
Mbed 3.0 представлял собой значительную переработку исходной кодовой базы Mbed с добавлением ключевых функций для функциональности Интернета вещей (IoT), таких как беспроводные сети и шифрование TLS. [ 11 ] [ 8 ] Однако он опирался на написание программ, управляемых событиями, и не поддерживал традиционную многопоточность, что ограничивало его распространение.
В Mbed 3.0 представлена новая система сборки под названием Yotta. Это позволило разбить Mbed на большое количество отдельных модулей, каждый со своим собственным репозиторием. [ 12 ] [ 11 ] Однако Yotta не использовалась Mbed после серии выпусков Mbed 3.x. |
МбедОС 5.x | Устарело, но все еще поддерживается Keil Studio Cloud. | 5.1.0
(август 2016 г.) [ 13 ] |
5.15.9
(май 2022 г.) [ 14 ] |
Mbed OS 5 объединила функциональные возможности исходной кодовой базы Mbed 2, проекта mbed-rtos и Mbed OS 3.0 в единую кодовую базу, которая могла поддерживать широкий спектр вариантов использования, от базовых функций микроконтроллера до беспроводной связи и расширенных функций IoT. [ 8 ]
В Mbed OS 5 снова использовалась новая система сборки Mbed CLI. Однако он вернулся к монолитной структуре репозитория, в которой все драйверы и сторонние функции были интегрированы в один репозиторий Git. |
МбедОС 6.x | Заброшенный [ 2 ] | 6.0.0
(июнь 2020 г.) [ 15 ] |
6.17.0
(февраль 2023 г.) [ 16 ] |
Mbed OS 6 представляла собой более постепенное изменение по сравнению с Mbed OS 5. В ней была реорганизована и очищена кодовая база несколькими способами, такими как прекращение поддержки старых API и перестановка структуры каталогов для более логичной группировки кода. [ 17 ] Компания также сократила список поддерживаемых плат, сосредоточив усилия на меньшем количестве целевых устройств, с которыми ARM имела активные отношения с производителем. [ 15 ]
Mbed OS 6 по-прежнему поддерживает систему сборки Mbed CLI, но в более поздних версиях также добавлена поддержка новой системы сборки «Mbed CLI 2». [ 18 ] Эта система сборки использует модифицированные сценарии CMake для компиляции Mbed с оболочкой Python сверху, с которой пользователи могут взаимодействовать. Чтобы поддержать свой компилятор ARM Clang в этой системе сборки, ARM предоставила порт CMake для ARM Clang. [ 19 ] 9 июля 2024 года было объявлено [ 2 ] что платформа и ОС Mbed прекратят свое существование в июле 2026 года... и Arm уже прекратила активное обслуживание и CI кодовой базы Mbed OS. Не стоит ожидать появления каких-либо исправлений или улучшений до июля 2026 года. После июля 2026 года база кода будет заархивирована в GitHub. |
Разработка оборудования
[ редактировать ]Демо-доски
[ редактировать ]Для платформы Mbed существуют различные демонстрационные платы аппаратного обеспечения, первой из которых является оригинальная плата микроконтроллера Mbed. Плата микроконтроллера Mbed (продаваемая как «mbed NXP LPC1768») представляет собой демонстрационную плату на основе микроконтроллера NXP , который имеет ядро ARM Cortex M3 память 512 КБ , работающее на частоте 96 МГц, флэш- , ОЗУ 32 КБ, а также несколько интерфейсов, включая Ethernet , USB- устройство, CAN , SPI , I2C и другие устройства ввода-вывода . [ 20 ] [ 21 ] Микроконтроллер Mbed получил первый приз в категории «Программное обеспечение/встраиваемые инструменты» ежегодной премии EDN Innovation Awards в 2010 году. [ 22 ]
Были выпущены различные версии платы: NXP LPC2368 ( ARM7TDMI-S ), NXP LPC1768 ( Cortex-M3 ), NXP LPC11U24 ( Cortex-M0 ). [ 23 ] микроконтроллеры.
ХДК
[ редактировать ]Комплект разработки оборудования Mbed (HDK) предназначен для OEM-производителей и предоставляет информацию для создания специального оборудования для поддержки ОС Mbed. Он состоит из встроенного ПО и схем интерфейса, которые можно использовать для легкого создания макетных плат, OEM-модулей и перепрограммируемых продуктов, пригодных для производства.
Разработка проекта
[ редактировать ]Проект разрабатывается компанией Arm совместно с другими крупными технологическими компаниями и сообществом разработчиков Mbed. Развитие и вклад происходят на разных уровнях:
- Основная платформа — основная программная платформа, разработанная основными участниками и компаниями-партнерами, управляемая и поддерживаемая командой Mbed. Эта базовая платформа разработана в соответствии с лицензией Apache License 2.0 по соглашению с участниками . Сюда входят все основные базовые программные компоненты, предоставляемые платформой, а также порты HAL, которые позволяют Mbed прозрачно работать на микроконтроллерах разных производителей, и порты наборов инструментов, которые позволяют осуществлять разработку с использованием различных встроенных наборов инструментов.
- База данных компонентов — компоненты библиотеки, разработанные компаниями и широким сообществом для обеспечения поддержки периферийных компонентов, датчиков, радиомодулей, протоколов и API облачных сервисов, необходимых для создания конечных устройств. Они предоставляются в соответствии с лицензией Apache 2.0 (рекомендуется) или другими лицензиями, выбранными создателями, и поддерживаются этими отдельными компаниями и членами сообщества разработчиков.
Инструменты разработки
[ редактировать ]Mbed OS поддерживает и поддерживает ряд различных инструментов разработки.
Онлайн-компилятор Mbed (устарел с 2022 г.)
[ редактировать ]Приложения для платформы Mbed можно разрабатывать с использованием онлайн- IDE Mbed , бесплатного онлайн-редактора и компилятора кода. только веб-браузер На локальном ПК необходимо установить , поскольку проекты компилировались в облаке, то есть на удаленном сервере, с использованием компилятора ARMCC C/C++. Mbed IDE предоставляла частные рабочие пространства с возможностью импорта, экспорта и совместного использования кода с распределенным Mercurial контролем версий , а также могла использоваться для создания документации по коду. [ 24 ]
Mbed Online Compiler не включал никаких функций отладки и основывался на цикле разработки, в ходе которого пользователи загружали скомпилированный код в виде файла .bin, а затем вручную копировали его на плату Mbed (которая выглядит как USB-накопитель).
Mbed Online Compiler был закрыт 1 марта 2023 года и заменен на Keil Studio Cloud. [ 25 ]
Мбедный интерфейс командной строки
[ редактировать ]Чтобы удовлетворить потребность в автономной разработке Mbed OS, ARM предоставила Mbed CLI. Это пакет Python, который позволяет создавать, импортировать и компилировать программы Mbed OS из командной строки. Он также интегрируется с внешними репозиториями Git и с репозиторием библиотек Mbed, предлагая команды для загрузки и обновления библиотек из удаленных источников. [ 26 ]
Внутри Mbed CLI состоит из двух разных кодовых баз. Пакет pip mbed-cli, предлагающий команду mbed, действует как интерфейс, который принимает команды от пользователя и способен загружать ОС и библиотеки Mbed. Чтобы скомпилировать Mbed и использующее его программное обеспечение, интерфейс mbed-cli вызывает сценарии инструмента сборки внутри репозитория mbed-os. Эти сценарии отвечают за определение правильных параметров компиляции и выполнение компилятора и компоновщика.
После многих лет разработки обслуживание сложных сценариев инструментов сборки стало значительным бременем для разработчиков Mbed OS. Это заставило их заморозить код инструмента сборки и вместо этого заняться созданием Mbed CLI 2. [ 27 ]
Мбед Студия
[ редактировать ]Mbed Studio — это настольная IDE, разработанная специально для работы с ОС Mbed. Mbed Studio, впервые выпущенная в феврале 2019 года, предлагала более полнофункциональные возможности редактирования, чем онлайн-компилятор, включая функции интеллектуального завершения кода и поддержку отладки. Как и онлайн-компилятор, он содержит встроенную поддержку создания новых проектов Mbed и объявления зависимостей от библиотек из репозиториев Git и репозитория библиотек Mbed.
В качестве компилятора C/C++ Mbed Studio использует Arm Compiler 6, специально лицензированный ARM для включения в IDE. Для функций отладки Mbed Studio использует pyOCD программное обеспечение отладки и может отлаживать только те устройства, которые поддерживает pyOCD. Сама IDE основана на Eclipse Theia и была разработана так, чтобы ее можно было легко адаптировать для работы в веб-браузере — проект, который позже появился как Keil Studio Cloud. [ 28 ] Mbed Studio изначально поддерживала хост-платформы Windows и Mac, а позже была перенесена для работы на Ubuntu Linux с выпуском 1.0 в июне 2020 года. [ 29 ]
Кейл Студия Облако
[ редактировать ]Подобно Mbed Online Compiler, Keil Studio Cloud позволяет разрабатывать приложения Mbed OS без установки каких-либо инструментов разработки на локальном компьютере. Однако он поддерживает множество дополнительных функций, таких как улучшенная функция интеллектуального завершения кода и встроенный контроль версий с помощью Git. В отличие от онлайн-компилятора, Keil Studio Cloud позволяет загружать и отлаживать поддерживаемые платы Mbed непосредственно из браузера, используя функцию WebUSB . Это позволяет выполнять сборку и отладку в один клик, сравнимую с тем, что предлагают настольные IDE. Однако эта функция поддерживает не все платы Mbed и датчики отладки. [ 25 ]
Ссылки
[ редактировать ]- ^ «Руководство пользователя Arm Keil Studio Cloud» . Служба документации . Проверено 9 января 2023 г.
- ^ Перейти обратно: а б с «Важная информация о Mbed» . Проверено 16 июля 2024 г.
- ^ «Введение — Введение в Mbed OS 6 | Документация Mbed OS 6» . os.mbed.com . Проверено 15 марта 2024 г.
- ^ «Главная страница» . Arm-software.github.io . Проверено 5 апреля 2021 г.
- ^ «Кейл RTX5» . www2.keil.com . Проверено 5 апреля 2021 г.
- ^ «Архитектура — Введение в Mbed OS 6 | Документация Mbed OS 6» . os.mbed.com . Проверено 5 апреля 2021 г.
- ^ «mbed-dev — исходники библиотеки mbed. Заменяет mbed-src. | Mbed» . os.mbed.com . Проверено 8 августа 2023 г.
- ^ Перейти обратно: а б с «Знакомство с mbed OS 5 | Mbed» . os.mbed.com . Проверено 8 августа 2023 г.
- ^ «mbed OS 15.09 | mbed» . веб.архив.орг . 10.06.2016 . Проверено 1 июля 2024 г.
- ^ «Релизы | mbed» . 10.06.2016. Архивировано из оригинала 10 июня 2016 г. Проверено 8 августа 2023 г.
- ^ Перейти обратно: а б «Анонсируем наши планы на mbed v3.0 | Mbed» . os.mbed.com . Проверено 8 августа 2023 г.
- ^ ARM Mbed OS 3 , Arm Mbed, 24 сентября 2018 г. , получено 8 августа 2023 г.
- ^ «Выпуск mbed-os-5.1.0 · ARMmbed/mbed-os» . Гитхаб . Проверено 1 июля 2024 г.
- ^ «Выпуск mbed-os-5.15.9 · ARMmbed/mbed-os» . Гитхаб . Проверено 8 августа 2023 г.
- ^ Перейти обратно: а б «Сегодня выпущена Arm Mbed OS 6.0 | Mbed» . os.mbed.com . Проверено 8 августа 2023 г.
- ^ «Выпуск mbed-os-6.17.0 · ARMmbed/mbed-os» . Гитхаб . Проверено 8 августа 2023 г.
- ^ «Новая структура каталогов ОС Mbed | Mbed» . os.mbed.com . Проверено 8 августа 2023 г.
- ^ «Представляем новые инструменты Mbed | Mbed» . os.mbed.com . Проверено 8 августа 2023 г.
- ^ «mbed-os/tools/cmake/README.md в mbed-os-6.15.0 · ARMmbed/mbed-os» . Гитхаб . Проверено 8 августа 2023 г.
- ^ mbed LPC1768 | Mbed.com
- ^ «Обзор на devmonkey.edn.com» . Архивировано из оригинала 01 апреля 2018 г. Проверено 13 декабря 2014 г.
- ^ Пресс-релиз ARM
- ^ анонс mbed Cortex M0 LPC11U24
- ^ «Компилятор mbed — Справочник | Mbed» . os.mbed.com . Проверено 8 августа 2023 г.
- ^ Перейти обратно: а б «Внедрение Keil Studio Cloud и прекращение использования Mbed Online Compiler | Mbed» . os.mbed.com . Проверено 8 августа 2023 г.
- ^ «Mbed CLI 1 — Инструменты сборки | Документация Mbed OS 6» . os.mbed.com . Проверено 1 июля 2024 г.
- ^ «Представляем новые инструменты Mbed | Mbed» . os.mbed.com . Проверено 1 июля 2024 г.
- ^ «Публичная бета-версия Mbed Studio | Mbed» . os.mbed.com . Проверено 1 июля 2024 г.
- ^ «Выпущена Mbed Studio 1.0 | Mbed» . os.mbed.com . Проверено 1 июля 2024 г.