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

Поддерживаемые процессоры FreeRTOS поддерживает процессоры следующих производителейПолный список поддерживаемых архитектур : Altera Atmel Cortus Cypress Energy Micro Freescale Fujitsu Infineon Luminary Micro Microchip Microsemi (бывший Actel) Multiclet NEC NXP Renesas Electronics Silicon Labs STMicroelectronics Texas Instruments Xilinx Intel (x86 real mode) Миландр Intel (x86 Windows Simulator) Intel (Nios II)

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

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

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

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

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

В состав дистрибутива входят подготовленные конфигурационные файлы и демонстрационные программы для каждой архитектуры, что позволяет очень быстро начать новую разработку. Для читаемости и лёгкости модификации код большей частью написан на Си, ассемблерные вставки используются в минимальном объёме в платформоспецифичных участках. Сайт разработчика также содержит подробное руководство по использованию и портированию 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» — доработанный, документированный, протестированный и прошедший сертификацию (в мае 2007) на соответствие стандарту безопасности вариант FreeRTOS. Другой проприетарный коммерческий вариант системы, OpenRTOS — отличается от свободной версии, помимо лицензии и предоставляемых гарантий, лишь некоторыми деталями.

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

Примечания

Литература

(перевод на сайте MLDP)

Ссылки

FreeRTOS для STM32F4 — серия уроков по FreeRTOS для STM32F4 на mcu.by FreeRTOS на Хабрахабре FreeRTOS: практическое применение — серия статей на русском языке

Категория:Свободные операционные системы Категория:Операционные системы реального времени Категория:Встраиваемые операционные системы Категория:Микроядра Категория:Операционные системы ARM