Разработчик | Real Time Engineers Ltd. |
---|---|
Написано в | C |
Семейство ОС | Операционные системы реального времени |
Рабочее состояние | Текущий |
Исходная модель | Открытый источник |
Последний релиз | 10.4.3 [1] / 2020-12-14 |
Репозиторий | |
Маркетинговая цель | Встроенные устройства |
Платформы | ARM (ARM7, ARM9, Cortex-M3 , Cortex-M4 , Cortex-M7 , Cortex-A , Cortex-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 series, Fujitsu MB96340 series, Nios II , TMS570, RM4x, Espressif ESP32,RISC-V |
Тип ядра | Микроядро |
Лицензия | Массачусетский технологический институт [2] |
Официальный веб-сайт | www |
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 , предлагая бесплатную версию с ограниченными функциями.
Поддерживаемые архитектуры [ править ]
Этот раздел требует дополнительных ссылок для проверки . Декабрь 2019 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) ( |
- Альтера Ниос 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]
См. Также [ править ]
- Встроенная операционная система
Ссылки [ править ]
- ^ "www.freertos.org/History.txt" . 2020-12-14.
- ^ «Лицензирование с открытым исходным кодом FreeRTOS» . 2017-12-22.
- ^ a b «Исследование рынка встраиваемых систем, 2011 г.» . EE Times. Архивировано из оригинала на 2012-04-02.
- ^ Колесник, Сергей (2013-12-08). «Сравнение микроконтроллеров с операционными системами реального времени» .
Ядро не является ОСРВ, но это может сбивать с толку из-за неправильного наименования, выбранного для некоторых популярных ядер, например «freeRTOS».
- ^ "Почему RTOS и что такое RTOS?" . Проверено 29 августа 2014 .
Что такое FreeRTOS?
… Ограничения по размеру и характер специализированного конечного приложения редко оправдывают использование полной реализации RTOS - или даже делают возможным использование полной реализации RTOS.
Таким образом, FreeRTOS предоставляет только основные функции планирования в реальном времени, межзадачную связь, синхронизацию и примитивы синхронизации.
Это означает, что его более точно описать как ядро реального времени или исполнительное устройство реального времени.
…
- ^ http://www.openrtos.net/RTOS.html
- ^ «Использование FreeRTOS на микроконтроллерах RISC-V» . FreeRTOS . Проверено 11 сентября 2019 года .
- ^ «Amazon FreeRTOS» . Amazon . Проверено 28 ноября 2018 .
- ^ «Часто задаваемые вопросы: Amazon FreeRTOS» . FreeRTOS . Проверено 28 ноября 2018 .
- ^ «Amazon FreeRTOS - новая ОС для Интернета вещей» . TechCrunch . Проверено 4 декабря 2018 .
- ^ "FreeRTOS" . Дата обращения 8 августа 2012 .
- ^ "SmartBotPaper" (PDF) . Архивировано из оригинального (PDF) 04.07.2012 . Дата обращения 8 августа 2012 .
- ^ Связь между FreeRTOS и SAFE RTOS
- ^ "EETimesSafetyCritical" . Дата обращения 8 августа 2012 .
- ^ "Встраиваемая система проектирования Европы" . Проверено 10 авг 2012 .
- ^ "Техасские инструменты" (PDF) . Архивировано из оригинального (PDF) 4 июля 2013 года . Дата обращения 10 сентября 2012 .
- ^ Ассортимент продукции TI Stellaris
- ^ "OPENRTOS" . Системы высокой надежности . Проверено 28 ноября 2018 .
- ^ «Лицензирование с открытым исходным кодом FreeRTOS» . FreeRTOS . Проверено 28 ноября 2018 .
Внешние ссылки [ править ]
Викискладе есть медиафайлы по теме FreeRTOS . |
- Официальный веб-сайт