Инструменты пользователя

Инструменты сайта


rtos:freertos

На главную, Операционные системы реального времени (ОСРВ)


FreeRTOS

FreeRTOS — это многозадачная, мультиплатформенная, бесплатная операционная система жесткого реального времени с открытым исходным кодом. FreeRTOS была разработана компанией Real Time Engineers Ltd. специально для встраиваемых систем. В течение 2008 и 2009 годов произошло более 77 500 загрузок FreeRTOS с официального сайта, что делает ее одной из самых популярных ОСРВ на сегодня. Бóльшая часть кода FreeRTOS написана на языке Си, ассемблерные вставки минимального объема применяются лишь там, где невозможно применить Си из-за специфики конкретной аппаратной платформы.

Основные характеристики FreeRTOS:

  1. Планировщик FreeRTOS поддерживает три типа многозадачности:
    • вытесняющую;
    • кооперативную;
    • гибридную.
  2. Размер ядра FreeRTOS составляет всего 4–9 кбайт, в зависимости от типа платформы и настроек ядра.
  3. FreeRTOS написана на языке Си (исходный код ядра представлен в виде всего лишь четырех Си-файлов).
  4. Поддерживает задачи (tasks) и сопрограммы (co-routines). Сопрограммы специально созданы для МК с малым объемом ОЗУ.
  5. Богатые возможности трассировки.
  6. Возможность отслеживать факт переполнения стека.
  7. Нет программных ограничений на количество одновременно выполняемых задач.
  8. Нет программных ограничений на количество приоритетов задач.
  9. Нет ограничений в использовании приоритетов: нескольким задачам может быть назначен одинаковый приоритет.
  10. Развитые средства синхронизации «задача – задача» и «задача – прерывание»:
    • очереди;
    • двоичные семафоры;
    • счетные семафоры;
    • рекурсивные семафоры;
    • мьютексы.
  11. Мьютексы с наследованием приоритета.
  12. Поддержка модуля защиты памяти (Memory protection unit, MPU) в процессорах Cortex-M3.
  13. Поставляется с отлаженными примерами проектов для каждого порта и для каждой среды разработки.
  14. FreeRTOS полностью бесплатна, модифицированная лицензия GPL позволяет использовать FreeRTOS в проектах без раскрытия исходных кодов.
  15. Документация в виде отдельного документа платная, но на официальном сайте в режиме on-line доступно исчерпывающее техническое описание на английском языке.

Полезные ссылки

  • FreeRTOS — операционная система для микроконтроллеров Хорошая статья в журнале «Компоненты», 2011г.
    Это первая статья из цикла, посвященного операционной системе для микроконтроллеров FreeRTOS. Статья познакомит читателя с задачами, которые решают операционные системы (ОС) для микроконтроллеров (МК). Освещены вопросы целесообразности применения, преимущества и недостатки, присущие ОС для МК. Представлены возможности FreeRTOS, описаны ее особенности, а также приведена структура дистрибутива FreeRTOS с кратким описанием назначения входящих в него файлов и директорий.
  • STM32 и FreeRTOS. Цикл статей на Хабре.
    Данный цикл из 5 статей рассчитан на тех, кому стало мало возможностей привычных «тинек» и ардуинок, но все попытки перейти на более мощные контроллеры оканчивались неудачей или не приносили столько удовольствия, сколько могли бы. Все ниженаписанное проговаривалось мной много раз на «ликбезе» программистов нашей студии (которые часто сознавались, что переход с «тинек» на «стмки» открывает столько возможностей, что попадаешь в ступор, не зная за что хвататься), поэтому смею надеяться, что польза будет всем. При прочтении подразумевается, что читающий — человек любопытный и сам смог найти и поставить Keil, STM32Cube и понажимать кнопки «ОК». Для практики я использую оценочную плату STM32F3DISCOVERY, ибо она дешевая, на ней стоит мощный процессор и есть куча светодиодиков.

На главную, Операционные системы реального времени (ОСРВ)

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
C K B E G
 
rtos/freertos.txt · Последнее изменение: 2019/01/14 07:43 — 127.0.0.1

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: GNU Free Documentation License 1.3
GNU Free Documentation License 1.3 Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki