RTOS 与传统固件编码

标签 rtos real-time-systems

我对嵌入式世界还很陌生。我在为基于 ARM M0+ 的飞思卡尔微处理器编写固件方面有一些经验。我目前正在使用 CML-5282 开发板 (M5282LITE) 开发一个新项目,它配备了 RTXC Quadros RTOS。我想知道 RTOS 和在 codewarrior IDE 中编码有什么区别。它们是否共存并且 RTOS 只是简化了调度?或者可以用 RTOS 来代替 IDE 吗?我不知道 RTOS 是什么,请给我任何见解,我将不胜感激。

最佳答案

主要区别在于执行多任务的能力:并行运行更多任务。这是由调度程序完成的,调度程序是操作系统的核心。由于它是一个实时操作系统(RTOS),可以根据一些实时调度算法来调度任务。最流行的是固定优先级(即任务具有静态优先级,并且调度程序始终以最高优先级运行任务)。

RTOS 的优点:

  • 您可以将应用程序拆分为多个同时运行的任务
  • 某些驱动程序已经可用并可通过标准 API 进行访问

RTOS 的缺点:

  • 上下文切换带来的一些开销
  • 更复杂的调试(由于任务之间共享资源的竞争条件)

关于RTOS 与传统固件编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19759628/

相关文章:

real-time - AVR 上的多任务 RTOS

operating-system - 当没有用户代码运行时,CPU 中会发生什么?

operating-system - 为什么不是每个操作系统都是实时的?

linux - 你能在 RTLinux(实时 Linux)上使用 USB 吗?

java - 用Java绘制的实时系统的简单执行序列

uml - 状态机与微 Controller 的 RTOS

c - 多对一网守任务同步

c - 在 Linux 中的特定 CPU 上运行进程? (不能用命令行指定)

artificial-intelligence - 开始使用神经网络 (ANN)?

real-time - 如果简单地将其视为纯文本,操作转换是否适用于结构化文档(例如 HTML)?