rtos - FreeRTOS 和 CMSIS-RTX 之间的区别

标签 rtos freertos cmsis

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

最佳答案

我认为这里的混淆来源是存在 CMSIS-RTOS API( v1v2 ),并且存在 CMSIS-RTOS RTX ,这是一个独立的 ARM 操作系统(由 ARM 制造),它实现了这个 API。
这个想法是为 RTOS 创建一个通用的抽象层,因此如果一个人对 FreeRTOS 队列不满意 - 他/她可以选择相同 RTOS API 的另一个实现,而无需大量更改他/她的固件源。
虽然我认为 RTOS 制造商会违反 CMSIS-RTOS,就像 MCU 供应商违反 CMSIS Driver 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/

    相关文章:

    c - 在 RTOS 中安排帧的传输

    c++ - 为什么调试需要符号表

    c - 嵌入式 C#define

    c - UART 接收中断在成功接收数小时后停止触发

    c++ - 操作系统任务调度模拟器

    c - 如何在vxworks中查找套接字描述符的状态

    c - 使用Fatfs写入uint32_t数组

    c - 在免费 RTos 中实现调度程序

    c++ - 如何检查从哪里引用函数

    c - 如何使我的代码独立于 "RTOS"?