Closed. This question is opinion-based 。它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文来回答。

7年前关闭。



Improve this question




有许多不同的 RTOS 可用于微 Controller 。我特别在寻找支持 ARM Cortex M 处理器的 RTOS。另外,我对闭源解决方案不感兴趣。

试图从网站和邮件列表中比较每个 RTOS 的相对优点似乎非常困难,因为它们大多似乎具有相同的功能并做同样的事情。只有在尝试将每个 RTOS 用于某些任务之后,真正的差异才会变得明显。

我知道这是一个有点主观的问题,可能很难回答——但肯定有很多人实际上已经尝试了几种不同的 RTOS,并对每个 RTOS 的相对优点形成了意见。

我对 FreeRTOS、ChibiiOS 和 Coocox CoOS 特别感兴趣,但也非常欢迎其他选择。

例如:在 ChibiOS 中,ISR 似乎可以调用任何系统函数,但是这些调用必须包装在 chSysLockFromIsr()/chSysUnlockFromIsr() 中,并且在这些部分中代码是不可抢占的。在 CoOS 中,唯一可调用的函数是以 isr_ 开头的函数,例如 isr_PostSem()isr_PostMail()isr_PostQueueMail()isr_SetFlag() ,但这些函数在内部使用服务请求队列,这意味着大部分请求是可抢占的。

最佳答案

选择 RTOS 时可以考虑的一些功能:

  • 上下文切换时间
  • 中断延迟
  • 同步机制(标志、信号量、互斥锁、邮箱、队列等)
  • 优先级反转处理
  • 内存管理支持(即内存池)
  • 调度策略支持
  • MMU 支持
  • 进程支持
  • 内存占用
  • 内核本身的效率
  • POSIX 与非 POSIX API 的
  • 软件生态系统可用(又名中间件)
  • ...

  • 更关注哪一点取决于您要运行的应用程序。但总的来说,这些是我能记住的事情,它们在各种 RTOS 之间产生了差异。

    关于arm - 用于小型 ARM 微 Controller 的 RTOS 内核之间的可量化差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21694729/

    10-13 02:26