ЧибиОС/РТ
![]() | |
Разработчик | Джованни Ди Сирио |
---|---|
Написано в | Си , язык ассемблера |
Семейство ОС | Операционные системы реального времени |
Рабочее состояние | Текущий |
Исходная модель | Открытый исходный код |
Первоначальный выпуск | 2007 г |
Последний выпуск | 21.11.3 / 29 декабря 2022 г |
Репозиторий | |
Маркетинговая цель | Встроенные системы |
Доступно в | Английский |
Платформы | Интел 80386 ; ARM 7, 9 , Кора: M0 , M3 , M4 , M7 ; [1] PowerPC , e200z ; Атмел АВР ; ТИ MSP430 ; СТМ8 ; Фрискейл Колдфайр ; Ренесас H8 S |
ядра Тип | Микроядро |
Лицензия | GPL 3 или собственная лицензия |
Официальный сайт | www |
ChibiOS/RT — компактная и быстрая [2] Операционная система реального времени, поддерживающая несколько архитектур и выпущенная под лицензией GNU General Public License версии 3 (GPL3) и Apache License 2.0 (в зависимости от модуля). Его разработал Джованни Ди Сирио.
Коммерческие лицензии доступны в ChibiOS . Дополнительные продукты включают ChibiOS/HAL, уровень аппаратной абстракции , совместимый с ChibiOS/RT, и ChibiStudio, бесплатную интегрированную среду разработки на основе Eclipse , коллекции компиляторов GNU и OpenOCD Joint Test Action Group ( JTAG модуля отладки ).
Метрики
[ редактировать ]ChibiOS/RT предназначена для встраиваемых приложений на микроконтроллерах 8- , 16- и 32 -битных . Размер и эффективность исполнения — основные цели проекта. [3] Для справки: размер ядра может варьироваться от минимум 1,2 КиБ до максимум 5,5 КиБ со всеми подсистемами, активированными на процессоре STM32 Cortex-M3 . Ядро может создавать более 220 000 создаваемых/завершаемых потоков в секунду и выполнять переключение контекста за 1,2 микросекунды на STM32 с частотой 72 МГц. Аналогичные метрики для всех поддерживаемых платформ включены в дистрибутив исходного кода в виде отчетов о тестировании.
Функции
[ редактировать ]ChibiOS/RT Микроядро поддерживает:
- Вытесняющая многопоточность [4]
- 128 приоритетной очереди уровней
- Циклическое планирование для потоков с одинаковым уровнем приоритета.
- Программные таймеры
- Подсчет семафоров
- Мьютексы с поддержкой наследования приоритетов алгоритма
- Условные переменные
- Синхронные и асинхронные сообщения
- Флаги событий и обработчики
- Решка
- Синхронный и асинхронный ввод-вывод с тайм-аута возможностью
- Потокобезопасные распределители кучи и пула памяти .
- Уровень аппаратной абстракции с поддержкой драйверов ADC , CAN , GPT (таймер общего назначения), EXT , I²C , ICU, MAC , MMC/SD , PAL , PWM , RTC , SDC , Serial , SPI и USB .
- Поддержка LwIP и uIP . стеков TCP/IP
- Поддержка библиотеки файловой системы FatFs .
Все системные объекты, такие как потоки , семафоры , таймеры и т. д., можно создавать и удалять во время выполнения. Верхнего предела, за исключением доступной памяти, нет. Для повышения надежности системы архитектура ядра полностью статична, распределитель памяти не требуется (но доступен как опция), а также отсутствуют структуры данных с верхними ограничениями размера, такие как таблицы или массивы . Программные интерфейсы системных приложений ( API ) разработаны таким образом, чтобы не возникало ошибок, таких как коды ошибок или исключения.
ОСРВ встроенных предназначена для приложений на системах (устройствах) и включает демонстрационные приложения для различных микроконтроллеров :
- STMicroelectronics – STM32F1xx, STM32F2xx, STM32F3xx, STM32F4xx, STM32L1xx, STM32F0xx ; STM8S208x, STM8S105x, STM8L152x ; ST/Freescale SPC56x, MPC56xx
- NXP Semiconductors — LPC11xx, LPC11Uxx, LPC13xx , LPC2148
- Atmel — AT91SAM7S, AT91SAM7X , мегаАВР
- Техасские инструменты (ТИ) – MSP430x1611 ; ТМ4C123G, ТМ4C1294
- Микрочиповая технология — PIC32MX
Дополнительные порты также доступны для семейств Coldfire и H8S . [5]
ChibiOS/RT также была портирована на Raspberry Pi. [6] и были реализованы следующие драйверы устройств: порт (GPIO), последовательный порт, GPT (таймер общего назначения), I2C, SPI и PWM.
Также возможно запустить ядро в Win32 процессе в режиме программной эмуляции ввода-вывода, что позволяет легко разрабатывать приложения без необходимости использования физического оборудования. Включен пример для MinGW компилятора .
uGFX
[ редактировать ]ChibiOS/RT полностью поддерживается набором инструментов графического пользовательского интерфейса (GUI) µGFX, ранее называвшимся ChibiOS/GFX.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Ди Сирио, Джованни. «Порт ARMv7-M» . ChibiOS.org . Проверено 20 августа 2020 г.
Этот порт включает поддержку всех устройств, использующих одно из следующих ядер: Cortex-M3, Cortex-M4, Cortex-M7.
- ^ Данные о производительности RTOS на emb4fun.de. Архивировано 11 января 2013 г. на archive.today.
- ^ «Статистика ChibiOS/RT на ohloh.net» . Архивировано из оригинала 14 апреля 2014 г. Проверено 30 января 2010 г.
- ^ «Подробное объяснение многопоточности в ChibiOS/RT» . Архивировано из оригинала 23 апреля 2018 г. Проверено 3 ноября 2016 г.
- ^ Дополнительные поддерживаемые архитектуры на emb4fun.de. Архивировано 11 января 2013 г. на archive.today.
- ^ «ChibiOS/RT на Raspberry Pi» .