




已阅读5页,还剩52页未读, 继续免费阅读
(模式识别与智能系统专业论文)车载嵌入式linux操作系统的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 嵌入式系统已经广泛应用到了人们生活的各个领域。随着嵌入式设备硬件的 日益增强和系统功能的完善,嵌入式摄作系统已成为嵌入式设备所必须的组成部 分。而在各种嵌入式操作系统中,l i n u x 凭借其代码公开,性能稳定,网络功能 强大等多方面的优势,在嵌入式系统中被广泛地采用,得到了嵌入式系统设计者 的普遍认可。尤其在l i n u x 2 6 发布后,内核专门对嵌入式系统进行了优化和改 进,成为一个极其优秀的嵌入式开发平台。因此对l i n u 】( 2 6 内核进行移植研究、 改善性能是十分必要的工作。 本文是对车载电子的嵌入式系统研究工作的总结。主要在s h 4 系列s h 7 7 5 l r 微处理器开发平台上对嵌入式l i n u x 2 6 内核进行了移植和改进研究。主要包含 的工作有内核的移植、b o o t i o a d e r 的启动配置、l i n u x 掇文件系统的优化设计等 正作。在内核移植中,由于毅版本l i n u x 及编译环境与先前内核版本移植过程有 较大差异,s h 4 系列微处理器由于其专一的汽车电子应用并没有获得各种第三组 织提供的交叉编译工具链的支持。本文对嵌入式l i n l l ) ( 开发环境和各部件依存关 系进行了分析,并从代码修改和配置进行了研究,并详细介绍了s h 系歹莓徽处理 器的标准b o o t l o a d e 卜- s h - b o o t 的配置。 在对嵌入式l i n u x 系统的优化配置中,主要分析了嵌入式系统启动的启动时 间分布,并对影响系统启动速度的因素进行了分析。为了解决对嵌入式“n u x 启 动时间影响较大的根文件系统挂载延时,提出并设计了混合型文件系统以有效提 高启动的速率,并与多种格式的文件系统进行了对比测试,实验证明其获得了良 好的效果。 课题鼓磊介绍了车载嵌入式l n u x 系统开发中的其他的一切问题进行了篙 要介绍,主要包括g u i 用户界面的开发,符合车载电子系统的o e s k ,v d k 的嵌 入式软件编程规范和驱动开发等。 关键词:嵌入式系统l i n u x 2 。6 内核移植壤文件系统寤动速度 a b s 括t a c t a b s t r a c t 蚤如滩幽y se m b e d d c ds y s f e mh a sb e e n 谢d e l ya p p i j 酣速a i m ) s t a l ip p l e ,s1 i 凳 a n de m b e d d e d0 p e r a l 证gs y s t e mt a k e sm o r ea i l dm o r ei n l p o n 柚tc o n s t i t u e n to f e m b e d d e ds y s t e m sw l l i l eb o l hm e 如n c t i o no fs o u r c ec o d e 锄dt h eh a r d w a r ei sg e t t i n g f h fp r o g r e s s e d e m b e d d e dl i 腓xi sc o m m o n l yt l s e d 髓da c c e p t e db ye n g i n e e r sa d d d e 粥l o p m e n tr e s e a r c h e r sa st kb e s te m b e d d e do p e f a t i n gs y s e mb e c 哪eo ft h e a d v a i l 招g e so fo p e ns o u r ,9 0 0 dp e 渤e ,a n ds 蛔n gc 印蒯t yo fn e t w o r k s u p p o n i n g l i n u x2 6 i sd e s i g e da n d 、州t t e nb ys p e c i a lc o n s i d e r a t i o no fe m b e d d e d s y s e mi ni 括p e o i t n a n c e ,s oi ti sn e c e s s a f yt od om o r cr e s e a r c h 、柏r k so ni tw h i c h h a sb e e nb e c o m i n gt h eb e s td c v e l o p m e n tp l a t f o h no f e m b e d d e ds y s t e m 。 t h i st h e s i si n c l u d e st h em a i n 、v o r k so nv e h i c l ei n f 0 衄a t i o ne m b e d d e do p c r a f i n g s y s t e m ,b yr e s e a r c h j n go nt h ec o 砖t r a n s p i 柚to f “n u x2 6a n dr o o f 剐es y s t e mw h i c b i sb a s e do ns h 7 7 5l rm p u ,m ea u 镪o r 南u n d 证a t 斑e r ei sn or e a d y m a d ec r o s s t l so f a n yo r g a n 主z a t i o n sa sf 醯a si ti sc o n c e m e d c f o s s - c o m p 谁n ge n v 咖e n t h a sb e e 矗 e s t a b i i s h e da n da n a l y z e ds t e pb ys t e pt os h o wt h ed e p e n d i n gr e l a f i o n s l i p so fe a c h c o m p o s i n gp a c k a g e s o m ec o d e sa r em o d i f i e da 1 1 dt h ec o n n g l l r ef i l e sa r el i s t e db e i o 砒 s h _ b o o w b i 曲i st h es t a n d a r db o o t l o a d e rf o rt h es h 缸n i l y ,i sa l s oi 蛐蜘u c e d e m b e d d e do p e r a t i n gs y s t e mm u s tb eo p t i m i z e dt og e tt l e 蹦a n c ep o i n to fi 扭 s i z ea n dp e “b m l a n c e t h r o u g ht e s tw ef o u n dt l l a ti tc o s tm o r et i m ei nt h ep r o c e s so f p m c e o d i n gr o o tf i k s y s t e mo ft h ee m b e d d e dl i n u x b yp r e s e n t i n gah y b r i d o t 磊l e s y s t 哪b a s e do nm t dd e v 记e ,t h es i m u l a t i o ns h o w s 垃l a tt h eb o o n 醒t m ei s d e c r e a s e d f b mw h i c ht i er e s u l t sc o m e s 。 a tt h ee n d ,t h e r ei sab r i e fi n t r o d u c t i o no ft h ep r o b l 锄so ft h ed e v e l o p m e n to f v e l l i c ki n f b n a t i o ne m b e d d 越s y s t e m ,s u c ha st h eg u 王d e s i g i l ,o s e 饥r d k e n v i f o n m e n t p r o g f a m 西n ga n dt h e 出i v e r so f e m b e d d e d l i n 哇x 。 k e y w o r d s : e m b e d d e ds y s t e m ,l i n u x 2 6 ,c o r et r a n s p l a n t ,r o o tf i l es y s f e m , b o o ts d e e d i i 中国科学技术大学学位论文原创性和授权使用声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究工作 所取得的成果。除已特别加以标注和致谢的地方外,论文中不包含任 何他入已经发表或撰写过的研究成果。与我一同工作的同志对本研究 所做的贡献均已在论文中作了明确的说明。 本人授权中国科学技术大学拥有学位论文的部分使用权,即:学 校有权按有关规定向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅,可以将学位论文编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 保密的学位论文在解密后也遵守此规定。 作者签名:监 2 浙f 月;o 日 劾渤 第i 章绪论 1 1 嵌入式系统概述 第1 章绪论 嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软传硬件珂裁 剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系 统弘j 。嵌入式系统韵最大特点是蔟所其有的强的性或针对性,即每一套嵌入式系 统的开发设计都有其特殊的应用场合与特定功能。这也是嵌入式系统与通用的诗 算机最主要的区别。另外,由于嵌入式系统是为特定的目的丽设计的,且常裙受 到空间、成本、存储、带宽等条件的限制,园此,它必须最大限魔地在硬件上和 软件上“量身定徽”| 三i 摅羁效率,这样的结果最终导致实对往和实用性豹增强。 嵌入式系统由硬件和软律援丈部分缝戏。从硬辞方面来讲,嵌入式系缝的核 心部件是嵌入式处理器。般可以将嵌入式处理器分成4 类: 1 ) 嵌入式微控制器( m i c r 0c o n t f o l l e ru n i f ,m c u ) 嵌入式微控露8 器即单片祝。翠期鲢:较流行戆处理器,是将整个计算机系统集 成到一个芯片中,内郝以某零申微处理器为核心,并对r o m ,r a m 、总线、总线 逻辑、定时器计数器、i ,o 、串行日、刖d 转换、d a 转换等必要外设加以集成。 院较有代表性的通用磊弼有8 0 5 l ,p i c ,a v r 譬。 2 ) 嵌入式微处璎器( m 瓷p c e s s o ru n i t ,m p u ) 嵌入式微处理器由通用计算机的c p u 演变丽来。与通用计算机处理器不同 的是,实际嵌入式应用中,它只保留与嵌入式应用紧密相关的功能硬件,去除其 他冗余功能部分,并配上必要的外围扩展电路。在工作温度、抗电磁干扰、可靠 经等方蘑都傲了各罩申增强。目前主要的嵌入式处理器类型有a r m 、m l p s 、 p o w e r p c 系列等,本文所涉及的微处理器系列是r e n e s a s 公司提供的s h 4 架构鲍 微处理器。 3 ) 嵌入式d 骚鲑理器( d i g i t a ls i g n a lp m c e s s o f ,d s p ) d s p 处理器对系统结构和指令进行特殊设计,使其适合于执行d 韶算法, 编译效率较离,指令执行速度也快。在数字滤波、频谱分析应用较广。典型的有 t t 公司的t m s 3 2 0 系期、m o t o r o l a 公司的d s p 5 6 0 0 0 系列等。 4 ) 嵌入式片上系统( s y s 毫e m0 ne h i p ,s o c ) 片上系统将萋要处理器的内核和各释外圈豹罄片嚣俘整合在一超,把整个系 统做在一个芯片上,进一步降低了功耗,这也是今后嵌入式处理糕发展的方向。 典型的有i n t e i 的1 ) c a 架构等1 2 】。 第l 章绪论 从软件方面来讲,一般由嵌入式操作系统和应用软件组成,有些嵌入式系统 的软件仅由应用软件组成。 嵌入式技术的发展,大致经历了嫂个阶段。 第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、 伺服,指示设备相配含的功能。这种系统大部分应用于一些专业性极强的工业控 制系统中,一般没有操作系统的支持,透过汇编语言编程对系统进行直接控制, 运行结束后清除内存。这一阶段系统的主要特点是:系统结构和功能都相对单一, 处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简 便、价格很低,以前在国内工业领域应用较为普遍,但是已经远远不能适应高效 的、需要大容量存储介质的现代化工业控制和新必的信息家电等领域的需求。 第二阶段是以嵌入式c p u 为基础、以简单操作系统为核心的嵌入式系统。 这一阶段的操作系统具有一定的兼容性和扩展性,但用户界面不够友好。 第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特 点是:嵌入式操体系统能运行予各釉不同类型的微处理器上,兼容性好;操作系 统内核精小、效率高,并且具有高度的模块化和扩展性:具备文件和目录管理、 设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用 程序接口( a p i ) ,开发应用程序籁单;嵌入式应用软件丰富。 第四阶段是以基于i n t e m e t 为标志的嵌入式系统,这是一个正在迅速发展的 阶段。目前大多数嵌入式系统还孤立于i n t e m e t 之外,但随着i n l e m e t 的发展以 及i n t c m e t 技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与i n t e m e t 的结合将代表着嵌入式技术的真正未来。 嵌入式系统的发展对嵌入式操作系统提出了更高的要求。因此,对嵌入式操 作系统的结构、设计、用户界面等诸多方面进行深入研究,将有助于嵌入式系统 的应用和发展囝。 2 第l 章绪论 1 2 嵌入式操作系统 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系 统( 包括硬、软件系统) 极为重要的组成部分,通常包括与硬件相关的底层驱动 软件、系统内核、设备驱动接口、通信协议、图形界面、标准亿浏览器。( i e e e , 1 9 9 7 ) 与通用操作系统相比较,嵌入式操侔系统在系统实时高效性、硬件的相关 依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。 一般情况下,嵌入式操作系统可以分为两类,一类是面向控制、通信等领域 的实时操作系统;另一类是薤离消费电子产品的非实时操作系统。 实时系统是指能在确定的时间内执行英功能并对外邦的异步事件做出响应 的计算机系统。其操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操 作进行的时间有关。“在确定的时问内”是该定义的核心。也就是说,实时系统是 对响应时间有严格要求的。实时系统对逻辑和时序的要求非掌严格,如果逻辑帮 时序出现偏差将会引起严重后果。实时系统有两种类型:软实时系统和硬实时系 统。软实时系统仅要求事件响应是实时的,并不要求限定某一任务必须在多长时 间内完成;丽在硬实时系统巾,不仅要求任务响应要实时,而且要求在规定的时 间内完成事件的处理。通常,大多数实时系统是两者的结合州。 嵌入式操作系统伴随着嵌入式系统的发展经历了4 个比较明髭的阶段: 第一阶段是无操作系统的嵌入算法阶段,是以单芯片为核心的可编程控制器 形式的系统,同时具有与监测、伺服、指示设备相配合的功能。这一阶段系统的 主要特点是:系统结构和功能都耀对单一,处理效率较低,存储容量较小,几乎 没有用户接口。由于这种嵌入式系统使用简便、价格很低,以前在国内工业领域 应用较为普遍,但是已经远远不能适应高效的、需要大容量存储介质的现代化工 照控制和新兴的信息家电等领域的需求。 第二阶段是以嵌入式c p u 为基础、以筒单操作系统为核心的嵌入式系统。 这一阶段系统的主要特点是:c p u 种类繁多,通用性比较差;系统开销小,效 率高;一般配备系统仿真器,操作系统具有定的兼容性和扩展性;系统主要用 来控潮系统负载以及监控应用程序运行。 第三阶段是通用的嵌入式实时操作系统阶段,是以嵌入式操作系统为核心的 嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类 型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块 化和扩展性;其各文件和是录管理、设备支持、多任务、网络支持、图形窗囡以 及用户界面等功能;具有大爨的应用程序接口( a p i ) ,_ 歼发应用程序简单;嵌入 第l 章绪论 式应用软件丰富。 第四阶段是姓基于i n 把m e t 为标志的嵌入式系统,这是一个正在迅速发展的 阶段。目前大多数嵌入式系统还孤立于i n t e m e t 之外,但随着i r 廊m e t 的发展以及 i n t e m e t 技术与信息家电、工业控制技术等结合日盏密切,嵌入式设备与i n t e f n e t 的结台将代表着嵌入式技术的真正未来。 目前国际上有西酉多种嵌入式操作系统。在所有的操作系统钟,l i n 既是发 展最快、应用最广泛的。l i 聃x 本身的种种特性使其成为嵌入式开发的首选。在 进入市场的前两年中,嵌入武“n u x 的设计通过广泛应用而获得巨大成功。随着 嵌入式系统技术的成熟,定制需要的尺寸尤为方便,同时支持更多的平台,并从 早期的试用阶段迈进到成为嵌入式市场的主流p j 。 1 3 车载嵌入式系统的发展 传统的汽车制造业主要涉及机械工程领域和一些电子工程领域。丽近几年 来,数字技术和软件技术逐渐成为汽车产业发展的驱动力,汽车电子正作为一项 产业蓬勃发展开来。根据德国慕尼黑科技大学信息研究m a n 舭db 教授在2 0 0 3 年的调查,近年来车用汽车电子的软件数量迅速增长,预计一部汽车用在软件上 的花费很快达到总造价的1 0 。而在r e n e s a s 公司2 0 0 4 年的数据调查分析,现 在汽车电子的发展已由步 围功能向本质性功能转变。 囊麓囊藜一。攀鬻鬻麟鬻戳j 繁鬻麟 图1 1r e n e s 公司2 0 0 4 年汽车电子发展预计图 现在汽车的耨功能主要是由软件实现的,两汽车上9 0 的技术创新来源于软 件。目前一辆高档轿车可安装多达1 8 0 m b 以上的软件程序,另外提供导航功能 的轿车提供了更为可观的地图数据库,甚至使用了硬盘等大容量磁性存储介质。 汽车中几乎所有的辅助功能都是由软件控制的。汽车中软件的应用已经不仅仪控 制筚一的某项功能,面是相互联系,通过总线进行通信,甚至通过无线通信技术 与汽车之外的网络连接。 汽车应用软件数量和复杂度的增加迫切需要车用嵌入式操作系统的支持。操 作系统在提高汽车应用程序的可移植性及可靠性、缩短系统开发周期和降低嵌入 第1 章绪论 式系统开发成本方面具有重要的意义,在汽车嵌入式系统中发挥越来越重要的作 精。 风河( w l n d 鼬v e r ) 公司在嵌入式软俘领域具有很大的市场占有份额,其嵌 入式实时操作系统v x w b r k s 是目前最流行操作系统之一。m c t r o w e r k s 公司的 o s e k t u r b o o s 也是一个常用的车用嵌入式操作系统。车载嵌入式系统由于其应 用范围特殊,具有自己的三个特性: 1 ) 分布性 汽车上使用微处理器的电控单元应用于汽车的各个角落,它不仅在发动机管 理、传动控制和动力总成系统的核心组件中有着薰要的应用,而且在提高汽车舒 适和安全性方面也有所涉及,如座椅调节、灯光控制、安全气囊、多媒体系统等。 最近甚至在辅助驾驶、智能导航、自动检测方面等智能控制方面分布式微处理器 在智能化、自动化方面都有了长足的发展。车载微处理器数目越来越多,各个部 件已经不蒋孤单的管理和应用,而是通过车载网络进行分布式管理f 6 1 。 2 ) 实时性 大多数嵌入式系统都具有实时性需求,这一特点在汽车电子领域表现特别突 出。越来越多性能优异的微处理器和微控制器应用于汽车电子中。如汽车安全方 面的防抱死系统、防翻滑系统和动力安全系统,赢接关系至乘员豹生命安全。 从汽车 电子缀成结构上分析,车载嵌入式系统必须得到系统环境各个环境的 支持,才能达到整体的实时性。在对汽车电子进行开发时,当系统的基本功能的 设计固定后,汽车实时性的确定则主要通过管理硬件的操作系统来实现。因此对 嵌入式车载系统提出了很高的需求。 3 ) 高可靠性 由于汽车的适应性要求,汽车外部条件将或许是恶劣的。正是由于汽车的移 动性,车载电子系统将需要对颠簸、高温、强电磁干扰进行充分设计考虑和优化。 例如为适应车载电子系统的颠簸,在实际汽车电子生产中利用大容量闪存来替代 普通的磁性存储会质,如硬盘。另外对车载电子加以电子屏蔽层、对车内总线使 用高质量绞线,都可提高系统的抗电磁干扰性。 1 4 论文的主要工作及结构安排 本课题主要研究习标是对嵌入式操作系统的研究,从而为车载电子的嵌入式 操作系统提供支持。论文主要对具有良好e m 拖m c 设计的r e n e s a s 公司出产的 s u p e r - h 4 系列微处理器为例,提出了对非常见架构微处理器的l i n u x 移植方案, 并对此进行了详细分析。另外对l i n l l ) ( 2 6 系统进行了优化并设计了对比方案, 通过对严重影响启动速度的根文 牛系统的重新设计,从而达到了快速启动的实旄 第l 章绪论 性增强的目的。另外论文还涉及到了嵌入式l i n u ) ( 的驱动开发和g u i 开发的一 些内容,由于实际工作中组织较为松散,将不做细致的介绍。 论文组织和结构安排以嵌入式l i n u ) 【2 6 在s u p e r - h 上的移植和l i m 的根文 件系统性能改进为主要论述。第一章为绪论,简要介绍嵌入式和车载嵌入式系统 的发展i 第二章介绍嵌入式系统的移植,介绍从交叉编译环境创建及b o o t l o a d e r 的编写的移植过程;第三章从根文件系统的改进和实时性优化两方面介绍了 l i 叫x 性能的改进;第四章简要介绍了车载嵌入式系统的驱动开发及g u i 界面开 发,并简单介绍了o s e k 规范。 另外在论文第二章中根文件目录的创建、第三章中n o r n a s h 驱动的编写与 后面相关章节有所交叉。 6 第2 章嵌入式l i n “的移植 第2 章嵌入式l i n u x 的移植 2 1 嵌入式“n u x 系统 2 1 1 嵌入式l i n u x 系统介绍1 7 l l i n u x 从1 9 9 1 年问世到现在,短短的十几年时间己经发展成为功能强大、 设计完善的操作系统之一,不仅可以与各种传统的商业操作系统分庭抗争,在新 兴的嵌入式操作系统领域内也获得了飞速发展。嵌入式l i n u x ( e m b e d d e dl i n u x ) 是指对标准l i n u x 经过小型化裁剪处理之后,能够固化在容量只有几k 或者几m 字节的存储器芯片或者微处理器中适合于特定嵌入式应用场合的专用l i n u x 操 作系统。嵌入式l i n u x 的开发和研究是操作系统领域中的一个热点,目前已经开 发成功的嵌入式系统中,大约有一半使用的是l i n u x 。l i n u x 之所以能在嵌入式 系统市场上取得如此辉煌的成果,与其自身的优良特性是分不开的。其优点主要 包括: 1 ) 广泛的硬件支持 l i n u x 能够支持x 8 6 、a r m 、m i p s 、p o w e r p c 、s u p e r h 等多种体系结构, 目前已经成功移植到数十种硬件平台,几乎能够运行在所有流行的c p u 上。l i n l l ) ( 有着异常丰富的驱动程序资源,支持各种主流硬件设备和最新硬件技术,甚至可 以在没有存储管理单元( m m u ) 的处理器上运彳亍,这些都进一步促进了l i n l l 】【 在嵌入式系统中的应用。 2 ) 高效稳定的内核 l i n u x 内核的高效和稳定已经在各个领域内得到了大量事实的验证,l i n l l ) ( 的内核设计非常精巧,分成进程调度、内存管理、进程问通信、虚拟文件系统和 网络接口五大部分,其独特的模块机制可以根据用户的需要,实时地将某些模块 插入到内核或从内核中移走。这些特性使得l i n n x 系统内核可以裁剪得非常小 巧,很适合于嵌入式系统的需要。 3 ) 开放源码,软件丰富 l i 删x 是符合g n u 开源组织条款设计的自由操作系统,它为用户提供了最 大限度的自由度,由于嵌入式系统千差万别,往往需要针对具体的应用进行修改 和优化,因而获得源代码就变得至关重要。l i n u x 的软件资源十分丰富,每一种 通用程序在l i m 上几乎都可以找到,并且数量还在不断增加,在l h n 上开发 嵌入式应用软件一般不用从头做起,而是可以选择一个类似的自由软件做为原 型,在其上进行二次开发。 7 第2 章嵌入式l i n u x 的移植 4 ) 具有优秀的开发工具和完善的网络通讯机制。 开发嵌入式系统的关键是需要有一套完善的丌发和调试工具。传统的嵌入式 开发调试工具是在线仿真器( i n c i r c u i t e m l l l a t o r ,i c e ) ,它通过取代目标板的微 处理器,给目标程序提供一个完整的仿真环境,从而使开发者能够非常清楚地了 解到程序在目标板上的工作状态,便于监视和调试程序。在线仿真器的价格非常 昂贵,而且只适合做非常底层的调试,如果使用的是嵌入式l i n u x ,一旦软硬件 能够支持正常的串口功能时,即使不用在线仿真器也可以很好地进行开发和调试 工作,从而节省了一笔不小的丌发费用。嵌入式l i n u x 为开发者提供了一套完整 的工具链( t 0 0 1c h a i n ) ,它利用g n u 的g c c 做编译器,用g d b 、k g d b 或x g d b 做调试工具,能够很方便地实现从操作系统到应用软件各个级别的调试。另外 l i n u x 支持所有标准的i n t c m e t 网络协议,并且很容易移植到嵌入式系统当中。 2 1 2l i n u x 2 6 内核的改进 “n u x2 6 内核中,引入了很多非常有利于嵌入式应用的功能。这些新功能 包括实时性能的增强、更方便的移植性、支持高档的电源管理a p m ( a s s i s t a m p o 、v e rm a n a g e r ) 和i o 系统的改进等。主要包括: 1 )可抢占式内核和响应时间的改进 虽然l i n u x2 6 还不是一个真正的实时操作系统,但其改进后的响应能力更 加适合于这一领域的需求。在l i n u x 2 6 中,代码被设置了抢占点,这就意味着 调度程序会中止现在j 下在运行的进程而来执行优先级更高的进程。在系统调用过 程中,l i n u x2 6 会定时地检查抢占点,以避免不合理的延迟发生。而在检查过 程中,调度进程很可能就会中止当前的进程来让另外一个进程运行。因此,在一 些时效性比较强的事件中,l i n u x2 6 要比2 4 具有更好的响应能力。图1 1 显示 了2 4 内核和2 6 内核在平均情况下和最坏情况下任务的响应时间【8 】。数据来自 通过一台p i i i1 0 g h z 处理器采集的3 1 0 万个样本。测试使用的是带有超过5 个 中断的l y n u x w o r k s 的实时测试设备。系统处在由持续地磁盘数据传送、网络通 信、控制台输入和一个定时卡组成的高负载下运行。 图2 1 l j n u x 2 ,4 内核与2 6 内核响应时间对比 第2 章嵌入式“n u x 的移植 2 ) 调度程序的改进 在2 。6 内核中,调度程序每次不再扫描所有的任务,雨是在一个任务变成就 绪状态时将其放到一个名为“当前队列”的队列之中。当进程调度程序运行时,它 只选择队列中最有利的任务来执行。这样,调度就可以在一个恒定的时间里完成。 当任务执行时,它就会得到一个时间段,或在其转到另外一个线程之前得到一段 时间的处理器使用权。当它的时间段用完之后,任务就会被移到另外一个名为“过 期”的队列中。而在该队列中,任务会根据其优先级进行排序。从某种意义上讲, 所有位于当前队列的任务都将被执行并且都将被移到“过期”队列之中。当这种事 情发生时,情况就会有所变化,队列就会被进行切换,原来的“过期”队列成为当 前队列,而空的当前队列也就变成了过期队列。由于在新的当前队列中的任务已 经被排列好了,调度程序现在也可以使用简单的队列算法,即总是取当前队列的 第一个任务进行执行。不管任务是多是少,这个新的过程实际上要比老的过程快 得多 3 ) 其他改进 另外l i n u x 2 6 在进程间使用了新的同步措施,改进了1 p c 共享内存,支持 通用设计并改进设备和总线i ,o ,n u m a ( 不一致内存访问n o n u n i f o 舳m 咖o r y a c c e s s ) 技术等等。另外新内核改进了了p o s i x 线程、信号和计时器。在 n p t l ( n a t i v ep o s i xt h r e a dl i b r a l y ) 的改进更为明显,甚至都已经超过了现在一 些补丁中可用的高性自选择方案。n p t l 为多线程应用程序在s m p 环境中带来 了极大的性能提高它尤其有益于超重量级的多线程企业级应用程序例如j a v a 应 用程序w 曲服务器和应用程序服务器应用程序。 与p o s i x 线程一起,2 6 把p o s i x 信号和p o s i x 高精度计时器作为了主流 内核的一个组成部分。p o s 信号比以前l i n “版本中使用的u n i x 模式的信号 有了很大的改进。新的p o s 信号不能被丢失,并且可以携带信息作为参数。 此外,p 0 s i x 信号也可以从一个p o s i x 线程传送至另外一个线程,而不是像u i l i x 信号一样,只能从一个进程至另外一个进程【9 j 【。 嵌入式系统通常要求硬件能够在固定的时间安排下来运行任务。p o s i x 计 时器可以轻松地让任何一个任务都可以周期性地得到预定安排的时间。计时器的 时钟可以达到很高的精度,从而可以让软件工程师更加精确地控制任务的调度。 这些的改进使得l i n u x 2 6 性能在对比2 4 内核有着相当大的优势。尤其对于 嵌入式设备而言,无论是从运行效率还是设备管理都有较大的性能提升,尤其在 内核可抢占性上,提供了比2 4 内核更好的软实时性。在进行嵌入式开发时选用 性能优异的l i n u 】( 2 6 内核也已经成为各嵌入式开发厂商所提供的较新的解决方 案平台。 9 第2 章嵌入式l i n u x 的移植 2 1 3 嵌入式l i n u x 的一般开发过程 与其他嵌入式系统的开发过程相似,嵌入式l i n u x 的开发过程在概念上与其 没有分别。但由于l i n u x 是开源的操作系统,实际开发中对于在开发环境的搭建、 资源的配置和运行调试等方面具有自己的特点。嵌入式l i n u ) 【的开发主要包括以 下几个步骤j : 1 ) 移植内核,配置交叉编译工具链 实际开发中移植内核的工作主要包括针对处理器进行代码移植修改和对 交叉编译中库文件进行修改,从而对各寄存器的状态、开发板存储的地址、 各中断处理等代码进行修改。 2 ) 剪裁内核,配置根文件系统 对内核的剪裁主要是针对嵌入式l i n u x 系统的需要对系统进行优化。通 过剔除不必要的内核部分,例如无用的驱动、加载服务等,达到减小内核 体积,快速部署内核的目的。 3 ) 配置b o o t l o a d e r 对b o o t l o a d e r 的移植主要是根据实际制作的嵌入式系统的存储单元的硬 件设计和存储部署上的不同,重新对系统进行引导配置。通过配置 b o o t l o a d e r 系统将能够正确的引导并启动嵌入式系统。 4 ) 驱动的开发并配置并引到内核 由于嵌入式系统针对不同硬件的实际,需要对所需要配置的硬件迸行驱 动的编写,并配置到内核( 也可选择运行时加载) 。这让就能使得嵌入式 l i n u ) 【支持各种硬件配置扩展,延伸系统的功能。 5 ) 丌发应用程序 嵌入式系统的应用程序主要包括g u i 界面的开发和特定的嵌入式l i n l l ) ( 应用程序的开发等。由于嵌入式l i 肌x 可以使用的软件众多并且大都开源, 在实际开发中可以对其进行针对性的修改,从而达到完善系统功能的目的。 这也是嵌入式“n u x 的优点所在。 实验中移植l i n u x 2 6 的对象是i 沁n e s a s 公司的s h 7 7 5 1 r 微处理器,属于s h 系列处理器的s h 4 族。它内建了和p c 兼容的p c i 总线控制器,拥有最高2 4 0 m h z 的主频4 3 0 m i p s 的指令处理速度及1 7 g f l o p s 的浮点运算速度。提供4 g 地址 空间,多种内存页大小。还拥有d m a 控制器时间控制器等等功能模块。因此 s h 7 7 5 l r 是一款多用途高性能的嵌入式c p u 芯片,目前广泛应用到汽车电子、 便携设备和游戏机中。 在嵌入式l i n u x 的实际开发中,还存在着较多的问题。例如不同版本的l i n l l ) 【 之间以及不同版本的交叉编译器之间在实际开发过程也大不相同。例如l i n u x 2 6 第2 章嵌入式l i n u x 的移植 内核版本中g c c 4 1 的配置过程与l i n u x 2 4 下g c c 3 1 环境下的开发环境的配置迥 然不翰。这是因为在实际开发中较新版本的内核及编译器在实际编译原来针对老 版本的源文俘对会产生菲常多的错误,有些甚至难以解决。两在避入嵌入式开发 中,建立交叉编译环境并移植内核是首先要进行的工作。实验中通过对s h 4 系 列微处理器进行的l i n u x 2 6 移植,详细的阐述了交叉环境中各工具的依存关系, 并对无法通过编译的情况提供了代码修改方案。 2 2 交叉编译环境的构建与分析 2 2 1 源文件的选取和外部变量设置 交叉编译是指在宿主机器( h o s t ) 上生成针对特定平台代码( t a 糟e t ) 的过程 f ”i 。实验中使用的是x 8 6 平台下的d e b i a n 4 o 的宿主机对s h 4 系列平台代码进行 交叉编译,从两生成在s h 4 系列m p u 上可运行的代码。进行交叉编译的一系列 工具即称为交叉编译工具链,主要包括: 1 ) 交叉编译器及相关二进制工具( 链接器、归档工具、符号剥离器等) 。 2 ) 针对蜀标平台的c 及( x + 头文件。由于不两平台具有自身函数库及自 带头文件,因此宿主平台必须具有目标平台的头文钵,以便进行交叉编译程序。 3 ) 针对目标平台的c 及c + + 函数库。宿主平台也必须具有平台的开发库 函数,用来编译程序。 强2 2 交叉编译代码过程翻 交叉编译工具链主要通过b i n u t i l s 、g c c 和西i b c 等几个部分编译生成,其作 用为: b i n u t i l s 是一组二迸制工具文件,用于操作二迸制的目标文件,其主要包括 q u 的汇编器a s 、链接器撼、颓处理器9 8 s p 和文档管理器a r 等。 g l i b c 是g n u 发布的标准c 链接库,它是平台相关的,在进行交叉编译时是 开发的基本库。由于其体积较大,在各鼬嵌入式系统中多使用u c l i b c 和n e w l i b 等进行替换。 g c c 是g n u 提供的标准的跨平台编译嚣,支持c 、c + + 、j a v a 、a d a 等多种 第2 章嵌入式l i n “的移植 语言,实际嵌入式开发中经常用的是c 和c + + 。 设定和建立g n u 交叉编译工具链是较困难豹事情,因为b i n 嘲l s 等开发包 单独开发与发行。必须对不同软件包的依存关系以及各个角色功能有相当的了 解。各大厂商均为各架构平台的微处理器系列提供技术支持。另外c l f s 、c r o s s t o o l 等组织为a r m 、m 礤s 等平台提供了交叉编译工具平台的解决方案,仅需下裁解 压缩简单配羁后即可使用。由于s h 4 系列微处理器应用较少,这些著名的交叉 编译工具平台如均未提供对s h 4 系列环境的支持。有较多的s h 系列微处理器开 发板厂商提供了对l i n u x 的开发工具包,但提供的大都是2 4 版本的内核,并且 无法及时得到社区的技术支持。因此选取负责s h 架丰句“n u x 内孩团队发布的内 核是最佳选择。在实验中选取的稳定版本是0 7 年5 胃发东的稳定敝本 1 i n u x _ s h 2 6 2 0 。 在选取c 库过程中考虑系统的稳定性问题,选取了标准库g i i b c 及g l i b c 的 s h 4 支持补丁。另外e l i b c 2 5 3 的l i n u ) 【如r e a d s 补丁包是对p o s i x 标准的核心线程 库支持补丁。值得注意的是,g l i b c 中i n s l i a l l 文件中文件指明了b i n u t i l s 和g c c 的最低版本和推荐版本,可通过此定义选取b i n u t i l s 和昏c 。 实验中选取的b i n u t i i s 版本为2 i 7 。与内核的选取不同,寥c 的选取并不建 议选媚最耘的版本,这是因为可能在选用的其健工具软件进行具体调试中很多陈 旧代码可能在新编译器下编译链接错误较难解决。在实验中选择的是弘c 4 一。l 及 g c c 的s h 4 补丁。 实验中下载的源文件和补丁如下: b i n u l i l s - 2 1 7 5 0 _ l a 龆删n m i l s 源文件 b i n u t i l s 2 17 5 0 s h 4 1 i 1 1 u x t 孔g z胁i n u t i l s 的s h 4 补丁包 g c “,i 1 t a g zg e c 的源文件 g c c 4 ,1 1 s h 4 一l i n u x t a l 弘蚀c c 豹s h 4 补丁包 g i i b c - 2 5 t 3 t a l g z g l i b c 的源文件 西i b c - 2 5 3 一s h 4 一l i n u x t 馘弘 ,g l i b c 韵s h 4 补丁包 g i b c 1 i n u ) 【衄e a d s 之5 3 诅r g z缝l i b c 的p o s i x 核心线程库支持补丁 9 1 i b c h e a d e r s 2 5 3 衄g zg l i b c 的头文件源码 g l i b c - h e a d e r s - 2 5 3 s h 4 t 越g zg l i b c 的头文件源码补丁 l i n u x s h 一2 6 2 0 1 0 t a r g z适用于s h 全系列的l m u x 2 6 2 0 内核 首先建立工作酲录和一些环境外部变量: $ e x p o r tp r e f = 恤o m e m o $ “p o r t 附r h $ p r e f l x ,u s 曲i n :$ p a t h $ e x p o nh o s t 2 j 6 8 6 一l i n i l x $ e x p o r t1 a r g e t = s h 4 - l i n u x 第2 章嵌入式l i n u x 的移植 其中p 砌! f i x 变量为组建配置命令提供了一个指针,指向交叉编译工具系 统的安装目录。设定隧r h 的值是将系统环境变量中二进制文件目录指向安装的 交叉编译髫录,并且引用原来的二进制文件目录。h o s f 变量为主机设定平台类 型。t a r g e t 变量用于定义目标板的类型,系统将会根据此目标板类型建立交叉 编译工具链。t a r g e t 变量的设置与目标板架构相关,如表2 1 所示【l2 】。 目标板1 a r g e t 变量值 a r ma r m i i n u x p o w e r p c p o w e 攀c - | l n 张 m i p s ( b i ge n d i a n )m l p s l i n u x s u p e r h3 s h 3 一l i n u x s u p e r h4 s b 4 l i n u x 由于外部变量在系统转换时会丢失,可将创建外部环境变量挑入用户目录 下b a s h r c 文件中,启动用户时即可加载所设置外部环境变量。 2 2 2 内核头文件的生成 内核头文件是交叉编译的基础文件,在较早版本的l i n u x ( 如2 4 ) 一般通 过对内核的配置生成。而在“n u x 2 6 环境下配置完内核后,版本头文件v e r s i o n h 需要单独建立,这是因为在很多软件( 如后期编译的g l i b c ) 配置时需要检测是 否安装内核源码,首先要检测豹就是l i 曲x 的版本文体,如采v e r s i o n h 不存在, 系统就会提示无法找到内核文件而报锚1 1 3 】。解压l i n u x s h 2 6 2 0 1o 。t 聪g z 源码包 并运行指令: $ t a r - x z fl i n u x s h - 2 矗2 0 1 0 l t a l 弘 $ c dl i m 城- 2 6 2 0 $ m a k ea r c h = s hc r o s s c o m p i l e = = s h 4 一i i n u x - m e n u c o n f i g $ m a l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业级服务营销策略的计量分析与应用实践
- 企业目标与环境变化的适应试题及答案
- 从企业角度探讨数字化转型的必要性与挑战
- 基于数字化技术的医疗金融产品设计与实践
- 医疗行业数字化协作平台的发展与挑战
- 企业可持续战略评估试题及答案
- 企业职业健康安全与风险管理试题及答案
- 五年级语文上册第四单元备课汇编
- 护理流程设计规范
- 2025年编程实践与技巧考察题目及答案
- DB62∕T 3176-2019 建筑节能与结构一体化墙体保温系统应用技术规程
- WDM网络规划与设计指南
- 电子商务客户服务5套综合测试题带答案
- 微观经济学课件第二章(高鸿业)
- 实测实量方案交底
- 医院科室6S管理制度
- 病历书写基本规范12021病历书写规范试题.doc
- 《山东省自然科学基金资助项目年度进展报告》
- 电厂保安人员管理制度
- ge核磁共振机房专用精密空调机技术要求
- 发展与教育心理学个别差异
评论
0/150
提交评论