Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Apache Mynewt - это модульная операционная система реального времени для подключенных устройств Интернета вещей (IoT) [2], которые должны долгое время работать в условиях ограничений питания, памяти и хранилища. Это бесплатно и с открытым исходным кодом инкубирование под Apache Software Foundation , [3] с исходным кодом распределенного под Apache License 2.0 , разрешительные лицензиями, которая способствует коммерческому принятию с открытым исходным кодом . [4]

Обзор [ править ]

Apache Mynewt - это операционная система реального времени с богатым набором библиотек, предназначенная для упрощения прототипирования, развертывания и управления устройствами IoT на основе 32-разрядных микроконтроллеров . [5] Он легко компонуем, что позволяет создавать встроенные системные приложения (например, замки, медицинские устройства, промышленный Интернет вещей) на различных типах микроконтроллеров. Название Mynewt - это игра слов от английского слова « минута» , что означает очень маленький: размер ядра составляет всего 6 КБ.

ОС предназначена для подключения и поставляется с полной реализацией стека Bluetooth 4.2 с низким энергопотреблением . С добавлением BLE (поддерживающего все функции безопасности, совместимые с Bluetooth 4.2, за исключением конфиденциальности) и различных утилит, таких как файловая система по умолчанию, консоль, оболочка, журналы, статистика и т. Д., Размер образа составляет примерно 96 КБ для Nordic nRF51822 Bluetooth SoC. . [6] Этот показатель размера не включает образ загрузчика .

Основные функции [ править ]

Основная операционная система поддерживает: [3]

  • Вытесняющая многопоточность
  • Бесконтактное планирование на основе приоритета
  • Программируемые таймеры
  • Системное время
  • Семафоры
  • Мьютексы
  • Очереди событий
  • Управление памятью (распределение): динамическое (куча) и пул
  • Многоступенчатый программный сторожевой таймер
  • Память или буферы данных для хранения пакетных данных при их перемещении вверх и вниз по стеку сетевых протоколов.

Другие функции и утилиты включают:

  • Уровень аппаратной абстракции с поддержкой процессорного времени , аналого-цифрового преобразователя (ADC), цифро-аналогового преобразователя (DAC), ввода / вывода общего назначения (GPIO), межинтегральной схемы ( I²C ), ширины импульса модуляция (PWM), последовательный порт , шина последовательного периферийного интерфейса (SPI), универсальный асинхронный приемник / передатчик (UART).
  • Newtron файловая система флэш - памяти (nffs) с минимальным использованием оперативной памяти и обеспечения надежности
  • Абстракция файловой системы, позволяющая клиентскому коду выбирать альтернативные файловые системы
  • Консольный доступ и пакет оболочки
  • Безопасный загрузчик и организатор образов (менеджер), который включает проверку целостности образа с помощью SHA-256 и дополнительную проверку цифровой подписи образов перед их запуском
  • Утилиты тестирования для создания регрессионного тестирования
  • Статистика и журналы для всех основных пакетов
  • Библиотеки кодировщика и декодера JavaScript Object Notation ( JSON )
  • Интерпретатор Lua

Bluetooth с низким энергопотреблением [ править ]

Первый сетевой стек, доступный в Mynewt, - это Bluetooth с низким энергопотреблением [7] и называется NimBLE. Он соответствует спецификации Bluetooth Core 4.2. [8]

NimBLE включает в себя как хост, так и компоненты контроллера. Доступ к исходному коду контроллера позволяет легко настраивать производительность BLE. Например, пропускную способность BLE можно регулировать, изменяя интервалы соединений, размер пакетов данных, размер очереди пакетов и т. Д. Аналогичным образом можно настроить сценарий использования, требующий большого количества одновременных соединений, при условии, что выделено адекватное ОЗУ. В пакет включены примеры приложений, демонстрирующих, как использовать доступные службы.

Поддерживаемые доски [ править ]

Операционная система предназначена для кросс-платформенной использования в встраиваемых систем (устройств) и микроконтроллеров. По состоянию на март 2017 года он включает следующие пакеты поддержки плат :

  • nRF52832 Bluetooth SoC от Nordic Semiconductor
  • nRF51822 / nRF51422 Bluetooth SoC от Nordic Semiconductor
  • STM32F3DISCOVERY с STM32 F3xx серии Cortex-M4 от ST
  • STM32-E407 для STM32F407ZGT6 Cortex M4 от ST
  • Arduino Zero и Zero Pro
  • Arduino M0 Pro с ATSAMD21G18 Cortex M0
  • Arduino 101 , только контроллер Bluetooth
  • Arduino Primo , контроллер Bluetooth и хост

Управление пакетами [ править ]

Проект включает в себя Newt Tool, который представляет собой интеллектуальную систему управления пакетами исходного кода на основе интерфейса командной строки (CLI) для разработки встроенных систем. Кроме того, он позволяет составлять сборки с указанными пакетами и параметрами компилятора, генерировать образы и их цифровые подписи и, наконец, загружать и отлаживать микропрограммы для различных целей.

См. Также [ править ]

  • Встроенная операционная система
  • Сравнение операционных систем реального времени

Ссылки [ править ]

  1. ^ "Скачать - Apache Mynewt" . mynewt.apache.org . Фонд программного обеспечения Apache . Проверено 13 апреля 2021 .
  2. ^ «Arduino и среда выполнения сотрудничают, чтобы представить Apache Mynewt (инкубационный) в экосистеме Arduino» . globenewswire.com . Проверено 24 мая 2016 .
  3. ^ «Статус инкубации Mynewt - инкубатор Apache» . incubator.apache.org . Проверено 24 мая 2016 .
  4. ^ «Apache Mynewt RTOS обращается к мощности Интернета вещей, памяти и ограничениям хранилища» . www.infoq.com . Проверено 28 июня 2016 .
  5. ^ «Открытая ОСРВ нацелена на сеть вещей» . www.eetimes.com . Проверено 24 мая 2016 .
  6. ^ "nRF51822" . Архивировано из оригинала на 2016-05-17 . Проверено 24 мая 2016 .
  7. ^ "Apache Mynewt находит дом на последних SBC Arduino Srl" . www.linuxtoday.com . Проверено 24 мая 2016 .
  8. ^ Основные характеристики Bluetooth 4.2

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Репозиторий исходного кода Apache Mynewt