FreeRTOS - FreeRTOS

FreeRTOS
Логотип freeRTOS.png
Разработчик Real Time Engineers Ltd.
Написано в C
Семейство ОС Операционные системы реального времени
Рабочее состояние Текущий
Исходная модель Открытый исходный код
Первый выпуск 2003 ; 18 лет назад ( 2003 )
Последний релиз 10.4.3 / 14 декабря 2020 г . ; 9 месяцев назад ( 2020-12-14 )
Репозиторий
Маркетинговая цель Встроенные системы
Доступно в английский
Платформы ARM (ARM7, ARM9, Cortex-M3 , -M4 , -M7 , -A , -R4 ), 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, MB96340, Nios II , TMS570, RM4x, Espressif ESP32, RISC-V
Тип ядра Микроядро ОСРВ
Лицензия Массачусетский технологический институт
Официальный веб-сайт www .freertos .org

FreeRTOS - это ядро операционной системы реального времени для встроенных устройств , которое было перенесено на 35 платформ микроконтроллеров . Распространяется по лицензии MIT .

История

Ядро FreeRTOS было первоначально разработано Ричардом Барри примерно в 2003 году, а затем было разработано и поддержано компанией Барри, Real Time Engineers Ltd. В 2017 году фирма передала управление проектом FreeRTOS Amazon Web Services (AWS). Барри продолжает работать над FreeRTOS в составе команды AWS.

Реализация

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

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

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

Нет ни одной из более продвинутых функций, которые обычно присутствуют в операционных системах, таких как Linux или Microsoft Windows , таких как драйверы устройств , расширенное управление памятью, учетные записи пользователей и сеть. Акцент делается на компактность и скорость исполнения. FreeRTOS можно рассматривать как библиотеку потоков, а не операционную систему , хотя доступны интерфейс командной строки и надстройки абстракции ввода / вывода (I / O), подобные POSIX .

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

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

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

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

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

Производные

Amazon FreeRTOS

Amazon предоставляет расширение FreeRTOS, называемое FreeRTOS . Это FreeRTOS с библиотеками для поддержки Интернета вещей (IoT), в частности для Amazon Web Services . Начиная с версии 10.0.0 в 2017 году, Amazon взяла на себя управление кодом FreeRTOS, включая любые обновления исходного ядра.

САФЕРТОС

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

SAFERTOS был разработан Wittenstein High Integrity Systems в партнерстве с Real Time Engineers Ltd, основным разработчиком проекта FreeRTOS. И SAFERTOS, и FreeRTOS используют один и тот же алгоритм планирования, имеют аналогичные интерфейсы прикладного программирования ( API ) и в остальном очень похожи, но были разработаны с разными целями. SAFERTOS был разработан исключительно на языке C для соответствия требованиям сертификации по IEC61508.

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

OPENRTOS

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

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

использованная литература

внешние ссылки