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[англ.] вариант 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.

Литература

  • Richard Barry. Using the FreeRTOS Real Time Kernel. — 2010. — 172 с. — ISBN 978-1-4461-6914-8.
  • Christopher Svec. ch. 3. FreeRTOS // The Architecture of Open Source Applications, Volume II / Amy Brown, Greg Wilson. — ISBN 978-1-105-57181-7. (перевод на сайте MLDP)
  • Ivan Cibrario Bertolotti, Gabriele Manduchi. Real-Time Embedded Systems: Open-Source Operating Systems Perspective. — CRC Press, 2012-01-27. — 536 с. — ISBN 978-1-4398-4154-9.
  • Андрей Курниц. FreeRTOS — операционная система для микроконтроллеров // Компоненты и технологии (КиТ). — 2011. — № 2, 3, 4, 5, 6, 7, 8, 9, 10. — С. 96—100, 109-114, 96-102, 97-102, 98-104, 23-32, 132-140, 97-104, 93-100.

Ссылки

  • freertos.org — официальный сайт FreeRTOS
  • FreeRTOS для STM32F4 — серия уроков по FreeRTOS для STM32F4 на mcu.by
  • FreeRTOS на Хабрахабре
  • FreeRTOS: практическое применение. — серия статей на русском языке
Перейти к шаблону «Микроконтроллеры»
Архитектура
8 бит
16 бит
32 бита
Микросхемы фирмы ST в DIP14 корпусе
Производители
Компоненты
Периферия
Интерфейсы
ОС
Программирование
Перейти к шаблону «Операционные системы реального времени»
  • Сравнение операционных систем реального времени
Открытые
Проприетарные
Исторические
  • Категория
Перейти к шаблону «Беспроводные сенсорные сети»
Операционные системы
  • Contiki
  • ERIKA Enterprise
  • Nano-RK
  • SOS
  • TinyOS
  • LiteOS
  • NanoQplus
  • FreeRTOS
Отраслевые стандарты
Языки программирования
Аппаратные средства
  • EcoWizard
  • FLEX Mini
  • MICAz
  • Iris Mote
  • NeoMote
  • Sun SPOT
Программное обеспечение
Применения
Протоколы
Конференции / Журналы
  • SenSys
  • IPSN
  • EWSN
  • SECON
  • INSS