快捷搜索:

一种改进嵌入Linux实时性的新型方案

对嵌入式Linux进行实时性改进是嵌入式操作系统领域的一个钻研热点。本文在阐发了现有嵌入式操作系统实时性不够的根基上,提出了一种新型的改进规划(将RTAI和uClinux相结合),并给出详细的工控利用实例,进一步对这种系统的功能进行有效验证。

图1 双内核实时系统嵌入式实时Linux架构

嵌入式Linux以代码开放、价格低廉、功能强大年夜又易于移植的特点正在被广泛利用,为嵌入式操作系统供给了一个极具吸引力的选择。但许多实际利用,譬如多媒体通信、临盆历程节制、在线事务处置惩罚等等都要求对外部事故在限制的光阴内做出反映。因而嵌入式系统实时性问题越来越受到关注,对嵌入式Linux进行实时性改进也成为嵌入式操作系统领域的一个钻研热点。

本文提出了一种基于uClinux的嵌入式实时操作系统规划。将RTAI和uClinux相结合,既满意了嵌入式利用的需求,同时又包管了系统的硬实时性。此外,还有强大年夜的收集功能、易进级性、易移植性等优点。着末结合基于这一操作系统开拓的重大年夜设置设备摆设远程监控系统的利用案例,进一步从功能和机能上对其进行验证。

现有嵌入式操作系统利用中存在的问题

一个优秀的嵌入式操作系统是嵌入式系统成功的关键。它除了具备一样平常操作系统最基础的功能,如义务调整、同步机制、中断处置惩罚、文件功能等,还必要具有以下特征:

1. 更好的硬件适应性,也便是优越的移植性;

2. 占领更少的硬件资本;

3. 高靠得住性;

4. 供给强大年夜的收集功能,支持TCP/IP协议及其他协议;

5. 有些利用要求具有实时机能。

现有的嵌入式操作系统大年夜致可分为商用型和免费型两类:商用型操作系统因为功能稳定、靠得住,有完善的技巧支持和售后办事,在嵌入式市场占领必然的份额。但它同时也存在价格昂贵、必要版权、源代码不公开等一系列问题;免费型操作系统(如Linux)源码公开,有价格方面的上风,但在严格满意嵌入式实时利用需求方面还有欠缺。

图2 实时内核实现机理

RTAI对Linux的实时性改进

现有几种针对Linux的实时系统办理规划,实现措檀越要包括两种:

1)直接改动Linux内核、增添实时性,如:Montavista;

2)在通俗Linux内核之上增添实时模块、双内核布局,如:RTLinux或RTAI。

Montavista可以满意用户的软实时要求,RTLinux或RTAI着重增强Linux的硬实时特点。软实时系统的时限是柔性机动的,它可以容忍偶尔的超时差错。掉败造成的后果并不严重,仅仅是稍微地低落了系统的吞吐量。硬实时系统有一个刚性的、弗成改变的光阴限定,它不容许任何越过时限的差错。超时差错会带来侵害以致导致系统掉败、或者导致系统不能实现它的预期目标。

RTAI采纳双内核办法,不直接应用Linux的任何功能,而是把必要高度光阴精度的事情写成一个驱动法度榜样的形式,然后直接用PC时序芯片所孕育发生的中断调用这个驱动法度榜样。RTAI与NMT RT-Linux的最大年夜不合之处在于,它在Linux上定义了一组实时硬件抽象层(RTHAL)。RTHAL将RTAI必要在Linux中改动的部分定义成一组法度榜样界面,RTAI只应用这组界面和Linux沟通。这样做的好处在于,用户可以将直接改动的Linux核心法度榜样代码减至最小,这有可能使得将RTHAL移植到新版Linux的事情量减至最低。

然则,RTAI虽然满意了硬实时性要求,却没有被裁减为足够小且适用于嵌入式系统。

RTAI+uClinux的实时规划

uClinux是为嵌入式利用设计的,它本身并没有更多地关注实时问题。uClinux颠末小型化改造,形成了一个高度优化、代码紧凑的嵌入式Linux,并保留了Linux大年夜多半的优点。它专门针对无MMU的CPU,去除了通俗Linux内核中的虚拟内存治理部分。更紧张的是,uClinux供给了完备的TCP/IP协议栈,并支持大年夜量其他的收集协议,为嵌入式系统供给了强大年夜的收集支持。

4.调整处置惩罚

傍边断到来时,实时内核判断它是基础内核中断照样属于实时中断,分手进行处置惩罚。若是基础内核中断,假如当前有实时义务正在运行,则只是设置一下中断标志位,吊挂个中断,假如没有实时义务运行,则调用基础内核的中断处置惩罚法度榜样;假如个中断是实时中断,就直接调用相对应的实时中断处置惩罚法度榜样。留意,实时中断可以抢先基础内核义务的履行。系统的中断处置惩罚流程如图3所示。

利用案例

工业节制是嵌入式实时操作系统的传统利用领域,必要严格的实时处置惩罚功能、高靠得住性和优越的开放性,对开拓情况、可操作性、资源等也有特其余要求。是以本项钻研以重大年夜设置设备摆设的远程监控系统作为其利用之一。

1.嵌入式远程监控系统布局

利用针对工业临盆中应用的大年夜型设备在继续运转状态下的远程监控问题,钻研用于重大年夜设置设备摆设远程监控的嵌入式装配。系统主要包括输入/输出模块(NetIO)和输入/输出上位模块(NetWeb),前者用于实现现场数据的采集(输入),或用于现场装配的节制(输出),后者集成了Web功能,使得用户可以经由过程互联网对输入/输出模块进行造访。两类模块经由过程收集相连接,在本系统中为经由过程串行485总线。嵌入式远程监控系统布局如图4所示。

2.NetWeb对嵌入式Linux的功能验证

图4 嵌入式远程监控体系布局

NetWeb的开拓基于前面先容的嵌入式实时Linux操作系统。特殊的双内核操作系统布局抉择了利用开拓的特殊性。

1)义务治理功能

系统中的义务可以分为实时性义务和非实时性义务,实时义务包括实时数据采集、处置惩罚等方面,这部分的功能要在实时内核RTAI之长进行实现;别的,非实时义务主要包括数据存储、远程通讯的实现,这部分功能要在基础内核uClinux之上实现。

您可能还会对下面的文章感兴趣: