


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Linux实时性改造方案实时性是嵌入式实时系统的拽心部分嵌入式实时条统除了必颅满炬嵌入式系统瓷源肓限、而向特疋应用专用硬件和与应用软件密切相关等靈要特征外违娶轿确保证系统的实时性冋.但區毎个條入式系统在功能*成札休枳、规模、实时性等各个方面的耍求都不相同.因此.硏究与开发-个嵌入式丈时操柞系统来满足嵌入式蔡统多样性鉴求具有很重嗖的理论和现实价值、而嵌入式操作系统的町定制剪裁的研究对满足嵌入式系统的事样性S求同样具有重K的理论和实用本乂选LinuxJfl:系统为嵌入式岳统同时出置眞厅次时性的RTAJ时换块.让嵌入ALinux京筑具有丈时性,播足数控系统时实时性要求。3.1内核配養Linux内核裁
2、剪量恨据用户的碍要进仃刑除和保跑相关的根块,Linux内核裁剪完成后B进行编if-便編译后的内枚为用户所需系缓.Linux内核升级址为了弥补低版程的漏洞”便Linux系统安&系数更高性能更稳定.CentOS址企业Linux发型版的就头丫:肚RedHti【EnterpriseLinux(以卜简称RHEL)的再編译版木.只稳定性较高.且不需向RedHai忖任何酸用.本文将以为平台.编译新的内核linux-2.6.19Jur.b22)r在編译内核时不必耍fKj骡劫越务内核就越大,不仪运行速度占用内存多、共至会出现导救内枚工作不稳定等何題WLinux269的内枝编译配置过程如卜z木丈所仔操作r
3、oct户下完成.配置内栈*并口驱动等都需Lmiix的gft权限.把配汽安装的纯净内枝也制iijmsr.src.'M呆卜.H.L要命令为#cplinux-2.6.19.tztbz1Zusr/src解压新的内核LinuxJ61趴侖令为#bzip2-dhnux-2.6A#tar-xvflinux-2.69.tar进入加sr/src/丈件火幵Sft编i单内核.命令为#cd/ur/src/lmux-2.6,19执和佔令makemrproptrr淸脏U飛卜所仃血置-Z件和先1犷卜:成的中闻Z件(纯淨内枚可以胃略这一-步几命令为nukcmrpru卩it然后执ff#makemcnuconiig始配誉内
4、核.对每项配世仃三种选抒分别为2*-表示将该W用编译配置添加进新内核:一删除用用:M-将应用以模块的形式编详添加进内核,片需娶时nJ以对N进行调用。配置时首先要明确各选頊的功能,然后根据自己需求确定編译还是删除,但fj必选的配置,如没编译进内核.新内核将出现启动失畋.其内核的关键配'胃如卜:Codematurityleveloptions>*Prompltordevelopmentand/orincompletecodedrivers此选项衣示可以开发尚未完成的代码,|:测试或开发请勿选择.Loadablemodulesupport>广Enableloadablemodul
5、esupport此配登是可加载模块的支持Processortypeandfeatures>Processoriamily(Pcntium-Pro)(X)Penlium-Pro选择中央处理器(CPU)的类型DeviceDrivers>Parallelportsupport>MParallelporlsupport将并u驱动以模块的形式编译进内核DeviceDrivers>SCSIdevicesuppon>SCSIlow-leveldriversMSerialAT?(STAT)supportMInterPIIX/ICHSATAsupport选择硬盘的类空,如不编详成模
6、块,在编i卞时会出现:Nomodulesata_piixfound的错误.如果你需要的话,你“J以通过Networking配置网络,以及DeviceDrivers驱动需要的模块.然后对上述功能进行编译,紧接着对其进行安装,其主要过程如卜:#make#makebzlmage#makemodules#makemodulesinslall#makeinstall#rcbool这期何可能需要花十儿分钟到几,分钟的时间,安装完成后,重启后选择新内垓启动。3.2RTAI实时内核1RTAI结构体系RTAI是对Linux内核的罠实时扩展,是一种完全的占先式内核,同时具备了实时操作系统的特性如实时中断、细粒度的
7、原子钟等,它还遵循自由软件规范.可以实现工业级的实时功能皿】:它接管了所有的硕件资源.将操作系统的Linux内核作为较低优先级的任务來调度运行艸】:在双内核RTAI/Linux结构K,优先级较高的实时性任务需要由RTA1的调度完成,而非实时性和操作系统的基本任务需耍在Linux内核调度卜运行,由J*Linux内核与RTAI内孩具仃不同的优先级,当且仅当RTA1内核没有实时任务调度时,Linux内核的任务才能够得到运行期.如图3.1为RTA1的体系结构图,在结构上,与RTLinux没有很大的不同,垠大的差异在于,RTA1在Linux上多増加了一层实时硬件抽彖层(RTHAL)图MlRTAI系统结构
8、图图MlRTAI系统结构图322RTAI模块及功能当有实时进程运行时,实时模块被加载,即成为实时内核的一部分,但并没有实际编译进Linux内核,这是实时模块仅仅編译成H标文件,然后加载到运行内核中其中RTA1的功能模块上耍仃:核心模块、调度模块、先入先出(FirstInputFirstOutput,FIFO)模块、共乍内存模块。(1) 核心模块这个模块主耍实现实时任务,主耍在跛件捕彖圮(RTHAL)实现.没仃这个核心模块,任何实时任务都无法完成:(2) 调度模块上要是实施调度的模块.它采用的是抢山式调度机制,半实时任务到达时,当前任务秤时挂起该模块要只备对外部中斯的快速响应能力和快速的任务分派
9、能力:(3) FIFO模块这个模块匕要提供实时任务之间通伯、实时任务与普通Linux进程间通伯以及普通Linux间的通侑:(4) 共享内存模块主耍功能是多个进程可以访问一块内存,口接采用虚拟地址访问内存数据,所以效率很高.3.23RTAI编译安装将riai3.6安装到,F载rtai3.6.tar.bz2,并将它复制到/usr/src口录卞:然后进行解爪缩:打上支持rtai补J:#patch-plv./rtai-3.6/base/arch/i3X6/patches/hal-linuK-2.69i3X61.74)l.palch进入rtai-3.6对实时内核进行配置:#cd/usr/src/rtai
10、-3.6#makenwnuconfig对实时内核进行配置,首先指定安装目录和Linux源代码所在目录:General(/usr/rcaltinw)lnstullaliondirectory(/usr/src/linux-2.69)LinuxsourcetreeNumberofCUPs(SMP-only)(CPU个数)然后安装实时内核:#make#makcinstall#reboot匝启后进行实时性测试(详见3.3节3.3RTAI分析3.2. 1RTAI任务调度RTAI实时任务一般都在内核空间内实现,实时应用程序与一般程序的±要区别是:前者必须使用RTAI内核,而麻者必须将程序作为内核
11、模块进行编吗与编译.RTAI可以通过实时模块(naimodule,rlaischedmodule).程序可以调用RTAI实时模块,以完成实时任务.从而人人增加了实时任务的应用范圉:其中rtai_module对数据结构进行初始化,负责截取宾件圮:rtaischcdmodule负责任务调度:另外还仃儿个增强功能的模块,如rtai_filbs_moduk负贡实时应用与Linux应用之间的通Ci,runshmmodule完成共享内存的iffirlailxrtmodule实现应用程序在用户空何调用RTAI1501在RTAI中仔三类任务队列,分别是:任务、就绪和延时队列】:其中任务队列是RTAI中创建的所
12、有任务,包括任务的播入操作、任务的剧除操作等:延时队列是RTAI中暂时无法运行的任务,由于刚刚建立或休眠一段时间或等待伫号灯:就绪队列主要是存放就绪状态的任务,半任务校频紧时,系统CPU使用址较大.2.3. 2RTAI中断处理中断处理机制是RTA1中最核心的部分,详执行实时任务时.普通的Linux任务被抢断,优先执行实时任务.即Linux的任何应用程序衆为优先级最低的任务执行.RTAI模块引进了软中断技术,若硬中断发生时,RTAI内核只白在没有实时任务运行时,才向便中断派发切。同时,RTAI内核还监控Linux中断时间,避免影响实时内核中断。3.3.3RTAI实时性测试数控系统是一个筝任务的匸
13、作平台,数控系统工作时,要进行代码解科、刀具处理、插补、故障分析、以及加工等多任务,由此敌控系统耍求实时性较高。安装完RTAI实时内核后.对其进行实时性测试以获得RTAJ实时性能数据.其测试的参数上要仃:响应延时时fuj(latency).任务切换时间(switches、屮断延迟时间(precmplion)。<1)系统响应延时时间:系统发出处理请求到冋应的时间:<2)任务切换时何:不同任务何相互切换消耗的时何:<3)中断延迟时何:自接收到中断怙号到系统做岀反应,并进入中断响应的时间.系统的实时性能除了与寸板CPU的处理速度有直接关系外还何Linux配置、系统管理中断、USBi
14、殳备、APM和ACPI电源管理、緊冬的访问等.对R1A1实时性能进厅测试.测试*台为PC机,CPU为歼脚女技处理器.主频2.00GHz,内存1G.内核为,实时内核为RTAi-3.6.以root身份运行弁cd/usr/rcaldme'tcslsuile/kcm/latcncy/礼/run得出,如图3.2所示:rootlocalhostz/usr/realtime/testsulte/kern*latencyTAInllwlTOITOITOIwlwlTOITOiIDiTDITDIrolrDITDIIDIwlIDIIDITDITDITDImlat«in|ovlVBtn|latavt
15、lUtovlmxl2321232|35216716167161408123212511384(671610|61214817711481771143315231173O|48177114041324|1399|4«l77l|o|5C7|4224i3|48177114011523|1778|4b177|409152Z|1702148177110157114598洌|4b177l|4291524|211014SI771I41b|2tl|1503148177110|5651404844)4bl77l|soil5281IC27I4M77II434|52Sj178O|48177110|509|
16、J3CW4hl77|4O3|5251175114817711441152S|1522148177110|574|473SU|46177113991291ft|4Fir7l|4241S2tt|1374148177110|ses|4094614817711laiBin)o*litin|latavg|latmilmlmx|文件®冷出®缪鋼棲签锄她;Tcstsuttc-KfcTIM*!.latency<alIdatatnnanoseconds)oo3337T7nn图3.2RTAI内核态响应测试M3.2中laimin表示-个周期响应提前的最长时何:ovlmin表>K开始测
17、试到'勺询响应捉前的彊长时间:laliivg衣示一个周期响应偏基的平均值:kilrrnx衣示毎个周期内响应延时的皱长时何:ovlmax衣示升始测试到当前响应延时的最长时何:overruns&响应偏琴大i100000ns的次数.由图3.2可知,系统响应延时时问大约在1叱0.5ms之间,当鼠标动或其他程序运行时.系统响应延时将增大到约0.5ms。说明在这种用户模式卜.数控系统的实时性能得到满足.数控系统是一种典空的实时系统,要求系统必须在现定好的时附内做出响应,一股以周期性任务形式的调度來检测实时性能,并R在硬件定时器产生一个中断唤醒调度器执行:理论上我们通常认为中断的产生和任务的执彳f是周期性的、同步的,但是许多不确定因素会导致调度器的运行时间变得不确定,导致接下來的任务的开始时何产生相应的变化,这种变化彼称为调度抖动.抖动过人将会导致实时任务的失败。在硬实时系统中,抖动一般允许在1微秒到几十微秒之何,而软实时系统中,最養的情况大约在几亳秒到儿秒,数控系统的实时性必须满足系统的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度商铺租赁合同租赁期一年内不可抗力解除合同
- 2025年度环保设备升级项目技术顾问聘请协议范本
- 二零二五年度电力设备安全检测服务合同
- 二零二五年度总经理企业社会责任战略聘用合同
- 电动汽车充电设施的商业模式创新
- 二零二五年度房东与房东间租赁保证金监管服务合同
- 2025年度酒店管理合同审查与客户满意度提升协议
- 2025年度电子签劳动合同电子数据加密与传输安全合同
- 二零二五年度企业办公用品租赁与配送合同
- 学校配餐合同范本
- 2025春季开学第一次全体教师会上校长讲话稿
- 2025年三方买卖协议标准版本(2篇)
- 2025年南京旅游职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 《小脑梗死护理查房》课件
- 江西专业红娘培训课件
- 酒店安全管理制度及应急预案
- 接地系统安装施工方案
- 2024年度智慧城市建设综合解决方案投标书实例3篇
- 《PC级自动转换开关电器(ATSE)》
- 数字电子技术(武汉科技大学)知到智慧树章节测试课后答案2024年秋武汉科技大学
- 综合应用能力事业单位考试(综合管理类A类)试题及解答参考
评论
0/150
提交评论