FreeRTOS - FreeRTOS

FreeRTOS
Логотип freeRTOS.png
РазработчикReal Time Engineers Ltd.
Семейство ОСОперационные системы реального времени
Рабочее состояниеТекущий
Исходная модельОткрытый исходный код
Последний релиз10.3.1[1] / 2020-02-19 (2020-02-19)
Репозиторий Отредактируйте это в Викиданных
Маркетинговая цельВстроенные устройства
ПлатформыРУКА (ARM7, ARM9, Cortex-M3, Кортекс-М4, Cortex-M7, Cortex-A ), Atmel AVR, AVR32, HCS12, MicroBlaze, Cortus (APS1, APS3, APS3R, APS5, FPF3, FPS6, FPS8), MSP430, ПОС, Renesas H8 / S, SuperH, RX, x86, 8052, Холодный огонь, V850, 78K0R, серия Fujitsu MB91460, серия Fujitsu MB96340, Ниос II, Cortex-R4, TMS570, RM4x, Espressif ESP32, RISC-V
Ядро типМикроядро
ЛицензияМассачусетский технологический институт[2]
Официальный веб-сайтwww.freertos.org

FreeRTOS это операционная система реального времени ядро[3][4][5] за встроенные устройства который был перенесен на 35 микроконтроллер платформы. Распространяется под Лицензия MIT.

Выполнение

FreeRTOS разработан, чтобы быть маленьким и простым. Само ядро ​​состоит всего из трех файлов C. Чтобы код был удобочитаемым, простым в переносе и сопровождении, он в основном написан на C, но есть несколько функций сборки, включенных там, где это необходимо (в основном, в подпрограммах планировщика для конкретной архитектуры).

FreeRTOS предоставляет методы для нескольких потоки или же задачи, мьютексы, семафоры и программные таймеры. А без галочки режим предназначен для приложений с низким энергопотреблением. Поддерживаются приоритеты потоков. Приложения FreeRTOS могут быть полностью статически размещены. В качестве альтернативы объекты RTOS могут быть размещены динамически с помощью пяти схем распределения памяти:

  • только выделить;
  • выделить и освободить с помощью очень простого и быстрого алгоритма;
  • более сложный, но быстрый алгоритм выделения и освобождения с слияние памяти;
  • альтернатива более сложной схеме, которая включает объединение памяти, позволяющее разбивать кучу на несколько областей памяти.
  • и библиотека C размещаются и освобождаются с некоторой взаимной защитой исключения.

Нет ни одной из более сложных функций, которые обычно встречаются в операционные системы подобно Linux или же Майкрософт Виндоус, Такие как драйверы устройств, передовой управление памятью, учетные записи пользователей и сети. Акцент делается на компактность и скорость исполнения. FreeRTOS можно рассматривать как «библиотеку потоков», а не «операционную систему», хотя доступны интерфейс командной строки и надстройки абстракции ввода-вывода в стиле POSIX.

FreeRTOS реализует несколько потоков, заставляя хост-программу вызывать метод отметки потока через регулярные короткие промежутки времени. Метод тика потока переключает задачи в зависимости от приоритета и циклическое планирование схема. Обычный интервал составляет от 1 до 10 миллисекунд (от 1/1000 до 1/100 секунды) с помощью прерывания от аппаратного таймера, но этот интервал часто изменяется в зависимости от конкретного приложения.

Загрузка содержит подготовленные конфигурации и демонстрации для каждого порта и компилятора, что позволяет быстро разрабатывать приложения. Сайт FreeRTOS.org также содержит множество документации и руководств по RTOS (дополнительные руководства и учебные пособия доступны за отдельную плату), а также подробную информацию о конструкции RTOS.

Ключевая особенность

  • Книги и справочники.
  • Небольшой объем памяти, низкие накладные расходы и быстрое выполнение.
  • Бестиковый вариант для приложений с низким энергопотреблением.
  • Предназначен как для любителей, так и для профессиональных разработчиков, работающих над коммерческими продуктами.
  • Планировщик может быть настроен как на вытесняющую, так и на кооперативную работу.
  • Coroutine поддержка (сопрограммы в FreeRTOS простые и легкие задачи с ограниченным использованием стек вызовов )
  • Поддержка трассировки с помощью общих макросов трассировки. Такие инструменты как Tracealyzer от партнера FreeRTOS Percepio может таким образом записывать и визуализировать поведение систем на основе FreeRTOS во время выполнения. Это включает планирование задач и вызовы ядра для операций с семафором и очередью. Tracealyzer использует freemium ценовая стратегия, предлагающая бесплатную версию с ограниченными возможностями.

Поддерживаемые архитектуры

Производные

Amazon FreeRTOS

Amazon предоставляет расширение FreeRTOS, называемое а: FreeRTOS. Это FreeRTOS с библиотеками для IOT поддержка, специально для Веб-сервисы Amazon. Начиная с версии 10.0.0 в 2017 году, Amazon взяла на себя управление кодом FreeRTOS, включая любые обновления исходного ядра.[7][8][9]

САФЕРТОС

SAFERTOS был разработан как дополнительная версия FreeRTOS с общей функциональностью, но специально разработан для критически важной для безопасности реализации. FreeRTOS подвергся HAZOP, а также были выявлены и устранены недостатки. Результат прошел через полную IEC 61508 Жизненный цикл разработки SIL 3, высший уровень для программного компонента.

SAFERTOS был разработан WITTENSTEIN High Integrity Systems в партнерстве с Real Time Engineers Ltd, основным разработчиком.[3] проекта FreeRTOS.[10] И SAFERTOS, и FreeRTOS используют один и тот же алгоритм планирования, имеют схожие API, и в остальном очень похожи,[11] но они были разработаны с разными целями.[12] SAFERTOS был разработан исключительно в Язык C для соответствия требованиям сертификации по IEC61508.[13]

SAFERTOS может находиться исключительно во встроенном только для чтения памяти микроконтроллера на соответствие стандартам.[14] При реализации в аппаратной памяти код SAFERTOS можно использовать только в его исходной, уже сертифицированной конфигурации. Это означает, что при сертификации систем не нужно повторно тестировать ядро ​​в их проектах.[15] SAFERTOS включен в ПЗУ некоторых микроконтроллеров Stellaris.[16] от Texas Instruments. Исходный код SAFERTOS не нужно покупать отдельно. В этом сценарии использования файл заголовка C используется для сопоставления функций SAFERTOS API с их местоположением в постоянной памяти.

OPENRTOS

OPENRTOS - это коммерчески лицензированная версия Amazon FreeRTOS, продаваемая WITTENSTEIN High Integrity Systems. Этот продукт обеспечивает поддержку и позволяет компаниям использовать ядро ​​и библиотеки Amazon FreeRTOS без лицензии a: FreeRTOS MIT. [17][18]

Смотрите также

Рекомендации

  1. ^ "www.freertos.org/History.txt". 2020-02-19.
  2. ^ «Лицензирование FreeRTOS с открытым исходным кодом». 2017-12-22.
  3. ^ а б «Исследование рынка встраиваемых систем, 2011 г.». EE Times. Архивировано из оригинал на 2012-04-02.
  4. ^ Колесник, Сергей (2013-12-08). «Сравнение микроконтроллеров с операционными системами реального времени». Ядро не является ОСРВ, но это может сбивать с толку из-за неправильного наименования, выбранного для некоторых популярных ядер, например «freeRTOS».
  5. ^ «Почему RTOS и что такое RTOS?». Получено 29 августа 2014. Что такое FreeRTOS? … Ограничения по размеру и характер специализированного конечного приложения редко гарантируют использование полной реализации RTOS - или даже делают возможным использование полной реализации RTOS. Таким образом, FreeRTOS предоставляет только базовые функции планирования в реальном времени, межзадачную связь, синхронизацию и примитивы синхронизации. Это означает, что его более точно описать как ядро ​​реального времени или исполнительное устройство реального времени. …
  6. ^ «Использование FreeRTOS на микроконтроллерах RISC-V». FreeRTOS. Получено 11 сентября 2019.
  7. ^ «Amazon FreeRTOS». Amazon. Получено 28 ноября 2018.
  8. ^ «Вопросы и ответы: Amazon FreeRTOS». FreeRTOS. Получено 28 ноября 2018.
  9. ^ «Amazon FreeRTOS - новая ОС для Интернета вещей». TechCrunch. Получено 4 декабря 2018.
  10. ^ «FreeRTOS». Получено 8 августа 2012.
  11. ^ «SmartBotPaper» (PDF). Архивировано из оригинал (PDF) на 2012-07-04. Получено 8 августа 2012.
  12. ^ Отношения между FreeRTOS и SAFEОСРВ
  13. ^ "EETimesSafetyCritical". Получено 8 августа 2012.
  14. ^ "Дизайн встраиваемых систем Европа". Получено 10 августа 2012.
  15. ^ "Инструменты Техаса" (PDF). Архивировано из оригинал (PDF) 4 июля 2013 г.. Получено 10 сен 2012.
  16. ^ Ассортимент продукции TI Stellaris
  17. ^ "OPENRTOS". Системы высокой надежности. Получено 28 ноября 2018.
  18. ^ «Лицензирование FreeRTOS с открытым исходным кодом». FreeRTOS. Получено 28 ноября 2018.

внешняя ссылка