Разработчик | 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 могут быть размещены динамически с помощью пяти схем управления (распределения) памяти :
Нет ни одной из более продвинутых функций, которые обычно присутствуют в операционных системах, таких как Linux или Microsoft Windows, таких как драйверы устройств, расширенное управление памятью, учетные записи пользователей и сеть. Акцент делается на компактность и скорость исполнения. FreeRTOS можно рассматривать как библиотеку потоков, а не операционную систему, хотя доступны интерфейс командной строки и надстройки абстракции ввода / вывода (I / O), подобные POSIX.
FreeRTOS реализует несколько потоков, заставляя хост-программу вызывать метод отметки потока через регулярные короткие промежутки времени. Метод тика потока переключает задачи в зависимости от приоритета и схемы циклического планирования. Обычный интервал составляет от 1 до 10 миллисекунд (от 1/1000 до 1/100 секунды) через прерывание от аппаратного таймера, но этот интервал часто изменяется в зависимости от конкретного приложения.
Загружаемый файл содержит подготовленные конфигурации и демонстрации для каждого порта и компилятора, что позволяет быстро разрабатывать приложения. Сайт FreeRTOS.org также содержит много документации и руководств по ОСРВ (дополнительные руководства и учебные пособия доступны за отдельную плату), а также подробные сведения о конструкции ОСРВ.
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 - это коммерчески лицензированная версия Amazon FreeRTOS, продаваемая WITTENSTEIN High Integrity Systems. Этот продукт обеспечивает поддержку и позволяет компаниям использовать ядро и библиотеки Amazon FreeRTOS без лицензии a: FreeRTOS MIT.