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.

СОДЕРЖАНИЕ

  • 1 История
  • 2 Реализация
  • 3 Ключевые особенности
  • 4 Поддерживаемые архитектуры
  • 5 производных
    • 5.1 Amazon FreeRTOS
    • 5.2 САФЕРТО
    • 5.3 OPENRTOS
  • 6 См. Также
  • 7 ссылки
  • 8 Внешние ссылки

История

Ядро 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.

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

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

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

Последняя правка сделана 2023-04-04 11:27:23
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте