为什么我们需要ARM Cortex-M上的RTOS

时间:2016-01-10 21:07:43

标签: arm rtos cortex-m

如果我们已经可以在类似微控制器的cortex-m上执行C程序,为什么我们甚至需要安装RTOS(或其他操作系统)。 如果微控制器是多用途的,它可以提供什么好处?

3 个答案:

答案 0 :(得分:1)

仅当您需要/想要(特定)RTOS的功能时,不需要RTOS。如果您愿意,您可以按照您/我们一直拥有的方式对微控制器进行编程。

答案 1 :(得分:0)

RTOS可能带来的典型事情,

  1. 内存管理(谁拥有内存)
  2. 中断处理支持
  3. 安排(先发制人或合作社)
  4. 通常是BSP中的硬件/ SOC的几个驱动程序
  5. 调试工具
  6. 某种shell
  7. 文件系统
  8. IPC(进程间通信)
  9. 工具套件
  10. 构建环境
  11. 内存保护
  12. 网络
  13. 根据您的最终目标,您的应用可能需要也可能不需要这些功能。其中一些可能对您的组织工作流程(如工具套件和构建环境)有害。随着产品的成熟,您可能最终需要您没有考虑的功能。

    但是,完全自定义的解决方案可能会有更小的占地面积。中断处理中涉及的竞争条件可能很难做到。可能大多数RTOS将提供比随时间演变的自定义更好的实现。如果你非常敬业,那么设备轮询的状态机可以更加优化(实时性很强),但同样很难做到正确。

    如果RTOS是BSD(或其他许可)许可,则可以将驱动程序代码重用到您自己的自定义基础结构中。在某些时候,您的代码可能会变成一个< RTOS'各种各样的。有many to choose from

    POSIX 合规性是一种通用标准。如果将代码限制在 POSIX ,则可以移植到许多不同的RTOS / OS。但是,大多数情况下,API比 POSIX 更丰富;这是他们彼此区分的一种方式。如果RTOS符合 POSIX ,您可以使用更多3 rd 方库。

答案 2 :(得分:-1)

操作系统提供应用程序编写者编写的代码与程序运行的实际硬件之间的抽象级别。 因此,作为应用程序员,您不必担心硬件的细节,因为它们由驱动程序处理。 因此,如果它们运行相同(或兼容)的操作系统,您可以为许多不同的硬件平台编译相同的程序。