FreeRTOS

Из Википедии, бесплатной энциклопедии

FreeRTOS
Изображение логотипа
Разработчик Richard Barry & FreeRTOS Team
Семейство ОС ОСРВ
Последняя версия 202212.00
Поддерживаемые платформы ARM (ARM7, ARM9, Cortex-M0, Cortex-M3, Cortex-M4, Cortex-A), Atmel AVR, AVR32, HCS12, MicroBlaze, Cortus (APS1, APS3, APS3R, APS5, FPF3, FPS6, FPS8), MSP430, PIC, Renesas H8/S, SuperH, RX, x86, 8052, Coldfire, V850, 78K0R, Fujitsu MB91460 series, Fujitsu MB96340 series, Nios II, Cortex-R4, TMS570, RM4x
Тип ядра микроядро
Лицензия MIT
Состояние Актуальное
Репозиторий исходного кода github.com/FreeRTOS/Free…
Веб-сайт freertos.org
Логотип Викисклада Медиафайлы на Викискладе

FreeRTOS — многозадачная операционная система реального времени (ОСРВ) для встраиваемых систем. Портирована на 35 микропроцессорных архитектур[⇨]. Распространяется под лицензией MIT с 2017 года[1]. До 2017 года распространялась под модифицированной лицензией GPL с исключением, позволяющим разработчику присвоить модифицированный код операционной системы.

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

FreeRTOS поддерживает процессоры следующих производителей[2]:

Описание[править | править код]

FreeRTOS предназначена для работы на массовых микроконтроллерах, особенностями которых являются низкое быстродействие, малый объём ОЗУ и ПЗУ, отсутствие блока управления памятью и реализованных на аппаратном уровне механизмов поддержки многозадачности, например, средств быстрого переключения контекста[3].

Диспетчер системы очень прост и компактен (занимает, в зависимости от платформы и настроек ядра, 4-9 килобайт), однако поддерживает приоритеты процессов, вытесняющую и кооперативную многозадачность, семафоры и очереди. Начиная с версии 4, FreeRTOS позволяет использовать сопрограммы.

Версия 9.1.0 получила поддержку компилятора ARM Compiler 6.

Ядро системы умещается в несколько файлов.

Дистрибутив[править | править код]

Дистрибутив FreeRTOS может быть свободно скачан с сайта разработчика, бесплатно и без предоставления какой-либо информации (регистрации, заполнения каких-либо форм и т. п.). Документация в состав самого дистрибутива не входит, она доступна на сайте разработчика.

В состав дистрибутива входят подготовленные конфигурационные файлы и демонстрационные программы для каждой архитектуры, что позволяет очень быстро начать новую разработку. Для читаемости и лёгкости модификации код большей частью написан на Си, ассемблерные вставки используются в минимальном объёме в платформоспецифичных участках[4]. Сайт разработчика также содержит подробное руководство по использованию и портированию FreeRTOS.

Варианты[править | править код]

Amazon FreeRTOS[править | править код]

Amazon FreeRTOS отличается поставкой дополнительных библиотек, упрощающих организацию безопасного соединения устройств на базе микроконтроллеров с облачными сервисами AWS IoT Core или более мощными устройствами, работающими под управлением AWS Greengrass. В Amazon FreeRTOS обеспечена поддержка TLS 1.2, PKCS#11, шифрования данных, проверки целостности прошивки по цифровой подписи. Предложены средства для обновления прошивки в режиме OTA (over-the-air). Сетевой стек включает поддержку MQTT, TCP/IP и Wi-Fi. Для выбора и установки программных компонентов прошивки предлагается управляющий интерфейс Amazon FreeRTOS Console. Специфичные для Amazon FreeRTOS компоненты, как и ядро FreeRTOS, распространяются под лицензией MIT.

SafeRTOS, OpenRTOS[править | править код]

Проект «SafeRTOS»[5] — доработанный, документированный, протестированный и прошедший сертификацию (в мае 2007) на соответствие стандарту безопасности IEC 61508[en] вариант FreeRTOS. Другой проприетарный коммерческий вариант системы, OpenRTOS — отличается от свободной версии, помимо лицензии и предоставляемых гарантий, лишь некоторыми деталями[4].

ESP-IDF FreeRTOS[править | править код]

Компания Espressif Systems для поддержки своих двухъядерных микроконтроллеров серии ESP (таких как ESP32 и ESP32-S3) предоставляет двухъядерную реализацию FreeRTOS с поддержкой SMP (симметричной многопроцессорной обработки). Свою версию FreeRTOS компания назвала ESP-IDF FreeRTOS.

Примечания[править | править код]

  1. "Announcing FreeRTOS Kernel Version 10 | Amazon Web Services". Amazon Web Services (англ.). 2017-11-29. Архивировано из оригинала 1 декабря 2017. Дата обращения: 30 ноября 2017.
  2. Полный список поддерживаемых архитектур Архивная копия от 15 июля 2007 на Wayback Machine (англ.)
  3. Курниц, 2011, № 2. Что такое ОС для МК?, с. 96.
  4. 1 2 Курниц, 2011, № 2. Обзор FreeRTOS, с. 98-99.
  5. "RTOS". High Integrity Systems. 2011-11-09. Архивировано из оригинала 9 ноября 2016. Дата обращения: 4 января 2017.

Литература[править | править код]

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