RTOS与传统固件编码

时间:2013-11-03 23:45:10

标签: rtos real-time-systems

我对嵌入式世界还是比较陌生的。我对基于ARM M0 +的freescale微处理器的固件编码有一点经验。我目前正在使用CML-5282开发板(M5282LITE)开发一个新项目,它附带RTXC Quadros RTOS。我想知道RTOS和codewarrior IDE中的编码有什么区别。它们是否共存,RTOS只是简化了时间安排?或者你可以一起用RTOS替换IDE吗?我不知道RTOS是什么,请给我任何见解,我很感激。

3 个答案:

答案 0 :(得分:2)

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

RTOS的优点:

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

RTOS的缺点:

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

答案 1 :(得分:1)

不同的RTOS在大小和功能上各不相同,但从根本上说,RTOS提供了任务或线程,同步机制,定时器和进程间通信的调度(通常是基于优先级的预先调度)。

典型的RTOS作为静态链接库提供,您可以像应用任何其他库一样链接到应用程序。 IDE完全不同,尽管在某些情况下,您可以通过运行时调试工具和(不太常见的)线程级调试将RTOS与IDE集成在一起。

你可以查看Jack Ganssle的Fundamentals of Real-time Operating Systems课程。它在示例中使用了uC / OS-II,但是相当通用,并且原则适用。

答案 2 :(得分:0)

RTOS是一个代码库,您将与应用程序代码链接。 RTOS提供了帮助您创建多任务应用程序的例程。这包括调度程序和任务间通信功能,如信号量,队列和邮箱。

RTOS不会取代您的IDE。您仍然需要用于编辑,编译,链接和调试应用程序的工具,这就是IDE提供的工具。有时IDE是“RTOS感知”,这意味着调试器在调试多任务应用程序时提供了额外的帮助。例如,它可以以易于阅读的方式显示RTOS数据类型,例如任务和信号量。或者它可能支持特定于任务的断点。