| 网站首页 | 新闻 | SOPC | FPGA | DSP | ARM | 嵌入式操作系统 | 下载 | 网上商城 | 芯片价格参考 | 留言 | 论坛 | 网络协议 | 驱动设计 | 购买指南-HowtoBuy | 
您现在的位置: FPGA开发板&SOPC开发板-嵌入式控制研究室 >> 嵌入式操作系统 >> 综合 >> 文章正文 用户登录 新用户注册
为何选择RTEMS          【字体:
为何选择RTEMS
作者:佚名    文章来源:21control    点击数:    更新时间:2006-4-5
摘要

   为什么RTEMS非常适合嵌入式开发

在概论里面已经介绍过RTEMS的性能,为了连载的完整性,这里再介绍一下实时系统的特性以及为什么选择RTEMS。

在在国内,提到嵌入式系统,人们更多的想到的是Linux和ucOSII,一个是GPL的,一个是简单、开源的。但是另一方面,Linux很多设计理念更适合PC,所以资源占用较多,最后可能导致产品成本过高或者质量不可控。而uCOSII虽然开源,但是如果用于商业用途,则是要每个产品征收相应的费用(和 Vxworks类似,但是要便宜一些)。不少人直接把uCOSII放在自己的产品中。而没有申请商业版的Licence,这实际是非法的。(当然,现在盗版光盘也非法,但是也有不少人买卖)

对于RTEMS,很多人都很陌生,其实真是藏在闺中无人识。我不知道上天的神州五号有没有使用RTEMS,但是航天工业部里面,很多项目是基于RTEMS的。国内也有一些单位和个人把RTEMS改装一下,然后号称自主知识产权,骗取863、973基金。

那么,究竟RTEMS有什么独特之处,使他成为嵌入式系统里面的常青树呢,下面我将逐步介绍。

RTEMS 诞生于20世纪80年代,最早用于美国国防部的导弹控制系统,他在诞生时就瞄准了高实时性和高可用性的标准,并且采用了面向对象技术、构件技术等到现在也非常先进的理念构造而成,不但有非常好的实时性和稳定性,也具有非常好的客复用性。当时RTEMS的全称是"实时导弹控制执行体"。现在RTEMS的全称是 "多处理器实时操作系统",是一个纯粹的32位系统(由于充分利用了32位的特性,所以无法像uCOSII那样用于8位和16位系统)。经过了20多年的持续开发,RTEMS拥有非常广泛的客户,也具有丰富的开发资源。尤其在实时性、稳定性、开发速度和多处理器支持上面都是非常优秀的。

实时系统是一种很特殊的系统,他在任务的调度上比普通操作系统如Linux和windows有更为严格的要求。实时系统最为关键的特性是他的实时性,所谓实时性指的是能够在规定的时间内处理外部的信息。有时候需要处理的信息可能是突发的大量信息,既可能是一串毫不相关的信息,也可能是一些相互关联具有同步关系的信息,还可能是循环信息。

实时嵌入式系统里任务的实时性可以分为硬实时和软实时,区分的标准是看任务在规定时间里面没有完成的时候的返回值。硬实时任务的规定时间到来的时候如果没有结束没有返回值,或者返回的值会导致系统异常。软实时则在任务没有结束的时候会有可供系统处理的返回值。

实时系统的另外一个特性是管理协调大规模并发进程的能力。任务是并发的,但是处理器以及硬件资源有限,指令只能一条一条的执行。虽然在现在的操作系统理论中提出了很多多进程并发执行的方法,但是多个进程间的同步和异步处理仍然让大多数设计者头疼,如果有了RTOS,设计者的工作就简单了很多。在RTEMS 中一个执行程序可以包含了若干的进程,每个进程都是可控的。每个进程在逻辑上都是同步执行。系统组件提供了为多个进程管理协调硬件资源的能力。同时,进程管理组件也能接受硬件中断以及驱动程序中断。经过RTEMS的扩展,实时系统的设计变得简单。

如果有多个处理器,或者一个处理器中有多个内核(比如ARM+DSP),设计就变得更为麻烦。多个处理器间的通信以及多个处理器间的资源共享需要RTOS 进行调度,在这一点上面,RTEMS做得比较好。RTEMS的多处理器扩展能协调分布在不同处理器上面的任务。通过扩展,系统的实时性更强,更加有效,也更为可靠。

RTEMS提供了多种API的接口,除了RTEMS本身的API以外,还提供了POSIX接口(Linux以及VxWorks的程序能方便移植),pSOS的API以及ITRON的API。这些API能让软件设计者摆脱对多任务和多处理器控制的底层细节。此外RTEMS还提供内存管理、消息管理、互斥变量管理、GDB调试等一系列的API。这些API使用户能专心开发应用程序,大大提高了效率。

此外,RTEMS另一个独特之处在于他是面向对象的,RTEMS的是第一个面向对象的实时嵌入式系统。在RTEMS中,任务、中断、内存等等都是对象,RTEMS提供了大量的对象控制API,能动态管理这些对象。这些API能大大缩短程序的代码量和开发周期。
文章录入:fengfeiyi    责任编辑:fengfeiyi 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    RTEMS的初始化管理器
    RTEMS连载 (3) 启动镜像文件…
    RTEMS连载 (3) 启动镜像文件…
    rtems连载 2.1 交叉编译环境…
    Rtems简介
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)