有许多不同的实时操作系统可用于微控制器。我特别寻找支持ARM Cortex M处理器的RTOS。另外,我对封闭源解决方案不感兴趣。
试图从网站和邮件列表中比较每个RTOS的相对优点似乎相当困难,因为它们似乎大多具有相同的功能,并且做同样的事情。真正的区别显然只有在尝试将每个RTOS用于某些任务之后。
我知道这是一个主观的问题,而且可能很难回答--但肯定有很多人实际上尝试过几种不同的实时操作系统,并对每个问题的相对优点形成了看法。
我对FreeRTOS、ChibiOS和Coocox CoOS特别感兴趣,但其他选择也非常受欢迎。
例如:在ChibiOS中,ISRs似乎可以调用任何系统函数,但是这些调用必须包装在chSysLockFromIsr()/chSysUnlockFromIsr()中,并且在这些部分中代码是不可抢占的。在CoOS中,唯一可调用的函数是以isr_开头的函数,如isr_PostSem()、isr_PostMail()、isr_PostQueueMail()和isr_SetFlag(),但是这些函数在内部使用服务请求队列,这意味着大多数请求是可抢占的。
发布于 2014-02-11 09:27:11
在选择RTOS时可以考虑到的一些特性:
哪一点需要更多的关注,取决于您将要运行的应用程序。但总的来说,这些都是我能记住的东西,它们在不同的实时操作系统之间起了很大的作用。
https://stackoverflow.com/questions/21694729
复制相似问题