Познакомьтесь с младшим братом Linux: Zephyr, крошечной IoT RTOS с открытым исходным кодом

Linux Foundation запустил проект Zephyr, направленный на создание модульной, масштабируемой, подключаемой ОС реального времени с открытым исходным кодом для IoT-устройств с открытым исходным кодом.

Обычно мы думаем о Linux Foundation как о Linux.
Но по мере того, как организация стала более зрелой, она расширила сферу своей деятельности, охватывая все более широкий спектр стандартов и программного обеспечения с открытым исходным кодом.
Несмотря на существование и широкое использование минималистичных реализаций Linux, включая uClinux , OpenWrt , Brillo и Ubuntu Core , экспоненциальное распространение интеллектуальных подключенных устройств, таких как лампочки, термостаты, камеры безопасности, датчики и многие другие, вызвало большой интерес. в минимизации затрат на электроэнергию, пространство и стоимость оборудования IoT.

В то время как урезанные реализации Linux, как известно, работают в пределах ресурсов до 200 КБ ОЗУ и 1 МБ флэш-памяти , конечные точки IoT, которые часто будут контролироваться крошечными микроконтроллерами, а не SoC в стиле смартфона, могут быть ограничены несколькими десятки или сотни килобайт памяти и памяти.
Такие строго ограниченные ресурсы требуют чрезвычайно экономного программного обеспечения для управления;
и тем не менее, многие типичные приложения IoT по-прежнему должны удовлетворять ограничениям производительности в реальном времени.
Таким образом, интерес к созданию высокоэффективной, модульной, масштабируемой, подключенной операционной системы реального времени (RTOS) с Linux-подобной открытостью и совместной разработкой на базе сообщества и поддержкой низкоуровневых IoT-устройств.


Zephyr Project функции и компоненты

(нажмите на картинку, чтобы увеличить)

Как показано на изображениях выше, RTOS зефира проекта реализует как небольшой footpoint «микроядра» и даже мельче «наноядро.» Ключевые особенности ОСРВ зефира Проекта, как говорят, включают в себя:

  • Архитектура процессора не зависит
  • Минимальная занимаемая площадь - может занимать всего 10 КБ
  • Модульный и масштабируемый
  • Очень безопасный
  • Непревзойденная связь, поддерживающая широкий спектр беспроводных и проводных технологий
  • Мощные инструменты разработчика
  • Ядро с открытым исходным кодом (и, возможно, другие компоненты), выпущенное под лицензией Apache v2.0

Чтобы гарантировать, что Zephyr удовлетворяет требованиям безопасности устройств IoT, проект будет включать в себя специальную рабочую группу по безопасности и отдельного сопровождающего безопасности, говорит LF.
Еще одной целью является предоставление обширной и беззаботной поддержки связи и сетей.
Первоначально поддерживаются Bluetooth, Bluetooth Low Energy и IEEE 802.15.4 (6LoWPAN), а также другие стандарты и технологии.

Конечно, поддержка процессора будет требованием сделать или сломать.
В связи с этим проект Zephyr изначально поддерживает архитектуры x86, ARM и ARC.
Более конкретно, в настоящее время он нацелен на следующие платформы, другие будут добавлены позже:

  • Arduino 101 (модуль Intel Curie, содержащий ядра x86 и Synopsys ARC EM)
  • Arduino Due (процессор Atmel SAM3X8E ARM Cortex-M3)
  • Intel Galileo Gen 2
  • Плата NXP FRDM-K64F Freedom (Kinetis K64F ARM Cortex-M4 MCU)

В дополнение к платам, перечисленным выше, взятым из объявления о запуске LF, на странице «Примечания к выпуску Zephyr Kernel v1.0.0» добавлены платы MinnowBoard MAX, Quark D2000, Quark SE и Galileo.

Структура и сервисы программного обеспечения Zephyr Project кратко представлены в видео проекта ниже.

Видео с техническим обзором проекта Zephyr

Первоначальные корпоративные участники проекта Zephyr включают Intel и ее дочерние компании Altera и Wind River;
NXP, который теперь включает Freescale;
Synopsys;
и технология UbiquiOS.
Другие компании и организации приглашаются присоединиться к инициативе.

Зефир получен из "Ракетной" ОСРВ Wind River?


Ветер река

Rocket Kernel Primer

(нажмите, чтобы увеличить)

Исходя из присутствия Intel и Wind River в корпоративном реестре проекта Zephyr, мы задались вопросом, как активы RTOS Wind River могут взаимодействовать с этой новой инициативой IoT RTOS, поэтому мы пересмотрели наше освещение в ноябре 2015 года объявления Wind River о своей Rocket RTOS .
Rocket был описан как свободная небольшая занимаемая IoT-ориентированная ОСРВ, способная работать на 32-битных микроконтроллерах всего за 4 КБ памяти.

В то время мы предположили, что «Rocket», возможно, было новым названием для «Viper», которое ранее упоминалось в качестве опции RTOS для процессора Quark на модуле Intel Edison и на плате Intel Galileo Gen 2.
Кроме того, Rocket, как сообщается, поддерживает плату разработчика Fesom K64F от Freescale, основанную на микроконтроллерах Kinetis K64, K63 или K24.
Интересно, что этот набор процессоров хорошо совпадает с теми, которые перечислены как поддерживаемые из желоба Zephyr Project RTOS.
Чтобы продвинуться дальше в этом направлении, мы скачали учебник по ядру ракеты Wind River и искали возможное соединение с Zephyr, и сразу же нашли ссылку на Zephyr на первой странице после обложки.


Отрывок из Ракетного учебника по ядру Река Ветров

(щелкните изображение, чтобы увеличить)

Как показано на изображении выше (взято с этой страницы): «Ядро, используемое в Ракете Уинд Ривер, называется Зефир». Исходя из этого утверждения, казалось вероятным, что Проект Зефир взял на себя управление ОСРВ Рокет Уинд Ривер и ядром Зефир ,
Кроме того, Rocket Kernel Primer определяет сервисы как микроядра, так и наноядра, и относится как к приложениям ядра, так и к приложениям нанокорнеля, что также соответствует архитектуре программного обеспечения проекта Zephyr.

После этого быстрого поиска по ключевому слову «zephyr rocket rtos» появился пост в блоге Wind River от Niheer Patel, менеджера по продуктам Wind River для VxWorks и Wind River Rocket, обнажив всю ситуацию.
Действительно, Wind River Rocket, запущенная в ноябре 2015 года, «по сути является коммерческой версией Zephyr», пишет Патель.
Он продолжает…

    Zephyr и Rocket являются взаимодополняющими силами, которые стремятся добиться быстрого расширения этих подключенных устройств.
    По этой причине Wind River предоставила ядро ​​Rocket компании Zephyr, которая объединяет лидеров отрасли в области программного и аппаратного обеспечения для создания ОСРВ для IoT…
    … .Wind River будет продолжать поддерживать и предоставлять новые функции ядру Zephyr.
    Rocket, ныне версия Zephyr с более низким уровнем защиты, заботится о конфигурации ОС и интеграции оборудования с Wind River Helix App Cloud для упрощения процесса разработки.
    Пользователи App Cloud могут сосредоточить усилия на своих приложениях с добавленной стоимостью, не беспокоясь о сложностях базовой ОСРВ, низкоуровневых языках программирования и инструментах сборки.
    Клиенты Wind River и участники проекта Zephyr могут воспользоваться коммерческой поддержкой Rocket и средой разработки App Cloud, чтобы достичь новых типов разработчиков встраиваемых систем.

Что не так ясно, так это то, в какой степени экосистемные сервисы Wind River Helix будут поддерживать взаимодействие Zeor Project RTOS IoT с облаком.
Но, учитывая природу проекта Zephyr с открытым исходным кодом, весьма вероятно, что протоколы проекта, как и его код, будут открытыми.

«Обращаюсь ко всем разработчикам!»

«Хотя Linux зарекомендовал себя как чрезвычайно успешная операционная система для разработки встраиваемых систем, для некоторых устройств IoT требуется ОСРВ с минимальными объемами памяти», - говорится в сообщении LF в своем объявлении о запуске Zephyr Project .
«Это дополняет Linux реального времени, который превосходит системы сбора данных, производственные предприятия и другие чувствительные ко времени инструменты и машины, которые обеспечивают критическую инфраструктуру для некоторых из самых сложных вычислительных систем в мире».

«Мы приглашаем разработчиков внести свой вклад в проект Zephyr и помочь в разработке настраиваемой встроенной RTOS с открытым исходным кодом для продвижения IoT», - сказал Джим Землин, исполнительный директор Linux Foundation.
«Размещая это в Linux Foundation, мы рассчитываем на межпроектное сотрудничество между Linux и этим сообществом».

Дальнейшая информация

На следующей неделе Zephyr Project проведет стенд (в расположении 4-349) на конференции Embedded World 2016 в Нюрнберге, Германия, где он продемонстрирует технологию посредством демонстраций и сессий на стенде.
Кроме того, группа выступит с презентацией под названием «ОСРВ с открытым исходным кодом для изменения внешнего вида IoT» (на заседании 19 февраля в 10:30 по центральноевропейскому времени).
Для получения более подробной информации посетите веб-сайт Zephyr Project и примечания к выпуску Zephyr Kernel v1.0.0 и страницу загрузки.