




已阅读5页,还剩68页未读, 继续免费阅读
(计算机应用技术专业论文)linux26内核到arm嵌入式平台的移植及实时性测试.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着集成电路技术、计算机技术的迅速发展,嵌入式系统逐渐应用于科学 研究、工程设计、日常应用等各个领域。 本文以国家“8 6 3 计划支持的项目“家庭用保安机器人”中央控制单元开 发为背景,在此基础上对嵌入式l i n u x 操作系统在嵌入式硬件试验平台的三个关 键问题进行了讨论:第一是l i n u x 2 6 内核的实时性改进:第二是l i n u x 2 6 内核 到基于a r m 9 的嵌入式硬件平台的移植,构建一个可用的a r m + l i n u x 嵌入式 试验平台;第三是在该平台上开发可应用于l i n u x 2 6 内核的设备驱动程序,并 利用所开发的驱动程序对该硬件平台的实时性进行测试。 提高l i n u x 操作系统的实时性一直是国内外计算机领域研究的热点问题。本 文对l i n u x 2 6 内核进行了深入研究,详细地分析了影响内核实时性的主要因素, 以及l i n u x 2 6 内核相对于l i n u x 2 4 内核所作的改进。针对如何建立嵌入式l i n u x 的操作环境,本文研究了嵌入式l i n u x 系统所要解决的四个问题,包括:交叉开 发工具的建立、引导加载程序的建立、内核的配置和建立、以及根文件系统的 建立。同时,在a t 9 1 r m 9 2 0 0 硬件平台上,移植了l i n u x 2 6 内核,建立了一个 可用的开发平台。 此外,在搭建的开发平台上,针对l i n u x 2 6 内核设备驱动程序开发的变化, 开发了相关的设备驱动程序,开发的驱动程序能够满足所需要的功能需求,并 在此基础上对该平台进行了测试,与l i n u x 2 4 内核进行了基于实时性的对比。 实验结果表明,在搭建的硬件平台上,l i n u x 2 6 内核比l i n u x 2 4 内核在实时性 方面有了显著的增强,能满足实时性要求更高的任务需要。 关键词:嵌入式,l i n u x 2 6 内核,a t 9 1 r m 9 2 0 0 ,驱动程序,实时性测试 a b s t r a c t ab s t r a c t w k ht h ed e v e l o p m e n to fi n t e g r a t ec i r c u i ta n dc o m p u t e rt e c h n o l o g y , e m b e d d e d s y s t e mh a sw i d e l ya p p l i e dt om a n yf i e l d s ,s u c ha ss c i e n c er e s e a r c h ,e n g i n e e r i n g d e s i g n ,m i l i t a r yt e c h n o l o g y ,i ti sa l s oi n v o l v e di ne v e r y w h e r eo fl i f e t h et h e s i si sf o c u s e do na r m - l i n u x i m p l e m e n t a t i o no fe m b e d d e ds y s t e mu s e d i nc o n t r o lu n i to fo u rp r o j e c to nr o b o tf o rh o m es e c u r i t yw h i c hi ss u p p o r t e db y8 6 3 t h r e ek e yp r o b l e m si nc o n s t r u c t i n gs u c ha ne m b e d d e ds y s t e ma r ed i s c u s s e d ,t h ef i r s t i sa b o u tr e a l t i m ep e r f o r m a n c ei m p r o v e m e n to fl i n u x 2 6 ,t h es e c o n di sh o wt ob u i l d ap l a t f o r mo fe m b e d d e dl i n u x 2 6 ,t h et h i r di st o t e s tt h er e a l - t i m ep e r f o r m a n c eo f l i n u x 2 6 。 i m p r o v i n gr e a l t i m ep e r f o r m a n c eo fl i n u xh a sa l w a y sb e e na ni m p o r t a n t p r o b l e mi nt h ec o m p u t e ra r e ab o t hi nc h i n aa n da b r o a d l i n u x 2 6i si m p r o v e dt o l i n u x 2 4i nr e a l - t i m ep e r f o r m a n c e t h et h e s i si st os t u d yl i n u x 2 6k e r n e lc a r e f u l l y a n dt os u m m a r i z et h ei m p r o v e m e n ti nr e a l - t i m ep e r f o r m a n c eo fl i n u x 2 6 f o c u s i n go nh o wt ob u i l da l le m b e d d e ds y s t e mo fl i n u x ,f o u ri m p o r t a n t p r o b l e m ss u c ha st h ec r o s sc o m p i l i n ge n v i r o n m e n t , t h ee m b e d d e db o o tl o a d e r , k e r n e l p o r t i n ga n dc o n f i g u r a t i o n ,c r e a t i o no fr o o tf i l es y s t e ma r cs t u d i e d ap r a c t i c a l s o f t w a r ep l a t f o r ml i n u x 2 6k e m e le m b e d d e di se s t a b l i s h e db a s e do nt h eh a r d w a r e p l a t f o r mo f a t 9 1r m 9 2 0 0w h i c hw a s d e v e l o p e di n d e p e n d e n t l yb yo u rp r o j e c tg r o u p i nt h ep l a t f o r m ,a f t e rs t u d y i n gt h ec h a n g e sb e t w e e nl i n u x 2 4d e v i c ed r i v e ra n d l i n u x 2 6d e v i c ed r i v e r , s e v e r a ld e v i c ed r i v e r sa r e d e s i g n e d t h e nr e a l t i m e p e r f o r m a n c eb a s e do nt h eb u i l tp l a t f o r mi st e s t i n g ,w h i c hi sc o m p a r e dw i t ht h e p e r f o r m a n c eo fl i n u x 2 4i nt h es a m ep l a t f o r m t h er e s u l ts h o w st h a t ,i nt h es a m e p l a t f o r mo fh a r d w a r e ,l i n u x 2 6i so b v i o u s l yi m p r o v e dt ol i n u x 2 4 ,a n dl i n u x 2 6 m e e t st h ed e m a n do ft a s ki nr e a l t i m ep e r f o r m a n c ee v e nm o r e k e yw o r d s :e m b e d e d ,l i n u x 2 6c o r e ,a t 9 1r m 9 2 0 0 ,d e v i c ed r i v e r , r e a l t i m e p e r f o r m a n c et e s t i n g 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的e ;p , 届j j 本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名:善髫姥 如) 3 年j 月弓d 日 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 多缸辱 解密时间:年月日 各密级的最长保密年限及书写格式规定如下: r 内部5 年( 最长5 年,可少于5 年) ! 秘密1 0 年( 最长1 0 年,可少于1 0 年) 机密2 0 年( 最长2 0 年,可少于2 0 年) 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均己在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名:主謦弼 o 吁年j - 月专de t 第一章绪论 第一章绪论 第一节选题意义 近年来,随着工业的飞速发展,人们对系统实时性的要求越来越高。计算 机技术、通信技术的进步,客观上也为进一步提高实时性提供了可能。因此, 嵌入式产品越来越成为信息产业的主流,越来越与人们的生活紧密结合,嵌入 式实时系统的研究已成为单片机应用领域的又一大热点。机器人控制作为嵌入 式系统应用的一个重要领域,其控制器在体系结构、控制算法、性能仿真、人 机交互等方面都已经发展到一定的水平,因而对机器人控制器性能的评测显得 尤为重要。而在诸多评测标准中,实时性一直是不可忽略的重要标准。然而影 响系统实时性的因素很多,有硬件,也有软件的。而选择使用高性能的c p u , 充分利用内核的实时潜能显得尤为重要。 l i n u x 从1 9 9 1 年问世到现在,短短的十几年时间已经发展成为功能强大、 设计完善的操作系统之一;可以运行在x 8 6 、a l p h a 、s p a r e 、m i p s 、p p c 、m o t o r o l a 、 n e c 、a r m 等多种硬件平台,而且开放源代码,可以定制;可与各种传统的商 业操作系统分庭抗争。再加上l i n u x 内核体积小、资源丰富、可剪裁等优点, 使得越来越多的企业和研发机构都转向嵌入式l i n u x 的开发和研究上,在新兴 的嵌入式操作系统领域内也获得了飞速发展。l i n u x2 6 内核的发布,l i n u x 向 现有主流的r t o s 提供商在嵌入式系统市场上提出了巨大挑战,l i n u x 2 6 内核 具有的实时性、可配置性强等新特性,尤其是l i n u x 2 6 内核实时性能的增强, 将使其成为更优秀的嵌入式操作系统。 “家庭用保安机器人 项目控制单元是由我们自主研制的基于 a t 9 1 r m 9 2 0 0 的主控制板,其嵌入操作系统采用的是l i n u x 2 4 2 6 内核。鉴于实 时性的提高与改进对于机器人对突发状况的反应等安全因素的重要性,将 l i n u x 2 6 内核移植到我们的控制单元板上,可以更好的利用我们项目组开发成 型的嵌入式系统平台,进行实时性要求高的研究工作,也可为其它各个基于 a r m 处理器的实时性要求高的项目参考。在此基础上,移植控制单元板的部分 设备驱动程序,使其满足l i n u x 2 6 内核要求,并利用该设备驱动程序对该系统 平台的实时性能进行测试。因此,针对提出的问题和挑战,选定课题“l i n u x 2 6 第一章绪论 内核到a r m 嵌入式平台的移植及实时性测试”。 1 2 1 嵌入式系统定义 第二节嵌入式系统概述 嵌入式系统无疑是当今最热门的概念之一,但究竟什么是嵌入式系统呢? 对嵌入式系统的定义大多是这样的:嵌入式系统是以应用为中心,以计算机技 术为基础,并且软硬件可剪裁,适用于应用系统对功能、可靠性、成本、体积、 功耗有严格要求的专用计算机系纠1 1 。嵌入式系统一般由嵌入式微处理器、外 围硬件设备、嵌入式操作系统以及用户的应用程序四个部分组成,用于实现对 其他设备的控制、监视或管理等功能。下面的定义也许更权威些:嵌入式系统 是用来控制或者监视机器、装置、工厂等大规模系统的设备。 1 2 2 嵌入式系统的特点 嵌入式系统可以成为后p c 时代和后网络时代的新秀。与传统的通用计算 机、数字产品相比,利用嵌入式技术的产品有其自身的特点【2 】: 1 ) 嵌入式系统功耗低:体积小、专用性强。嵌入式系统与p c 的最大不同 就是嵌入式c p u 大多工作在为特定用户群设计的系统中,能够把p c 中许多由 板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化。 2 ) 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在 存储器芯片或单片机本身中,而不是存储于磁盘等载体中。 3 ) 嵌入式系统的硬件和软件都必须高效率的设计,系统要精简。操作系 统般和应用软件集成在一起。 4 ) 嵌入式系统对软件代码质量要求很高,应该尽最大可能避免“死机” 的发生。 5 ) 嵌入式系统开发需要专门的开发工具和开发环境。 6 ) 为了适应嵌入式分布处理结构和应用上网需求,嵌入式系统要求配备 一种或多种标准的网络通信接口。 2 第一章绪论 1 2 3 嵌入式系统的分类 嵌入式系统可以按照嵌入式处理器的位数、应用、实时性和软件结构等原 则进行分类p j 。 按照嵌入式处理器的位数,嵌入式系统可分为4 位、8 位、1 6 位、3 2 位、 6 4 位;按照应用,嵌入式系统可分为信息家电类、移动终端类、通信类、汽车 电子类和工业控制类等;按照嵌入式软件结构,可分为循环轮询系统、前后台 系统、单处理器多任务系统和多处理器多任务系统。 按照实时性,嵌入式系统可分为嵌入式实时系统和嵌入式非实时系统。根 据实时性的强弱,可将嵌入式实时系统进一步划分为硬实时、软实时系统。 1 ) 硬实时系统:该系统对系统响应时间有严格的要求,如果系统响应时 间不能满足,就要引起系统崩溃或致命的错误。如飞机的飞控系统,如果不能 及时控制飞机的飞行,就可能造成致命的后果。 2 ) 软实时系统:该系统对系统响应时间有要求,但是如果系统响应时间 不能满足,不会导致系统出现致命性错误或者崩溃。如喷墨打印机。 1 2 4 嵌入式系统的发展趋势 在市场和技术进步的双重推动下,嵌入式系统技术未来的发展,将呈现以 下几点趋势: 1 ) 联网成为必然趋势。为适应嵌入式分布处理结构和应用上网需求,面 向2 1 世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。针对外部联 网要求,嵌入式设备必须配有通信接口,相应需要t c p i p 协议簇软件支持;由 于家用电器相互关联及实验现场仪器的协调工作等要求,新一代嵌入式设备还 需具备i e e e l 3 9 4 、u s b 、c a n 、b l u e t o o t h 或i r d a 通信接口,同时也需要提供 相应的通信组网协议软件和物理层驱动软件。 2 ) 小尺寸、微功耗和低成本。为满足这种特性,要求嵌入式产品设计者 相应降低处理器的性能,限制内存容量和复用接口芯片。这就相应提高了对嵌 入式软件设计技术要求。 3 ) 提供精巧的多媒体人机界面。嵌入式设备被广泛接受重要因素之一就 是它们与使用者之间的亲和力,这是非常重要的。 4 ) 智能化发展。嵌入式系统应用的高级境界就是,嵌入多种感知和计算 设备,通过用户定制,对人相应行为做出相应反应,从而提高人类的工作生活 第一章绪论 质量。 第三节a r m 处理器概述 1 3 1a r m 处理器的应用及特点 a r m ( a d v a n c e dr i s cm a c h i n e s ) ,既可以认为是一个公司的名字,也可以 认为是对一类微处理器的通称,还可以认为是一种技术的名字 4 】。到目前为止, a r m 微处理器及技术的应用几乎已经深入到各个领域【5 】: 1 ) 工业控制领域:作为3 2 位的r i s c 架构,基于a r m 核的微处理器芯 片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制 器应用领域扩展,a r m 微控制器的低功耗、高性价比,向传统的8 位、1 6 位 微控制器提出了挑战。 2 ) 无线通讯领域:目前已有超过8 5 的无线通讯设备采用了a r m 技术, a r m 以其高性能和低成本在该领域的地位日益巩固。 3 ) 网络应用:随着带宽技术的推广,采用a r m 技术的a d s l 芯片正逐 步获得竞争优势。此外,a r m 在语音及视频处理上行了优化,并获得广泛支持, 也对d s p 的应用领域提出了挑战。 4 ) 消费类电子产品:a r m 技术在目前流行的数字音频播放器、数字机顶 盒和游戏机中得到广泛采用。 5 ) 成像和安全产品:现在流行的数码相机和打印机中绝大部分采用a r m 技术。手机中的3 2 位s i m 卡也采用了a r m 技术。 除此之外,a r m 微处理器及技术还应用到许多不同的领域,并会在将来取 得更加广泛的应用。 采用r i s c 架构的a r m 微处理器一般具有如下特点【5 】: 1 ) 体积小、低功耗、低成本、高性能; 2 ) 支持t h u m b ( 1 6 位) a r m ( 3 2 位) 双指令集,能很好的兼容8 1 6 位 器件; 3 ) 大量使用寄存器,指令执行速度更快; 4 ) 大多数数据操作都在寄存器中完成; 5 ) 寻址方式灵活简单,执行效率高; 6 1 指令长度固定。 4 第一章绪论 132 a r m 9 系列 a p - 3 v l 处理器包括多个系列,我们目标板采用a t m e l 公司的a t 9 r m 9 2 0 0 处理器芯片。此芯片采用的是a r m 9 系列中a r m 9 2 0 t 核,所以我们列a r m 9 系列微处理器的特点进行简要介绍。a r m 9 系列微处理器包含a r m 9 2 0 t 、 a r m 9 2 2 t 和a r m 9 4 0 t 三种类型,以适应不用的场合。该系列在高性能和低功 耗特性方面提供最佳的性能。具有咀下特点问: 1 15 级流水线,指令执行效率更高 2 1 提供1l m i p s m h z 的哈佛结构; 3 1 支持3 2 位a r v l 指令集和1 6 位t h u m b 指令集; 4 1 支持3 2 位的高速a m b a 总线接口; 5 ) 全性能的m m u 支持w i n d o w sc e 、l i n u x 、p a l mo s 等多种主流嵌入 式操作系统: 6 1m p u 支持实时操作系统: 7 ) 支持数据c a c h e 和指令c a c h e ,具有更高的指令和数据处理能力。 133 目标板硬件平台 与主机相连1 的稠试串口卜 圈1 1 核心扳电路板图 第一章绪论 个串 幽12 扩燧板电路扳闺 “家用保安机器人”控制单元的硬件平台是我们自主研制的基于 a t 9 1 r m 9 2 0 0 的主控制板它由核心板和扩展板组成。核心板包括a t 9 1 r m 9 2 0 0 微处理器、固态存储器( 1 6 m 并行f l a s h ) 、两片动态随机存取存储器s d r a m 、 总线b u f f e r 以及扩展接口,如图11 所示。图12 是扩展板的电路板图,扩展板 资源包括电源模块、时钟和e e p r o m 模块、网络接口模块、串行通讯接口模块、 u s b 模块以及l c d 控制模块等。本文主要用到主控制板的网络接口模块、串 行通信接口模块等。硬件平台的结构框图如图13 所示。 圈13 主控制板硬件框图 第一章绪论 第四节嵌入式l in u x 系统 1 4 1 典型的嵌入式操作系统 目前,国际上有两百多种嵌入式操作系统。这些嵌入式操作系统可分为实 时操作系统和非实时操作系统。这里我们介绍应用最为广泛的几种 1 ,7 】: 1 ) l i n u x :在所有的操作系统中,l i n u x 是发展很快、应用很广泛的。l i n u x 本身的种种特性使其成为嵌入式开发的首选。l i n u x 以其定制需要的尺寸尤为 方便,同时支持多平台,并开放源码,从早期的试用阶段很快成为嵌入式市场 的主流。 2 ) uc o s i i uc o s i i 是个典型的实时操作系统。它的特点如下:公 开源代码,代码结构清晰、明了,注释详细,组织有条理,可移植性好,可剪 裁,可固化。内核属于抢占式,最多可以管理6 0 个任务。该系统短小精悍,是 研究和学习实时操作系统的首选。 3 ) w i n d o w sc e 这是微软公司的产品,但不是削减的版本,它是从整体 上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它采用 模块化设计,并允许它对从掌上电脑到专用的工控电子设备进行定制。操作系 统的基本内核需要至少2 0 0 k b 的r o m 。其缺点是价格过高,使得整个产品的 成本急剧上升。 4 ) v x w o r k s :这是w i n d r i v e r 公司专门为实时嵌入式系统设计开发的操作 系统软件,为程序员提供了高效的实时任务调度、中断管理、实时的系统资源 以及实时的任务间通信。该系统主要应用在单片机、数据网络和通信等多方面。 其核心功能有微内核w i n d ,任务间通信机制,网络支持,文件系统和v o 管理、 c 抖以及其他标准支持等。 1 4 2 嵌入式系统选型 选择一款既能满足应用要求,性价比又最佳的实时操作系统,对开发工作 的顺利开展意义非常重大。概括地说,在进行系统选型工作时,主要遵循以下 几个方面的原n t 3 】: 1 ) 系统成本,成本是所有产品都必须考虑的问题,成本是需要综合权衡 以后进行考虑的,除了系统的使用费用,也要考虑选择某一系统可能会对其他 7 第一章绪论 一系列的因素产生影响。 2 ) 市场进入时间及技术支持。不同的系统其技术支持资源不同,相对资 源最多的是w i n c e ,但缺点是成本高,核心竞争力差。但某些高效操作系统可 能由于技术积累不够,影响开发进度。 3 ) 可移植性。进行潜入式开发时,可移植性是要重点考虑的问题。当产 品与平台和操作系统紧密结合时,往往才能体现出产品特色。 4 ) 可利用资源。产品开发要求快速、低成本、高质量的推出适合用户需 求的产品。其他功能尽量由操作系统附加或采用第三方产品。所以操作系统的 可利用资源很重要。 5 ) 系统定制能力。因为嵌入式开发用户的需求是不同的,硬件平台也不 同,所以对系统的定制能力提出需求。 在多种嵌入式系统中,一定要根据硬件和软件的需求来选择嵌入式操作系 统,本平台选择使用l i n u x 操作系统,其主要原因是l i n u x 具有了支持多种硬 件平台,具有丰富的开发工具,是多任务操作系统,能满足基本的软实时的要 求的优点,而且具有良好的可靠性和稳定性。而且,l i n u x 系统是免许可证费 用的操作系统,并具有大量的文档和技术支持。下面我们介绍为什么要选择 l i n u x 作为本目标板的嵌入式系统。 根据我们上面对嵌入式选型原则的介绍,l i n u x 作为嵌入式操作系统的优 势主要有以下几点: 1 ) 可应用于多种硬件平台。 2 ) l i n u x 程序源码全部公开,任何人可以修改并在通用公共许可证 ( g e n e r a lp u b l i cl i c e n s e ,g p l ) 下发行。这样,开发人员可以对操作系统进行定 制,适应其特殊需要。 3 ) l i n u x 带有u n i x 用户熟悉的完善的开发工具,其强大的语言编译器 g c c ,c + + 等也可以很容易得到,不但成熟完善,而且使用方便。 目前流行的嵌入式l i n u x 系统主要有以下几种: 1 ) r t - l i n u x 这是由美国墨西哥理工学院开发的嵌入式l i n u x 操作系统。到目前为止, r t - l i n u x 已经成功地应用于航天飞机的空间数据采集、科学仪器测控和电影特 技图像处理等广泛领域。r t - l i n u x 开发者并没有针对实时操作系统的特性而重 写l i n u x 的内核,因为这样做的工作量非常大,而且要保证兼容性也非常困难。 为此r t - l i n u x 提出了精巧的内核,并把标准的l i n u x 核心作为实时核心的一个 第一章绪论 进程,同用户的实时进程一起调度。这样对l i n u x 内核的改动非常小,并且充 分利用了l i n u x 下现有的丰富的软件资源。 2 1e m b e d i x e m b e d i x 是由嵌入式l i n u x 行业主要厂商之一l u n e o 推出的,是根据嵌入 式应用系统的特点重新设计的l i n u x 发行版本。e m b e d i x 提供了超过2 5 种的 l i n u x 系统服务,包括w 曲服务器等。系统需要最小8 m b 内存,3 m b 的r o m 或快速闪存。e m b e d i x 基于l i n u x 2 2 内核,并已经成功地移植到了i n t e l 的x 8 6 和p o w e r p c 处理器系列上。像其它的l i n u x 版本一样,e m b e d i x 可以免费获得。 l u n e o 还发布了另一个重要的软件产品,它可以让在w i n d o w sc e 上运行的程序 能够在e m b e d i x 上运行。l u n e o 还将计划推出e m b e d i x 的开发调试工具包、基 于图形界面的浏览器等。可以说,e m b e d i x 是一种完整的嵌入式l i n u x 解决方 案。 3 1x l i n u x x l i n u x 是由美国网虎公司推出的基于x l i n u x 的、号称是世界上最小的嵌 入式l i n u x 系统,内核只有1 4 3 k b ,而且还在不断减小。x l i n u x 核心采用了“超 字元集专利技术,让l i n u x 核心不仅可能与标准字符集相容,还含盖了1 2 个 国家和地区的字符集。因此,x l i n u x 在推广l i n u x 国际应用方面有独特的优势。 4 ) p o k e t l i n u x 由a g e n d a 公司采用、作为其新产品“v r 3 p d a 的嵌入式l i n u x 操作系统。 它提供跨操作系统构造统一的、标准化的和开放的信息通信基础结构。 p o k e t l i n u x 资源框架开放,使普通的软件结构可以为所有用户提供一致的服务。 p o k e t l i n u x 平台使用户的视线从设备、平台和网络上移开,由此引发了信息技 术新时代的产生。在p o k e t l i n u x 中,称之为用户化的信息交换,也就是提供和 访问为每个用户需求而定制的“主题信息的能力,而不管正在使用的设备是 什么。 5 ) 红旗嵌入式l i n u x 由北京中科院红旗软件公司推出的l i n u x 是国内做得较好的一款嵌入式操 作系统。目前,中科院计算所自行开发的开放源码的嵌入式操作系统e a s y e m b e d d e do s 也已经开始进入实用阶段了。该款嵌入式操作系统重点支持 p j a v a 。系统目标一方面是小型化,另一方面能重用l i n u x 的驱动和其他模块。 9 第一章绪论 1 4 3 嵌入式系统软件环境的组成 上文介绍了主要的硬件平台以及操作系统的选择,下面我们来介绍一下该 嵌入式系统软件环境的组成部分,本文的主要部分l i n u x 2 6 内核的移植也是按 照这几个部分来逐步完成的。 一个完整的嵌入式系统软件环境由引导装载程序( b o o t l o a d e r ) ,操作系统 内核、操作系统文件系统和相应的交叉编译软件四个部分组成【8 1 。 1 ) 引导装载程序( b o o t l o a d e r ) 2 ) 操作系统内核 3 ) 操作系统r o o t 文件系统 4 ) 交叉编译软件 其主要内容会在第三章进行详细的介绍。 第五节本文的内容和组织结构 本文的内容和组织结构如下: 第一章是绪论部分,主要对嵌入式系统进行概述性的介绍。包括选题意义、 硬件平台和软件平台以及论文的主要内容及组织结构。 第二章主要是对l i n u x 2 6 内核的实时性的研究,首先简要介绍了嵌入式系 统与实时系统;然后对l i n u x 2 6 内核在实时性方面的增强及实现机理;最后在 讨论了l i n u x 2 6 内核所存在的不足基础上总结了有效的改进方案,并提出下一 步的工作。 第三章分四个步骤进行l i n u x 2 6 内核的移植工作。首先是交叉编译环境的 建立。然后是u b o o t 的修改和移植,该部分还对引导加载程序相关的概念及 u b o o t 的体系结构、工作原理进行了介绍;第三部分进行新内核的配置、修改 以及移植;第四部分是文件系统的建立过程。 第四章是在移植了新的l i n u x 2 6 内核的基础上,开发了能应用于l i n u x 2 6 内核的设备驱动程序,并在所搭建的平台上,利用开发的设备驱动程序进行了 l i n u x 2 6 内核的实时性的测试,并与l i n u x 2 4 内核的实时性进行了对比分析。 第五章是总结和展望,提出该论文的不足之处,同时对以后的工作重点进 行展望。 1 0 第二章l i n u x 2 6 内核的实时性研究 第二章lin u x 2 6 内核的实时性研究 l i n u x 的内核开发是一个漫长的过程,自2 0 0 1 年1 1 月发布2 5 0 以来,l i n u x 内核的发展十分迅速,作了很多重大的改进,性能也有了很大的提高。随着 l i n u x 2 6 的推出,无论对于企业用户、个人爱好者还是开发者都是振奋人心的。 新内核支持更多类型的处理器,提高了可靠性和可扩展性。l i n u x 强劲的发展 势头再次向人们展现了其独特的魅力。 2 1 1 实时操作系统 第一节嵌入式实时操作系统 实时操作系统( r t o s r e a lt i m eo p e r a t i o ns y s t e m ) 是指一个能够在指定的 时间范围内完成特定的功能或者对外部的异步时间做出响应的操作系统【9 】。其 操作的正确性不仅依赖于逻辑判断和逻辑设计的正确程度,而且跟这些操作进 行的时间有关。“在指定时间范围内”是这个定义的核心。也就是说,实时系统 是对响应时间有严格要求的。这个定义要求,系统应该有在事先定义的时间范 围内识别和处理离散事件的能力;系统能够处理和存储控制系统所需要的大量 的数据0 。根据系统对时间响应的限制和系统的重要性,可将实时系统划分为 软实时系统和硬实时系统。软实时系统仅要求事件响应是实时的,并不要求限 定某一任务必须在多长时间内完成;而在硬实时系统中,不仅要求任务响应要 实时,而且要求在规定时间内完成事件的处理。但它们之间的界限并不十分清 晰。通常,大多数实时系统是两者的结合】。 用来作为r t o s 性能衡量标准的指标主要由如下几种 1 2 】: 1 ) 系统响应时间( s y s t e mr e s p o n s et i m e ) :系统在发出处理要求到系统给 出响应信号的时间; 2 ) 任务切换时间( c o n t e x t s w i t c h i n gt i m e ) :多任务之间进行切换所花费 的时间; 3 ) 中断延迟时间( i n t e r r u p tl a t e n c y t i m e ) - 从接收到中断信号到操作系统 第二章l i n u x 2 6 内核的实时性研究 做出响应,并完成进入中断服务程序的过程的时间。 2 1 2 嵌入式实时操作系统 由嵌入式系统的概念和特点可以看出,一个嵌入式系统对操作系统的可靠 性、实时性都有很高的要求。尤其在嵌入式技术广泛应用的工业控制、航空军 事以及近年兴起的机器人控制领域,对嵌入式操作系统的实时响应能力提出了 非常严格的要求,即使出现很小的时间偏差,都有可能造成不可估量的损失。 这也是为什么大多数嵌入式系统都采用实时操作系统的原因。实时操作系统应 用到嵌入式领域,就出现了嵌入式实时操作系统,它是实时操作系统与嵌入式 系统相结合的产物,具有实时性的同时还具有嵌入式系统的特点。 前面指出了r t o s 性能衡量标准的指标。不同的系统实时性能力有很大差 别,我们可以通过选择合适的操作系统来达到所需的实时性要求。 除了能保证系统的可靠性、实时性外、嵌入式实时操作系统也提高了开发 效率,缩短了开发周期。在嵌入式实时操作系统环境下,开发一个复杂的应用 程序,通常可以按照软件工程中的分解原则将整个程序分解为多个任务模块, 每个任务模块的调试、修改几乎不影响其他模块。 第二节l in u x 2 6 内核的实时性增强 实时可靠性是嵌入式应用较为普遍的要求,尽管l i n u x 2 6 并不是一个真正 的实时操作系统,但其改进的特性能够满足相应需求。l i n u x 2 6 已经在内核主 体中加入了提高中断性能和调度响应时间的改进,尤其是l i n u x 2 6 内核增加了 对可抢占式内核的支持,改进了进程调度算法。下文中会对这两点进行详细的 介绍 1 3 - 19 1 。 2 2 1 可抢占内核 在先前的内核版本中( 包括l i n u x 2 4 内核) 不允许抢占以核心态运行的任 务( 包括通过系统调用进入内核模式的用户任务) ,只能等待它们自己主动释放 c p u 。这样必然导致一些重要任务延时以等待系统调用结束。 在l i n u x 2 6 中,内核是可以被抢占的,也就是说,内核允许自身在执行任 1 2 第二章l i n u x 2 6 内核的实时性研究 务时被打断,这样,即使内核正在做一些很复杂的事情,用户任务也可以继续 运行。同时,为了避免由此而可能带来的竞态,内核中设有一个抢占锁,运行 加锁代码段时,内核不能被抢占。 为了支持内核抢占,l i n u x 2 6 内核相对于l i n u x 2 4 内核所做的第一处改动 是:为每个进程的t h r e a di n f o 数据结构中引入了p r e e m p tc o u n t 计数器,用来当 作抢占锁,每当使用锁的时候该计数器数值加1 ,当锁被释放的时候,该计数 器的值减1 。该计数器的初值为0 ,表示没有持有锁,内核可以进行抢占;当该 值为1 时,表示进程持有锁,此时内核不能被强占。 经过改进的l i n u x 2 6 内核,抢占可能在以下情况下发生: 1 ) 当从中断处理程序返回内核空间的时候。此时内核会检查n e e dr e s c h e d 和p r e e m p t _ c o u n t 的值。如果n e e d r e s c h e d 被设置,并且p r e e m p t _ c o u n t 值为0 的话,说明有一个更重要的进程需要执行,并且可以抢占。 2 ) 当内核代码再一次具有可抢占性的时候。如果当前进程持有的锁都被 释放了,此时,释放的代码就会检查n e e dr e s c h e d 是否被设置。如果被设置, 则进行抢占。 3 ) 如果内核中的任务显示调用s c h e d u l e ( ) ; 4 ) 如果内核中的任务阻塞,因为此时会调用s c h e d u l e ( ) ,所以内核也可以 被抢占 其中后两种介绍的是2 6 版本l i n u x 内核都支持的。 一个内核任务可以被抢占,为的是让重要的用户应用程序可以继续运行。 这样做最主要的优势是极大地增强系统的用户交互性。 l i n u x 2 6 内核并不是真正的r t o s ( r e a lt i m eo p e r a t i o ns y s t e m ) ,其在内 核代码中插入了抢占点,允许调度程序中止当前进程而调用更高优先级的进程, 通过对抢占点的测试避免不合理的系统调用延时。l i n u x 2 6 内核在一定程度上 是可抢占的,比l i n u x 2 4 内核具备更好的响应性。但也不是所有的内核代码都 可以被抢占,可以锁定内核代码的关键部分,确保c p u 的数据结构和状态始终 受到保护而不被抢占。 软件需要满足最终时间限制与虚拟内存请求页面调度之间是相互矛盾的。 慢速的页错误处理将会破坏系统的实时响应性,而l i n u x 2 6 内核可以编译无虚 拟内存系统避免这个问题,这是解决问题的关键,但要求软件设计者有足够的 内存来保证任务的执行。 第二章l i n u x 2 6 内核的实时性研究 1 2 0 0 1 0 0 0 囊8 0 0 莩6 0 0 墨4 0 0 2 0 0 0 平均响应时问 2 4 v s 2 6 石耳丽 ! 堡釜蛔查l 2 4 2 6 内核版本 图2 1 平均响应时间对比 2 4 最差响应时间 2 4 v s 2 6 晒下丽 任务响应 2 6 内核版本 图2 2 最差响应时间对比 图2 1 和图2 2 显示了2 4 1 内核和2 6 内核平均情况下和最坏情况下任务 的响应时间。数据来自通过一台p h i1 0 g h z 处理器采集的3 1 0 万个样本。测 1 4 o o o o o o 0 0 o 删 0 o o o 0 o o a 0 o o 0 o o o 0 o o o o 0 0 o 臼 4 2 0 8 6 4 2 _,-,l 叁器。辽毒v p 吾 第二章l i n u x 2 6 内核的实时性研究 试使用的是带有超过5 个中断的l y n u x w o r k s 的实时测试设备。系统处在由持 续地磁盘数据传送、网络通信、控制台输入、图像处理和一个定时卡组成的高 负载下运行。 2 2 2 有效的调度程序 l i n u x 2 6 内核推出了一个内嵌o ( 1 ) 调度算法的调度器,该算法在选择候选 进程n e x t 时具有恒定的时间复杂度o ( 1 ) ,故此得名。o ( 1 ) 调度器与l i n u x 2 4 调 度器相比,不论在调度器性能、实时性、内核可抢占,还是s m p 等方面都有很 大的改进,为了实现o ( 1 ) 调度器,l i n u x 2 6 对调度相关的内核进行了较大的修 改。下面我将详细描述进程调度的时机、策略,并对l i n u x 2 4 和2 6 的进程调 度器进行对比。 1 ) 调度时机 在l i n u x 2 6 中,引起调度器启动有两种方式:主动调度和被动调度。主动 调度随时都可能发生,只要通过直接或间接的调用s e h e d u l e o 就能启动一次调度 器。这种启动方式和l i n u x 2 4 是一样的。与l i n u x 2 4 不同的是o ( 1 ) 调度器的被 动启动不仅可以发生在返回到用户态时,还可以发生在返回到核心态时,这比 l i n u x 2 4 被动启动调度器的条件宽松了许多,从而实现了内核的可抢占运行, 提高了调度器的实时性,调度器被动启动的时机包括:从中断处理或系统调用 返回到用户态;某个进程允许被抢占c p u ;某个进程主动进入 t a s ki n t e r r u p t i b l e 状态或t a s ku n i n t e i 汰u p t i b l e 状态。 2 ) 调度策略 在l i n u x 2 6 版本中,仍有三种调度策略:s c h e dn o r m a l 、s c h e df i f o 、 s c h e dr r 。s c h e dn o r m a l 是普通进程的调度策略;s c h e df i f o 和 s c h e dr r 都是实时进程的调度策略,二者的区别是:当进程的调度策略为前 者时,当前实时进程将一直占用c p u 直至自动退出,除非有更紧迫的、优先级 更高的实时进程需要运行时,c p u 才会被强占;当进程的调度策略为后者时, 它与其它实时进程以r o u n d r o b i n 方式去共同使用c p u 。 o ( 1 ) 调度器是以进程的动态优先级为调度依据的,调度器总是选择目前就 绪队列中优先级最高的进程作为候选进程。由于实时进程的优先级总是比普通 进程的优先级高,故能保证实时进程总是比普通进程先被调度到。 第二章l i n u x 2 6 内核的实时性研究 l i n u x 2 6 中,优先级的计算不再集中在调度器选择进程时,而是分散在进 程状态改变的任何时候。这些时机是:进程被创建时;休眠进程被唤醒时;从 t a s ki n t e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民爆安全培训制度课件
- 民法总论课件付俊伟
- 川职单招考试真题及答案
- 餐饮升职考试题库及答案
- 光迅科技新质生产力实践
- 中国新质生产力的实践图景
- 绿色新质生产力发展模式
- 人才新质生产力专题会议
- 中考备考方案
- “五四”青年节主题活动方案
- DSA术前术后护理要点
- 2025年职业病诊断医师资格考试(职业性尘肺病及其他呼吸系统疾病)历年参考题库含答案详解(5卷)
- 2025年农电招聘面试题目及答案
- 活动挂名管理办法
- 高校基地管理办法
- 超声科法律法规与工作规范
- 01 华为采购管理架构(20P)
- 企业购电计划方案(3篇)
- 星级酒店室内装修施工合同
- 2025-2030中国三维光学表面轮廓仪行业市场发展趋势与前景展望战略研究报告
- 肾小球肾炎课件
评论
0/150
提交评论