【发布时间】:2016-04-15 03:02:45
【问题描述】:
如果我们已经可以像微控制器一样在 cortex-m 上执行 C 程序,为什么还要安装 RTOS(或其他操作系统)。? 如果微控制器是多用途的,它可以提供什么好处?
【问题讨论】:
如果我们已经可以像微控制器一样在 cortex-m 上执行 C 程序,为什么还要安装 RTOS(或其他操作系统)。? 如果微控制器是多用途的,它可以提供什么好处?
【问题讨论】:
RTOS 可能带来的典型事物,
您的应用程序可能需要也可能不需要这些功能,具体取决于您的最终目标。其中一些可能不利于您的组织工作流程(如工具套件和构建环境)。随着产品的成熟,您最终可能会需要您没有考虑到的功能。
但是,完全定制的解决方案可能占用的空间更小。中断处理中涉及的竞争条件可能很难正确处理。可能大多数 RTOS 会提供比随时间发展的定制更好的实现。如果您非常敬业,则带有设备轮询的状态机可能会更优化(硬实时),但同样很难做到正确。
如果 RTOS 获得 BSD(或其他许可)许可,则可以将驱动程序代码重用于您自己的自定义基础架构。在某些时候,您的代码可能会变成某种“RTOS”。有many to choose from。
POSIX 合规性是一个通用标准。如果您将代码限制在 POSIX,您可以移植到许多不同的 RTOS/OS。然而,最常见的 API 比 POSIX 更丰富;这是他们区分彼此的一种方式。如果 RTOS 兼容 POSIX,您也许可以使用更多的 3rd 方库。
【讨论】:
不,只有当您需要/想要(特定)RTOS 的功能时,您才需要 RTOS。如果您愿意,您可以按照您/我们一直没有的方式对微控制器进行编程。
【讨论】:
操作系统在应用程序员编写的代码和程序运行的实际硬件之间提供了一定程度的抽象。 因此,作为应用程序程序员,您不必担心硬件的细节,因为它们是由驱动程序处理的。 因此,如果它们运行相同(或兼容)的操作系统,您可以为许多不同的硬件平台编译相同的程序。
【讨论】: