FreeRTOS
Разработчик | Веб-сервисы Amazon |
---|---|
Написано в | С |
Семейство ОС | Операционные системы реального времени |
Рабочее состояние | Текущий |
Исходная модель | Открытый исходный код |
Первоначальный выпуск | 2003 год |
Последний выпуск | 10.6.1 [1] / 13 июля 2023 г |
Репозиторий | |
Маркетинговая цель | Встраиваемые системы |
Доступно в | Английский |
Платформы | 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 (например, SHAKTI ) |
ядра Тип | реального времени Микроядро |
Лицензия | С [2] |
Официальный сайт | www |
FreeRTOS — операционной системы реального времени. ядро [3] [4] [5] для встраиваемых устройств , портированных на 35 платформ микроконтроллеров . Распространяется по лицензии MIT .
История
[ редактировать ]Ядро FreeRTOS было первоначально разработано Ричардом Барри примерно в 2003 году, а затем было разработано и поддерживается компанией Барри, Real Time Engineers Ltd. В 2017 году компания передала управление проектом FreeRTOS компании Amazon Web Services (AWS). Барри продолжает работать над FreeRTOS в составе команды AWS. [6]
Выполнение
[ редактировать ]FreeRTOS спроектирован так, чтобы быть небольшим и простым. В основном он написан на языке программирования C , чтобы его можно было легко портировать и поддерживать. Там, где это необходимо, он также включает в себя несколько функций языка ассемблера , в основном в подпрограммах планировщика, зависящих от архитектуры.
Управление процессами
[ редактировать ]FreeRTOS предоставляет методы для нескольких потоков или задач , мьютексы , семафоры и программные таймеры . Бестиковый . режим предусмотрен для приложений с низким энергопотреблением Поддерживаются приоритеты потоков. Приложения FreeRTOS могут выделяться статически, но объекты также могут выделяться динамически с помощью пяти схем управления памятью (распределения):
- только выделить;
- выделяйте и освобождайте с помощью очень простого и быстрого алгоритма;
- более сложный, но быстрый алгоритм выделения и освобождения с объединением памяти ;
- альтернатива более сложной схеме, включающей объединение памяти, позволяющее разбить кучу по нескольким областям памяти.
- и библиотека C распределяется и освобождается с некоторой защитой взаимного исключения.
ОСРВ обычно не имеет более продвинутых функций, которые есть в таких операционных системах, как Linux и Microsoft Windows , таких как драйверы устройств , расширенное управление памятью и учетные записи пользователей. Акцент делается на компактность и скорость исполнения. FreeRTOS можно рассматривать как библиотеку потоков, а не как операционную систему, хотя ввода/вывода доступны интерфейс командной строки и POSIX-подобная абстракция (I/O).
FreeRTOS реализует несколько потоков, заставляя хост-программу вызывать метод проверки потока через регулярные короткие промежутки времени. Метод тика потока переключает задачи в зависимости от приоритета и схемы циклического планирования . Обычный интервал составляет от 1 до 10 миллисекунд ( 1 ⁄ 1000 до 1/100 секунды . ) посредством прерывания аппаратного таймера, но этот интервал часто меняется в зависимости от конкретного приложения
Дистрибутив программного обеспечения содержит готовые конфигурации и демонстрации для каждого порта и компилятора, что позволяет быстро разрабатывать приложения. На веб-сайте проекта представлена документация и учебные пособия по ОСРВ, а также подробные сведения о конструкции ОСРВ.
Ключевые особенности
[ редактировать ]- Книги и справочные руководства.
- Небольшой размер памяти, низкие накладные расходы и быстрое выполнение.
- Бестиковый вариант для приложений с низким энергопотреблением.
- Предназначен как для любителей, так и для профессиональных разработчиков, работающих над коммерческими продуктами.
- Планировщик можно настроить как для вытесняющей, так и для совместной многозадачности.
- Поддержка сопрограмм (сопрограммы во FreeRTOS — это простые и легковесные задачи с ограниченным использованием стека вызовов )
- Поддержка трассировки с помощью общих макросов трассировки. Такие инструменты, как Tracealyzer, коммерческий инструмент партнера FreeRTOS Percepio, могут, таким образом, записывать и визуализировать во время выполнения поведение систем на базе FreeRTOS для отладки и проверки. Сюда входит планирование задач и вызовы ядра для операций семафора и очереди.
Поддерживаемые архитектуры
[ редактировать ]Этот раздел нуждается в дополнительных цитатах для проверки . ( декабрь 2019 г. ) |
- Другой Ниос II
- ARM-архитектура
- Атмел
- Что-нибудь
- Что-то-BXx
- СенсПро
- Что-то-XC16
- Что-то-XM6
- Что-то-хх
- Что-то-XM4
- Кортус
- АПС1
- АПС3
- АПС3Р
- АПС5
- ФПС6
- ФПС8
- Кипарис
- Энергия Микро
- eSi-ОБОГРЕВ
- ЭСи-16х0
- ЭСи-32х0
- Группа ДСП
- ДБМД7
- Эспрессиф
- Фуджицу
- FM3
- МБ91460
- МБ96340
- Фрискейл
- ИБМ
- КПП404 , КПП405
- Инфинеон
- Интел
- Микрочиповая технология
- ПИК18, ПИК24, дсПИК
- ПИК32
- Микросеми
- Мультиклет
- П1
- НХП
- Ренесас
- РИСК-V [7]
- РВ32И
- РВ64И
- ЦЕЛЛЮЛОЗА RI5CY
- Кремниевые лаборатории
- Геккон (ARM Cortex)
- СТМикроэлектроника
- СТМ32
- STR7
- Техасские инструменты
- Ксилинкс
Выводы
[ редактировать ]Amazon FreeRTOS
[ редактировать ]Amazon предоставляет устаревшее расширение 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 — это коммерческая лицензионная версия Amazon FreeRTOS, продаваемая Wittenstein High Integrity Systems. Этот продукт обеспечивает поддержку и позволяет компаниям использовать ядро и библиотеки Amazon FreeRTOS без лицензии a:FreeRTOS MIT. [18] [19]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Релизы FreeFTOS на Github» . Гитхаб . 17 августа 2023 г.
- ^ «Лицензирование открытого исходного кода FreeRTOS» . 22 декабря 2017 г.
- ^ Перейти обратно: а б «Исследование рынка встраиваемых систем 2011 г.» . ЭЭ Таймс. Архивировано из оригинала 02 апреля 2012 г.
- ^ Колесник, Сергей (08 декабря 2013 г.). «Сравнение микроконтроллерных операционных систем реального времени» .
Ядро не является RTOS, но это может сбивать с толку из-за неправильного названия, выбранного для некоторых популярных ядер, например «freeRTOS».
- ^ «Почему RTOS и что такое RTOS?» . Проверено 29 августа 2014 г.
Что такое FreeRTOS? … Ограничения по размеру и характер специализированного конечного приложения редко оправдывают использование полной реализации RTOS или даже делают возможным использование полной реализации RTOS. Таким образом, FreeRTOS предоставляет только основные функции планирования в реальном времени , межзадачную связь, синхронизацию и примитивы синхронизации. Это означает, что его точнее описать как ядро реального времени или исполнительную систему реального времени. …
- ^ «RTOS — Бесплатная профессионально разработанная и надежная операционная система реального времени для разработки небольших встроенных систем» .
- ^ «Использование FreeRTOS на микроконтроллерах RISC-V» . FreeRTOS . Проверено 11 сентября 2019 г.
- ^ «Амазонка FreeRTOS» . Амазонка . Проверено 28 ноября 2018 г.
- ^ «Часто задаваемые вопросы: Amazon FreeRTOS» . FreeRTOS . Проверено 28 ноября 2018 г.
- ^ «Amazon FreeRTOS — это новая ОС для Интернета вещей» . TechCrunch. 29 ноября 2017 года . Проверено 4 декабря 2018 г.
- ^ «ФриРТОС» . Проверено 8 августа 2012 г.
- ^ «SmartBotPaper» (PDF) . Архивировано из оригинала (PDF) 4 июля 2012 г. Проверено 8 августа 2012 г.
- ^ Связь между FreeRTOS и SAFE RTOS
- ^ «EETimesSafetyCritical» . Проверено 8 августа 2012 г.
- ^ «Дизайн встраиваемых систем в Европе» . Архивировано из оригинала 23 октября 2012 года . Проверено 10 августа 2012 г.
- ^ «Техасские инструменты» (PDF) . Архивировано из оригинала (PDF) 4 июля 2013 года . Проверено 10 сентября 2012 г.
- ^ Ассортимент продукции TI Stellaris
- ^ «ОПЕНРТОС» . Системы высокой целостности . Проверено 28 ноября 2018 г.
- ^ «Лицензирование открытого исходного кода FreeRTOS» . FreeRTOS . Проверено 28 ноября 2018 г.