FreeRTOS和CMSIS-RTOS有什么区别?谁能解释两个RTOS的相似或不同之处?

最佳答案

我认为这里引起困惑的原因是,存在CMSIS-RTOS API(v1v2),还有CMSIS-RTOS RTX,它是ARM的独立操作系统(由ARM制造),实现了该API。
这个想法是为RTOS创建一个通用的抽象层,因此,如果一个人对FreeRTOS队列不满意-他/她可以选择同一RTOS API的另一种实现,而无需大量更改其固件来源。
尽管我认为RTOS制造商会违反CMSIS-RTOS,就像MCU供应商违反CMSIS驱动程序API一样,但我个人更喜欢CMSIS-RTOS API。应该有许多包装器,它们提供了一层兼容的宏,以使现有的RTOS与CMSIS-RTOS API兼容。我只知道PolyMCU的尝试:

  • FreeRTOS-https://github.com/labapart/polymcu/blob/master/RTOS/FreeRTOS/cmsis/cmsis_os.h
  • ARM RTX-https://github.com/labapart/polymcu/blob/master/RTOS/RTX/INC/cmsis_os.h
  • RiotOS-https://github.com/labapart/polymcu/blob/master/RTOS/RioTOS/include/cmsis_os.h
  • 关于rtos - FreeRTOS和CMSIS-RTX之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41858814/

    10-14 04:08