- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RTOSFS系统构建分析与实现
RTOSFS系统构建分析与实现
摘要:基本的LFS已经可以投入使用,如果要实现更加专业的要求就要深入到Linux的内核内部进行改造或构建以实现自己的需求。在嵌入式领域这种需求尤为突出,所以将深入到内核内部进行更专业的系统构建和改造。
关键词:Linux的内核;系统构建;RTOSFS系统
中图分类号:TP316 文献标识码:A 文章编号:1009-3044(2013)18-4249-02
1 RTOSFS基本概念和实现方案
1.1 RTOSFS系统概述
RTOSFS系统涉及到以下几个概念:
1)RT(Real Time)
所谓实时,就是一个特定任务的执行时间必须是确定的,可预测的,并且在任何情况下都能保证任务的时限(最大执行时间限制)。实时又分软实时和硬实时。
2)RTOS (RT Operating System)即实时操作系统。
这里指能满足实时应用需求的计算机操作系统。
3)Linux的实时性限制
内核不可抢占;中断关闭;自旋锁(spinlock);大内核锁;中断总是最高优先级的;调度算法和调度点 。
4)RTOSFS(RTOS From Scratch)即从零构建实时操作系统。RTOSFS是在LFS的基础上通过对内核进行实时化改造,使得构建的系统满足一定的实时性要求。
1.2 RTOSFS实现方案简介
这里采用两种不同的方式对LFS进行实时化改造,这两种不同的方式体现了对内核进行改造的两种方法。
方案1: RTAI 3.6.2+ Linux kernel 2.6.23.1+LFS基础环境
RTAI(RealTime Application Interface)即实时应用程序接口,是由意大利米兰理工大学开发的开源的Linux实时方案,它是通过向Linux内核和硬件之间加入一个小的实时内核来达到实时目的的。
Linux内核作为实时内核的一个进程而不再直接同硬件进行通信,同时,实时进程直接由实时内核进行处理,而普通进程由普通内核进行处理,并且实时内核是可抢占的,实时进程的优先级要高于普通进程和普通Linux内核,所以在按方案1进行搭建实时平台时关键是正确安装内核。
方案2: RT- Preempt Patch 2.6.23.1-rc1 + Linux kernel 2.6.23.1+LFS基础环境
RT- Preempt Patch是由Ingo Molnar和Thomas Gleixner开发的完全开源的Linux内核实时补丁,是通过改写内核源代码来解决Linux的实时性限制。这些实时实现技术包括:中???线程化(包括IRQ和softirq)、用rtMutex取代自旋锁(spinlock)、优先级继承和死锁检测、等待队列优先级化、大内核锁(BKL-Big Kernel Lock)可抢占等。
其他可选的方案有诸如:RTLinux,KURT,资源核等。
2 两种方案实现RTOSFS
2.1 RTAI方案实现RTOSFS
下载最新的RTAI,RTAI的使用是有条件的,RTAI不仅要和相对应的内核版本一起使用,而且还要求内核代码是纯净的内核源代码包,即没有打过任何补丁的包。RTAI如果和这些内核想配合的话会产生不兼容的问题。而LFS是不存在这方面的问题的。RTAI的RTOSFS实现步骤如下:
1)启动LFS,并解压内核源代码包,和RTAI源代码包。
2) 编译安装加入HAL的Linux内核
命令清单:
make menuconfig
make
make modules_install
注意:在内核配置时取消所有APCI选项。否则会编译出错。
3)重新启动系统,选实时内核。
4)编译安装RTAI
5) 前面说过RTAI分为两个部分提供实时功能,在安装完基本RTAI后,可以有选择的安装Service部分。
2.2 RT- Preempt Patch方案实现RTOSFS
和RTAI相比,由于RT- Preempt Patch是采用的直接修改Linux内核方式提供的实时支持,所以RT- Preempt Patch的安装更加的简单。RT- Preempt Patch的安装步骤如下:
1)下载源代码
2)给内核打上实时补丁
3)编译配置和安装打过补丁的内核
命令此略。
3 RTOSFS实时性验证
在此只是验证系统功能,不对实时性强弱做比较。
3.1 实时性验证方案
这里的实时性验证采用RT- Preempt Patch的作者之一的Thomas Gleixner开发的cyclictest
文档评论(0)