我对嵌入式世界还很陌生。我在为基于 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/