冷火实时linux平台设计与实现

冷火实时linux平台设计与实现

ID:20351787

大小:330.33 KB

页数:7页

时间:2018-10-09

冷火实时linux平台设计与实现_第1页
冷火实时linux平台设计与实现_第2页
冷火实时linux平台设计与实现_第3页
冷火实时linux平台设计与实现_第4页
冷火实时linux平台设计与实现_第5页
资源描述:

《冷火实时linux平台设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、冷火实时Linux平台设计与实现童湘彪(深圳市金宏威技术股份有限公司深圳518055)摘要:提出并设计了一种实时Linux平台。该平台利用CPU中断可分优先级控制的特点,采用“实时中断+内核线程”的应用模式,简化了实时Linux平台的设计,提高了平台的可靠性,降低了应用的开发移植难度,非常适合在电力行业的变配电系统中应用。关键字:实时Linux;实时中断继电保护配电自动化引言因为LINUX免费、源代码开放、内核稳定可靠、支持众多CPU体系架构、具有强大的网络通讯功能,所有其在嵌入式系统中得到广泛应用。但在嵌

2、入式系统中,Linux也有一个较大缺陷----实时性不强,在某些嵌入式应用领域中,关键任务对实时性有较高要求。针对此缺陷,很多嵌入式操作系统厂商对Linux的实时性进行了改进,诞生了许多实时Linux版本,各种版本各有优缺点,这里不展开介绍,以下为冷火实时Linux平台的特点:u实时性能好,在CPU主频250Mhz的情况下,实时中断延时<5us。u平台设计原理和实现方法简单易懂。u实现了实时FIFO和实时消息队列,用于实时中断和普通Linux进程之间的通讯。u除了实时中断外,并没有实现单独的实时进程,大大简

3、化了实时平台的设计,提高了平台的可靠性。基于以上特点,冷火实时Linux平台适用于高实时性和高可靠性的系统,目前已在电力行业的变配电系统中得到应用,取得良好的效果。冷火实时Linux平台应用场景如下:图1冷火Linux平台应用场景图2具体应用实例原理简介利用某些CPU(例如Freescale的MCF5441X)中断可以分优先级控制的特点,将高优先级别中断分配给实时任务,将低优先级别中断分配给Linux内核;然后修改LINUX内核中的中断屏蔽函数,使其只能屏蔽LINUX中的低优先级别中断,不能屏蔽实时任务中的

4、高优先级别中断,这样可以确保实时任务的及时响应。整个冷火实时Linux平台原理实现框图如下:图3冷火实时Linux平台原理实现框图具体实现下面以Freescale的MCF5441X硬件平台为例来说明冷火实时Linux平台的具体实现。实时中断实现1、将低优先级中断级别1~3分配给LINUX中的中断,将高优先级中断级别4~6分配给实时任务。2、修改LINUX中的中断屏蔽函数,使其只能屏蔽3级和3级以下的中断。3、完善实时Linux中断相关函数,包括实时中断登记、注销、允许、屏蔽等。通过以上步骤,可以达到实时中断

5、延时<5us的目标值(实测<3us)。实时中断和内核进程之间的通讯由于实时中断的响应不受Linux内核中中断屏蔽(local_irq_save)的影响,所以在实时中断中不能调用和Linux内核资源相关的函数(包括通讯同步函数),否则将破坏Linux内核资源的一致性,导致系统崩溃。为了解决实时中断和内核进程之间通讯这个问题,我们设计了实时软中断、实时FIFO、实时消息队列3种通讯机制。其中实时软中断是其它2种通讯机制的基础。实时软中断实时软中断是实时中断通知内核进程的一种基本通讯手段,其基本原理是在非实时中断

6、区域申请一个最低优先级的软中断(实时软中断),当实时中断中有相应事件需要通知时,触发此软中断,此软中断在其它高优先级的中断(包括实时和非实时)执行完成后,就会响应执行,其服务函数可以通过up函数触发一个信号量,唤醒正在等待此信号量的内核进程。注意在此期间,由于软中断服务函数的响应执行,受Linux内核规则的约束,所以不会破坏内核资源的一致性,不会影响Linux的稳定性。其具体过程如图:图4实时软中断实时FIFO实时FIFO是以实时软中断为通知手段的一种先进先出的队列,主要用于流数据的发送和接收。实时FIFO

7、使用成熟算法,仅对实时中断屏蔽部分进行了优化处理,这里不再叙述。实时消息队列实时消息队列是以实时软中断为通知手段的消息队列。通过实时消息队列,实时中断可以向内核进程发送长度可变的消息,并及时唤醒等待消息的内核进程。实时调试语句输出在冷火实时Linux平台中,为了全面实时了解平台的状态,需要有大量的调试信息输出,这些调试信息的输出必须满足以下几点需求:1.不能影响实时中断的性能。2.为了方便用户获取信息,必须和Linux共用同一个控制台。3.为了方便用户使用,此输出函数应既可在实时中断中调用,也可在其它环境中

8、调用。最终实时调试语句的输出(rt_printf)通过实时FIFO和实时软中断配合实现。具体实现如下:图5实时调试语句输出实时统计信息为了分析冷火实时Linux平台的各项性能指标(例如实时中断延时、实时中断执行时间、实时中断屏蔽时间等),我们必须收集平台的大量数据信息,为此冷火Linux平台设计了一个实时统计信息模块,统一了每个收集数据的内容和显示格式,示例显示如下:图6实时统计信息实时平台运行为了方便冷火实时L

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。