Разработчик | Джованни Ди Сирио |
---|---|
Написано в | C , язык ассемблера |
Семейство ОС | Операционные системы реального времени |
Рабочее состояние | Стабильный |
Исходная модель | Открытый исходный код |
изначальный выпуск | 2007 |
Последний релиз | 20.3.2 / 1 августа 2020 г . |
Репозиторий | |
Платформы | Intel 80386 , ARM7 , ARM9 , ARM Cortex-M0 , ARM Cortex-M3 , ARM Cortex-M4 , ARM Cortex-M7 , [1] PowerPC , e200z , Atmel AVR , TI MSP430 , STM8 , Freescale Coldfire , Renesas H8 S |
Тип ядра | Микроядро |
Лицензия | GPL 3 или проприетарный |
Официальный веб-сайт | www.chibios.org |
ChibiOS / RT - это компактная и быстрая [2] операционная система реального времени, поддерживающая несколько архитектур и выпущенная под смесью лицензий GPL 3 и Apache 2.0 (в зависимости от модуля). Он разработан Джованни Ди Сирио.
Коммерческие лицензии доступны от ChibiOS . Дополнительные продукты включают ChibiOS / HAL, уровень аппаратной абстракции, совместимый с ChibiOS / RT, и ChibiStudio, бесплатную среду разработки на основе Eclipse , коллекции компиляторов GNU и модуля отладки OpenOCD 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 .
- Поддержка стеков TCP / IP LwIP и uIP .
- Поддержка библиотеки файловой системы FatFs.
Все системные объекты, такие как потоки , семафоры , таймеры и т. Д., Могут быть созданы и удалены во время выполнения. Верхнего предела нет, за исключением доступной памяти. Чтобы повысить надежность системы, архитектура ядра полностью статична, распределитель памяти не требуется (но доступен как опция), и отсутствуют структуры данных с верхними пределами размера, такие как таблицы или массивы. Системные API разработаны таким образом, чтобы не допускать ошибок, таких как коды ошибок или исключения.
RTOS предназначена для применения на встраиваемых устройствах и включает в себя демонстрационные приложения для различных микроконтроллеров :
- ST STM32F1xx, STM32F2xx, STM32F3xx, STM32F4xx, STM32L1xx, STM32F0xx
- СТ STM8S208x, STM8S105x, STM8L152x
- ST / Freescale SPC56x / MPC56xx
- NXP LPC11xx, LPC11Uxx, LPC13xx
- NXP LPC2148
- Atmel AT91SAM7S, AT91SAM7X
- Atmel Mega AVR
- ТИ MSP430x1611
- TI TM4C123G и TM4C1294
- Микрочип PIC32MX
Дополнительные порты также доступны для семейств Coldfire и H8S . [5]
ChibiOS / RT также был перенесен на Raspberry Pi [6], и были реализованы следующие драйверы устройств: порт (GPIO), последовательный, GPT (универсальный таймер), I2C, SPI и PWM.
Также возможно запустить ядро в процессе Win32 в режиме программной эмуляции ввода-вывода, что позволяет легко разрабатывать приложения без использования физического оборудования. Пример включен для компилятора MinGW .
uGFX [ править ]
ChibiOS / RT полностью поддерживается набором инструментов GUI µGFX . µGFX ранее назывался ChibiOS / GFX.
См. Также [ править ]
- Сравнение операционных систем с открытым исходным кодом
- Подробное объяснение многопоточности в ChibiOS / RT
Ссылки [ править ]
- ^ Ди Сирио, Джованни (nd). «Порт АРМв7-М» . chibios.org . ChibiOS . Проверено 20 августа 2020 .
Этот порт включает поддержку всех устройств, использующих одно из следующих ядер: Cortex-M3, Cortex-M4, Cortex-M7
- ^ Данные производительности ОСРВ на emb4fun.de Архивировано 11 января 2013 г. в Archive.today
- ^ "Статистика ChibiOS / RT на ohloh.net" . Архивировано из оригинала на 2014-04-14 . Проверено 30 января 2010 .
- ^ Подробное объяснение многопоточности в ChibiOS / RT
- ^ Дополнительные поддерживаемые архитектуры на emb4fun.de Архивировано 11 января 2013 г. в Archive.today
- ^ «ChibiOS / RT на Raspberry Pi» .
Внешние ссылки [ править ]
- Домашняя страница и документация ChibiOS / RT
- Страница проекта ChibiOS / RT и поддержка