Для микроконтроллеров доступно множество различных RTOS. Я специально ищу RTOS, которые поддерживают процессоры ARM Cortex M. Кроме того, меня не интересуют решения с закрытыми исходными кодами.Количественные различия между ядрами RTOS для небольших микроконтроллеров ARM
Попытка сравнить относительные достоинства каждой RTOS с веб-сайтами и списками рассылки кажется довольно сложной, поскольку в основном они имеют эквивалентные функции и делают то же самое. Реальные различия становятся очевидными только после попытки использовать каждую RTOS для некоторых задач.
Я знаю, что это несколько субъективный вопрос и, вероятно, трудно ответить - но должно быть много людей, которые действительно пробовали несколько разных RTOS и сформировали мнение об относительных достоинствах каждого из них.
Меня особенно интересуют FreeRTOS, ChibiOS и Coocox CoOS, но другие варианты также очень приветствуются.
Например: казалось бы, что в ChibiOS, ЗРМС может вызывать любые функции системы, но эти вызовы должны быть обернуты в chSysLockFromIsr()
/chSysUnlockFromIsr()
и код не вытесняемый во время этих разделов. В CoOS единственными функциями, вызываемыми, являются только те, которые начинаются с isr_
, таких как isr_PostSem()
, isr_PostMail()
, isr_PostQueueMail()
и isr_SetFlag()
, но эти функции внутренне используют очередь запросов на обслуживание, что означает, что большая часть запроса является вытесняемой.
Согласно * Adi *, вам необходимо количественно оценить достоинства. * * Open Source * также означает бесплатную лицензию? Вам нужна файловая система, стек TCP/IP, важный размер кода, латентность прерывания, необходимая поддержка и т. Д. Также, как ваш список из трех, eCos, vxWorks, RTEMS, Integrity, Nucleus, OS-9, MQX , QNX, embOS, ThreadX, TRON, MicroC/OS-II и т. Д. Многие из них поставляются с источником по умолчанию или через запрос. Варианты BSD и Linux также могут работать. Поддержка платформы для Cortex-M обычно представляет собой очень ограниченный код (200-500 ассемблерных линий). То есть, легко переносить любую ОС ARM в Cortex-M с источником. –