Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

История [ править ]

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

Реализация [ править ]

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

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

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

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

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

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

Ключевые особенности [ править ]

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

Поддерживаемые архитектуры [ править ]

  • Альтера Ниос II
  • ARM архитектура
    • ARM7
    • ARM9
    • ARM Cortex-M
    • ARM Cortex-A
  • Атмель
    • Atmel AVR
    • AVR32
    • SAM3 / SAM4
    • SAM7 / SAM9
    • SAMD20 / SAML21
  • CEVA
    • CEVA-BXx
    • SensPro
    • CEVA-XC16
    • CEVA-XM6
    • CEVA-Xx
    • CEVA-XM4
  • Cortus
    • APS1
    • APS3
    • APS3R
    • APS5
    • FPS6
    • FPS8
  • Кипарис
    • PSoC
  • Энергия Микро
    • EFM32
  • eSi-RISC
    • eSi-16x0
    • eSi-32x0
  • DSP Group
    • DBMD7
  • Эспрессиф
    • ESP8266ex
    • ESP32
  • Fujitsu
    • FM3
    • MB91460
    • MB96340
  • Freescale
    • Холодный огонь V1 / V2
    • HCS12
    • Kinetis
  • IBM
    • PPC404 / PPC405
  • Infineon
    • TriCore
    • Infineon XMC4000
  • Intel
    • x86
    • 8052
  • Технология микрочипов
    • PIC18 / PIC24 / dsPIC
    • PIC32
  • Microsemi
    • SmartFusion
  • Мультиклет
    • Мультиклет P1
  • NXP
    • LPC1000
    • LPC2000
    • LPC4300
  • Renesas
    • 78K0R
    • RL78
    • H8 / S
    • RX600
    • RX200
    • SuperH
    • V850
  • RISC-V [7]
    • RV32I
    • RV64I
    • ЦЕЛЛЮЛОЗА
  • Силиконовые лаборатории
    • Геккон (ARM Cortex)
  • STMicroelectronics
    • STM32
    • STR7
  • Инструменты Техаса
    • MSP430
    • Stellaris
    • Геркулес (TMS570LS04 и RM42)
  • Xilinx
    • MicroBlaze
    • Zynq-7000

Производные [ править ]

Amazon FreeRTOS [ править ]

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

САФЕРТОС [ править ]

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

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

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

OPENRTOS [ править ]

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

См. Также [ править ]

  • Встроенная операционная система

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • Официальный веб-сайт