




已阅读5页,还剩57页未读, 继续免费阅读
(计算机应用技术专业论文)嵌入式linux关键技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学项士学位论文 摘要 , f目前,嵌入式系统已进入基于i n t e m e t 的开发阶段,在这个阶段迫切需要一个 高教、资源占用少、功能齐备、易于扩充且成本低廉的嵌入式操作系统,嵌入式l i n u x 操作系统就是在这一背景下被推出来的。嵌入式l i n u x 操作系统不仅继承了传统 l i n u x 的许多优点,如易于开发、功能强大、免版费、开放源码等,而且对原有系 统做了大量的嵌入化改造,使其能够更好的适应嵌入式应用的需要。在深入研究了 嵌入式l i n u x 开发过程中用到的各种关键技术如引导程序、驱动开发、文件系统构 造等的基础上实现了一个基于e d b 7 3 1 2 开发平台的嵌入式l i n u x 系统。l 开发嵌入式l i n u x 系统首先要解决它的引导问题,通过对核心的构造和引导过 程的深入分析,研究出了嵌入式l i n u x 的一般引导机制,给出了核心引导的三个必 要条件,并为e d b 7 3 1 2 开发平台编写了引导程序。编写驱动程序是嵌入式l i n u x 系统开发的另一个重要任务,并且驱动程序设计的好坏直接影响到系统的稳定性, 为此深入研究了接口、中断、任务队列等与驱动程序开发有关的技术,解决了驱动 程序开发过程中可能遇到的竞争、死锁及有界缓冲区问题,并且为e d b 7 3 1 2 开发平 台编写了相应的驱动程序。 嵌入式系统的特点之一是存在着童遭约惠回题j 为此采取了以下措施对嵌入式 l i n u x 系统进行小型化改造:首先,对内核采取定制的方法,剔除了核心中与具体 应用需求无关的模块;其次,设计了一个最小的文件系统目录结构模型,并给出了 文件系统小型化的方法,如裁减它的目录结构、库、脚本等。嵌入式系统的另一个 特点是断电的随机性,为了提高文件系统的可靠性并考虑到嵌入式系统常用的闪存 设备的损耗平衡问题,采用了一种称为j f f s 一2 的日志文件系统,并且针对该文件系 统安装速度较慢的缺点,同时给出了设置检查点和综合使用j f f s 2 、c r a m f s 、t m p f s 三种文件系统的解决方案。 关键词:嵌入式操榨系统;引导;驱动;裁减;日志妄磊系统 f 一 l 华中科技大学硕士学位论文 a b s t r a c t n o w a d a y se m b e d d e ds y s t e mh a se n t e r e dad e v e l o ps t a g eb a s e do ni n t e m e t ,t h i s s t a g e n e e d sa r l e f f i c i e n t ,l o w - r e s o u r c e = o c c u p a n c y ,f i l l l 一f u n c t i o n ,e a s y t o - e x p a n d a n d c h e a p - c o s te m b e d d e ds y s t e m ,i ti su n d e r t h i sb a c k g r o u n dt h a te m b e d d e dl i n u x o p e r a t i n g s y s t e mh a sb e e np u tt ot h em a r k e t e m b e d d e dl i n u xo p e r a t i n gs y s t e mh a sn o to n l y i n h e r i t e dal o to f a d v a n t a g e so f t r a d i t i o n a ll i n u x ,f o re x a m p l e ,e a s yt od e v e l o p ,f u n c t i o n p o w e r f u l l y ,r o y a l t yf l e ea n do p e ns o u r c ee t c ,b u ta l s om a k ep l e n t yo fe m b e d - o r i e n t e d t r a n s f o r mt om e e tt h en e e d so fe m b e d d e da p p l i c a t i o n a f t e rh a v i n gm a d eat h o r o u g h s t u d y o v e rv a r i o u sk e y t e c h n o l o g i e st h a tw o u l d b e u s e di ne m b e d d e dl i n u x d e v e l o p m e n t , a sj sb o o tl o a d e r , d e v i c ed r i v ea n dc o n s t r u c t i o no ff i l es y s t e me t c a ne m b e d d e dl i n u x s y s t e m b a s e do ne d b 7 3 1 2 d e v e l o p m e n tp l a t f o r mh a sb e e ni m p l e m e n t e d h o wt ob o o ti st h ef i r s tp r o b l e mt ob es o l v e di nt h ed e v e l o p m e n to fe m b e d d e dl i n u x s y s t e m t h r o u g ht h o r o u g ha n a l y s i sf o rt h ec o n s t r u c t i o na n db o o t i n gc o u r s eo fk e r n e l ,t h e b o o t i n gm e c h a n i s m i sg r a s p e da n dt h r e en e c e s s a r yc o n d i t i o n st ob o o te m b e d d e dl i n u xi s p u tf o r w a r d ,ab o o tl o a d e rf o re d b 7 3 1 2d e v e l o p m e n tp l a t f o r mh a v ea l s ob e e nw r i t t e n i t i sa n o t h e ri m p o r t a n tt a s kt ow r i t ed r i v e rf o re m b e d d e dl i n u xs y s t e m ,a n dt h ed e s i g no f d r i v e rc a n d i r e c t l ya f f e c tt h es t a b i l i t yo fs y s t e ms e v e r e l y ,t h e r e f o r et e c h n o l o g yr e l e v a n tt o d r i v e rd e v e l o p m e n ts u c ha si n t e r f a c e ,i n t e r r u p t ,t a s kq u e u eh a sb e e n t h o r o u g h l ys t u d i e d , a n dm a n yp r o b l e m sm e ti nt h ec o u r s eo fd r i v e rd e v e l o p m e n th a v eb e e ns o l v e d ,s u c ha s c o m p e t i t i o n ,d e a d l o c ka n dl i m i t a r yb u f f e re t c ,f i n a l l ys o m ed r i v e r sh a v eb e e nw r i t t e nf o r e d b 7 31 2d e v e l o p m e n t p l a t f o r m o n ec h a r a c t e r i s t i co fe m b e d d e ds y s t e mi st h a ti t p o s s e s s e so fr e s o u r c er e s t r a i n t p r o b l e m ,t os o l v et h i sp r o b l e mf o l l o w i n gm e a s u r e sh a v eb e e nt a k e ni n c a r r y i n g o u t m i n i a t u r i z a t i o nt r a n s f o r mf o re m b e d d e dl i n u x s y s t e m :f i r s t , c u s t o m i z e dm e t h o di s a d o p t e d f o rk e r n e lt oe l i m i n a t et h ep a r ti nk e r n e lt h a ti su n c o n c e r n e dw i t ht h ed e m a n do f s p e c i f i ca p p l i c a t i o n ;s e c o n d l y ,am i n i m u mc a t a l o gs t r u c t u r a lm o d e li sd e s i g n e df o rf i l e s y s t e m ,a n ds o m em e t h o dw eh a sb e e np r o p o s e df o rm i n i a t u r i z a t i o no ff i l es y s t e m ,f o r e x a m p l e ,c u td o w ni t sc a t a l o gs t r u c t u r e ,l i b r a r ya n ds c r i p te t c a n o t h e rc h a r a c t e r i s t i co f e m b e d d e d s y s t e mi st h er a n d o m n e s so f b r o k e ne l e c t r i c i t y ,t or a i s et h er e l i a b i l i t yo ff i l e s y s t e ma n da l s o t os o l v et h ew e a rl e v e l i n g p r o b l e me x i s t i n g i ns t o r e e q u i p m e n to f n 华中科技大学硕士学位论文 e m b e d d e d s y s t e m ,a k i n do f j o u r n a lf i l es y s t e mt h a ti sc a l l e da sj f f s 2i sa d o p t e d j f f s 2 h a ss h o r t c o m i n go fm o r es l o wm o u n t i n gs p e e d ,t os o l v et h i sp r o b l e mt w ok i n d so f s o l u t i o n sh a v eb e e n p r e s e n t e d ,o n ei ss e r i n gc h e c k p o i n ga n o t h e r i sc o m p r e h e n s i v eu s eo f j f f s 2 ,c r a m f sa n dt m p f sf i l es y s t e m k e yw o r d s : e m b e d d e d o p e r a t i n gs y s t e m ;b o o t ;d r i v e r ;c u td o w n ;j o u m a l f i l es y s t e m i i l 华中科技大学硕士学位论文 1 绪论 1 1 课题背景 在以计算机技术、通讯技术相结合为标志的信息时代快速发展的形势下,3 c t 卜2 】 ( c o m p u t e r 、c o m m u n i c a t i o n 、c o n s u m e r ) 合一的趋势已经形成,其结果必然是将 计算机工业的重心从计算机产品转移到信息产品,从而涌现出各种嵌入式信息设备 【3 4 】。在嵌入式信息设备的开发领域中,由于用户的需求不断增加,嵌入式操作系统 必将成为软件业的新热点。因此,设计与实现功能强大的嵌入式操作系统有着相当 重要的意义。 嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁减、适应应 用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统【5 l 。嵌入式 技术发展到今天,嵌入式系统给世界带来的工业年产值已超过了l 万亿美元【6 1 0 嵌 入式操作系统门】( 简称e o s ) 是一种实时的、支持嵌入式系统应用的操作系统软件, 它是嵌入式系统的极重要的组成部分,嵌入式操作系统的主要特点是:能运行于各 种不同类型的微处理器上,兼容性好;内核精小、效率高,并且具有高度的模块化 和扩展性:具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用 户界面等功能;具有大量的应用程序接口( a p i ) ,开发应用程序简单:嵌入式应 用软件丰富:软件要求固化存储,软件代码要求高质量、高可靠性,系统软件( o s ) 的高实时性是基本要求。目前嵌入式系统已进入以基于n t e m e t 为标志的嵌入式系 统开发阶段哺j ,对网络的支持程度已成为衡量一个嵌入式操作系统性能的重要标准。 嵌入式c p u 是嵌入式系统的核心,拥有自己的嵌入式c p u 和支撑系统软件是 发展自主产权嵌入式系统的前提条件和基础。嵌入式c p u 是指应用于各种信息设备 里的c p u ,一般功能不太强,主要是以低价格、低功耗为特征 9 q o 】。2 0 0 2 年9 月2 8 日,“龙芯1 号”c p u 正式在北京发布,它是我国第一款具有自主知识产权的嵌入 式处理器系统。“龙芯1 号”最高主频达到2 6 6 m h z ,定点和浮点最高运算速度均 超过每秒2 亿次。“龙芯l 号”功耗较低,2 0 0 兆主频l i n u x 下运行的功耗为0 4 w , 支持l i n u x 、v x w o r k s 等主流操作系统,能直接支持软解压的流媒体应用,可用于 一- _ _ - - _ _ _ - _ _ _ _ - _ _ _ - _ _ _ _ _ - - _ _ - - - - - _ - - _ - - _ - - - _ - _ _ _ _ - _ - _ _ 一 l 华中科技大学硕士学位论文 网络终端机、工业控制计算机等嵌入式设备。随着嵌入式系统的发展,嵌入式操作 系统逐渐成为嵌入式微处理器的支撑软件,“龙芯1 号”能否在嵌入式系统方面取 得成功,一个非常关键的因素是要看我国嵌入式l i n u x 操作系统研究和开发的程度。 嵌入式l i n u x 多种原形的提出,正为我国加快发展嵌入式软件技术提供了极好的机 遇和条件【】。 1 2 国内外概况 1 2 1 嵌入式l i n u x 系统的概况 随着后p c 时代的到来,l i n u x 在向传统p c 领域扩展的同时,积极地加强其在 嵌入式领域的应用。l i n u x 易于移植,且有强大的网络功能以及优秀的g n u 工具的 支持,容易自行建立嵌入式系统所需的开发环境和交叉运行环境,并且可以跨越在 嵌入式系统开发中的仿真工具( i c e ) 的障碍【1 2 。4 1 。尤其重要的是l i n u x 公开内核 源代码,因此开发者可以清楚地把握操作系统的运行机理,定制内核的行为,对代 码进行优化,同时也有利于设计和开发自主版权【1 5 】的硬实时或软实时操作系统。 l i n u x 的另一个重要优势在于它是免费的,这使得嵌入式l i n u x 在与其它商用嵌入 式操作系统如q n x t l 6 郴1 、p s o s l l 盯、v x w o r k s 等的竞争中处于有利地位。 由于l i n u x 的独特优势,近年来越来越多的企业和科研机构把目光转向嵌入式 l i n u x 的开发和研究上。在嵌入式l i n u x 的研究与开发过程中涌现了一大批经营嵌 入式l i n u x 的公司,国际上比较有代表性的有m o n t a v i s t a 、l i n e o 、r e d h a t 、t i m e s y s 等,国内主要有中科红旗、博利思【1 9 】、蓝点软件( 北京) 研发中心、共创软件联盟等。 这充分说明了利用l i n u x 开发嵌入式操作系统的生命力。 目前,国内外至少有上百种嵌入式l i n u x 的分布及相关的产品,下面就其中比 较有代表性的几个分布和产品做一介绍。 1 b l u e c a tl i n u x b l u e c a tl i n u x 是由l y n u x w o r k s 公司提供的基于开放源码模式进行开发的嵌入 式l i m t x ,它使用r e d h a tl i n u x 平台进行嵌入式系统的开发。b l u e c a t 最适于m i p s 体系的嵌入式l i n u x 应用开发,同时l y n u x w o r k s 公司提供了b l u e c a tl i n u x 开发工 华中科技大学硕士学位论文 具包,包括c 和c + + 编译器和针对目标芯片的汇编器,并且现在的开发工具已经移 植到了m i c r o s o f tv i s u a ls t u d i o 上。最新的版本是l y n u x w o r k sb l u e c a t4 0 ,使用 t r o l l t e c h 公司的q t e m b e d d e d 作为g u i 系统。 2 m o n t a v i s t al i n u x2 1 m o m a v i s t al i n u x2 1 基于最新的l i n u x2 4 1 7 稳定内核,提供支持x 8 6 、m i p s 、 s h 以及p o w e r p c 体系结构的实时抢占式内核,是一个开放源代码、免版费以及 1 0 0 来自纯l i n u x 源代码。m o n t a v i s t a l i n u x2 1 的一个重要的改进在于跨平台开发, 它支持1 4 个主机开发环境,包括r e dh a t 、y e l l o wd o gl i n u x 、s u s e 、m a n d r a k e 、 s 0 1 i s 等,在大多数情况下,m o n t a v i s t al i n u x2 1 支持上述最新的版本。此外, m o m a v i s t a 还扩展了针对嵌入式跨平台开发的各类开放源代码工具的支持,提供了 首个基于k d e v e l o p 的m o n t a v i s t a 开发环境,支持x 8 6 和p o w e r p c 平台的l i n u x 跟 踪工具( 包括内核性能和执行分析器) 以及e x t 3 日志文件系统等。 3 u c l i n u x u c l i n u x ( m i c r o c o n t r 0 1 l i n u x ) 2 0 1 是专为无存储器管理单元( m m u ) 的微控制 器打造的嵌入式l i n u x 操作系统。u c l i n u x 的内核要比原l i n u x2 0 内核小的多,但 保留了l i n u x 操作系统的主要优点:稳定性,优异的网络能力以及优秀的文件系统 支持。u c l i n u x 只适用于特定环境下功能要求相对简单的嵌入式系统。 4 p o c k e t i x p o c k e t i x 嵌入式l i n u x 操作系统是由博利思软件有限公司开发的通用型嵌入 式系统平台,支持多种网络协议( 包括完整的t c p i p 协议) 、基于t i n yx 或 m i c r o w i n d o w s 技术的图形用户接口( g u i ) 及嵌入式浏览器等,目前主要应用于移 动信息家电产品。最新的p o c k e t i x1 5 采用了存储映像和一系列相关技术,使系 统可以瞬时加载,此外它还取消了硬盘上的交换空间,并对内存分配过程安排了更 为密集的管理以保持较充足的连续内存空间,在内存映射机制上,大量采用共享库 并提供了共享库的换出机制来减少内存消耗。 就目前的技术而言,嵌入式l i n u x 的研究成果与市场需求还有一段差距。因此, 要开发出真正成熟的嵌入式l i n u x ,还需要从以下几个方面进行努力:扩充“n 1 1 ) ( 华中科技大学硕士学位论文 的实时性、改造l i n u ) 【内核的体系结构、完善l i n u x 的集成开发环境、应用程序接 口的标准化。 1 2 2嵌入式l i n u x 的关键技术的研究概况 嵌入式l i n u x 开发大致涉及几个方面:引导程序、核心改造、系统小型化、图 形用户界面( g u i ) 、集成开发环境 2 1 - 2 3 ,下面就在有关开发中所涉及到的一些关 键技术的研究状况做一番论述。 1 2 2 1引导程序 引导程序通常是在任何硬件上执行的第一段代码,它负责硬件设备的低级初始 化,将内核和文件系统( 可能不需要) 搬至内存中,然后将控制转给内核。 嵌入式设备上一些流行的并可免费使用的l i n u ) 【引导装载程序有b l o b 、 r e d b o o t 和b o o t l d r 等。所有这些引导装载程序都用于基于a r m 设备上的l i n u x , 并需要j f l a s h 1 i n u x 工具用于安装。 1 b l o b 最初由e r i km o u w 和j a n - d e r kb a k k e r 开发,用于l a r t 平台,后来移植到多 种平台上,如a s s a b e t ( i n t e ls a l l l 0 评估板) 、b r u t u s ( s a 1 1 0 0 评估板) 、p l e b ( s a l1 0 0 ) 、s h a n n o n ( t u x s c r e e n ) 、n e s a 以及c r e d i t l a r t 等。 b l o b 有两种处理模式:自动引导和命令模式。在系统起动的1 0 秒内若从串口 接收到命令字,即从自动引导模式转入命令模式,在命令模式下可下载新的引导程 序、核心及文件系统。 b l o b 的大小约1 6 k b v t e s 。 网址:h t t p :w w w 1 a r t t u d e l f t n l l a r t w a r e b l o b 。 2 r e d b o o t 由r e d h a t 公司在e c o s 的基础上开发的应用程序,支持广泛的嵌入式设备,包 括a r m 7 、s u o n g a r m 及x s c a l e 等。 r e d b o o t 支持f l a s h 或网络引导,并支持通过串口( x m o d e m ,y m o d e m ) 或 以太网( b o o t p d h c p t f t p ) 下载程序。r e d b o o t 有一个命令行和脚本接口,另外 它还包含一个g d b 桩用于调试目标机上的程序。 4 华中科技大学硕士学位论文 网址:h t t p :s o u r c c s r e d h a t c o m r e d b o o t 。 3 b o o t l d r 一个全功能的引导程序,主要用于c o m p a qi p a q ,也可用在i n t c la s s a b e t 、s k i f f 及h p j o u r n a d a 7 2 0 上。除了用于引导l i n u x 外,b o o t l d r 还可用于引导q n x ,b s d 及 w i n c e 。 b o o t l d r 可读写任何内存空间,也可向f l a s h 的任何地方写入数据,支持j f f s 2 、 r a m d i s k 、c r a m f s 等文件系统,支持引导参数设置,f l a s h 分区,并支持c o m p a qi p a q 帧缓存。 大小:1 0 0 k b y t e s 。 网址:h t t p :w w w h a n d h e l d s o r g s o u r c e s h t m l 。 4 h e r m i t i t e r m i t 是一种基于主机、目标机体系的引导程序,由b e nw i l l i a m s o n m i k e t o u m l a t z i s 开发,用于c i r r u sl o g i ce p 7 1 1 0 、7 2 1 0 及e d b 7 9 8 1 2 开发板。它由两部分 组成:主机通讯程序和目标机二进制代码,目标代码需借助s h o e h o m 或j n a s h 写入 目标机的f l a s h 中。 h e r m i t 支持串口和网络两种下载方式。网络使用原始套接字方式,无栈且不能 处理冲突,使用时最好将主机和目标机用一个转接头或h u b ( 没有其它的设备连在 上面) 连在一起。 :大小:主机通讯程序3 2 k b y t e s ,目标机二进制代码2 0 k b y t e s 。 网址h t t p :w w w b l u e m u g c o m - m i k e t a r m a r m h t m l 。 5 a n g e l a n g e l b o o t a n g e l a n g e l b o o t 也是一种基于主机、目标机体系的引导程序,用于i n t e l a s s a b e t 、x s c a l e 开发板等。 a n g e l a n g e l b o o t 用于将核心和r a m d i s k 文件系统从主机上的硬盘中下载到目标 系统的内存中,然后将控制权交给核心来引导核心。a n g e l 是一段放到目标f l a s h 设 备上的代码,在目标系统起动时会首先运行它,而a n g e l b o o t 是运行在主机方管理 下载核心和文件系统的程序,它有一个简单的配置脚本。a n g e l 是s d t 的一部分, 可用于调试,a n g e l b o o t 则与s d t 无关。 一5 华中科技大学硕士学位论文 大小:a n g e l4 9 k b y t e s ,a n g e l b o o t3 4 k b y t e s 。 1 2 2 2开发工具 1 e m b e d i x e m b e d i x 和基于e m b e d i x 的一整套嵌入式l i n u x 开发环境是由l i n e o 公司开发 的,它支持多种硬件平台如p o w e r p c 、x 8 6 、a r m 等,适于应用到各种嵌入式手持 操作环境( e h o e s ) 中。通过使用e m b e d i x 可以为自己的嵌入式应用创建一个个性 化的内核。e m b e d i x 的设计使用了模块化的设计方案,方便剪裁系统,从而可以生 成最符合需求的e m b e d i x 内核,达到体积和功能的最优化。同时l i n e o 还提供了基 于e m b e d i x 的集成开发环境、实时扩展方案、g u i 接口等等。其中,集成开发环境 包括了内核远程调试器、实时任务调试器和跟踪器等等。 2 c c 1 i n u x 集成开发工具 c c 1 m u x 【2 4 1 集成开发工具是我国第一个自主版权的嵌入式集成开发工具,整个 系统由s d k 、e t k 、d d k 三个部分组成。 s d k ( s o f t w a r ed e v e l o p m e n tk i t ) 主要面向应用软件开发商,提供集成化的软 件开发环境,主要提供以下功能:支持嵌入式软件开发过程的工程化管理,支持多 个工作区和多个工程;依赖性检验,包括内核系统调用和设备依赖性检验;友好的 编辑界面;支持宿主环境下的嵌入式软件的可视化仿真编译、调试、运行;支持宿 主环境下针对不同目标平台的应用软件目标代码的生成。 e t k ( e m b e d d e dt o o l sk i t ) 主要面向设备制造商,提供集成化的内核开发和调 试环境,并可实现应用软件目标代码的调试,主要提供以下功能:支持c c 1 i n u x 的 可配置性与可裁减性:支持文件系统的可配置性和自动生成;支持g l i b c 库的动态 生成;支持目标系统环境下内核和应用软件的可视化调试;支持宿主环境下针对不 同目标平台的内核代码的生成。 d d k 是指设备驱动程序开发工具,目前尚在开发中。 3 p r o j w w w p r o j w w w 口5 1 是一种在嵌入式l i n u x 系统裁减中使用的版本控制工具。流行的软 件版本控制工具由于采用文件作为出入库和版本标识的粒度,有两个经常发生的问 。 华中科技大学硕士学位论文 题,裁减时文件系统有变化无法控制,裁减涉及多个文件的改动时无法表示其版本 号。 p r o j w w w 利用全局的版本标识解决了上面两个问题,允许裁减者并发工作, 可以在i n t e m e t 上进行项目的合作,并且具有较可靠的密文传输机制保障项目的保 密性, 1 2 2 3图形系统 由于嵌入式系统无法提供桌面图形系统所需要的程序存储空间和运行空间,而 且一股的图形系统也无法满足嵌入式系统对功能、外观的定制以及支持特殊的i o 设备的要求,因此,嵌入式图形系统的研究和实现成为嵌入式l i n u x 系统开发的热 点之一【2 6 1 。目前已经存在很多的可用的嵌入式图形系统,在选择时,我们需要考虑 一下几个方面:可靠性;资源占用;效率:功能;可定制性;开发环境;许可证。 1 t i n y x f i n y x 是面向嵌入式图形应用的紧缩的可以免费重复分发、开放源码的x w i n d o w 系统,运行在支持帧缓存的设备上。t i n y x 的资源占用相对很小,大小在 7 0 0k 字节左右,这使它很容易在资源有限的嵌入式设备上运行。 r m y x 的主要优点是:功能完善:存在大量的可直接使用的应用程序;丰富的 文档说明:支持大量的开发工具箱,如g t k 、q t 等。 对于我们来说,t i n y x 的主要问题在于对中文的支持,目前已经存在很多解决 方案:利用动态装入的方法修改系统函数如t l z w i n p r o 、z h x w i n 等;直接修改x 系统的库函数,如x t e a m l i n u x 、c x w i n 等;截取x 服务器与客户之间的通讯,如 c x s e r v e r 等;采用中文本地化,同时应用程序必需按i 1 8 n 的要求编写盼2 9 1 。 2 m i c r o w i n d o w s m i c r o w i n d o w s l 3 0 】是c e n t u r ys o f t w a r e 公司组织开发的开放源码的嵌入式g u i , 用于满足小型嵌入式系统的图形应用需求,支持多种目标体系,如x 8 6 、a r m 、m i 口s 等。m i c r o w i n d o w s 采用类似于x 的c s 体系结构,并且融入了分层设计的方法, 这种方法便于移植和扩充。 m i c r o w i n d o w s 支持两种a p i :一种采用类w i n 3 2 w i n c e 的a p i ,称为 一 7 华中科技大学硕士学位论文 = = = = = 自= = ;= = = = j = 自;j = = = ;= z t = = = = 目;= 目t 一= = m i c r o w i n d o w s :另一种a p i 与x 非常相似,称为n a n o x 。另外,它还支持三种开 发工具:n n x 【3 、t i n y w i d g e t s 、n a n o g t k 。 m i c r o w i n d o w s 的优点包括:代码简单,而运行的速度仍非常快;资源占用很 小:便于开发、移植和增加新的设备支持;可定制且支持交叉开发;采用m p l 分 发,基于它的f l n x 则采用l g p l 分发。 m i c r o w i n d o w s 的缺点是:没有太多现成的应用程序可用;缺乏文档说明等开发 支持;对于上层应用开发的支持较弱。 3 m i i l i g u i m i n i g u i t 3 2 1 是一种面向嵌入式系统或者实时系统的图形用户界面支持系统,它 是国内最早出现的几个自由软件项目之一。 m i n i g u i 的主要优点有:提供了完备的多窗口机制和消息传递机制;多字符集 和多字体支持;w i n d o w s 的资源文件支持;支持定制,且可移植性好:采用l g p l 分发( 当应用程序采用动态链接的方式使用m i n i g u i 可以不公开其源代码,从而有 利于商业应用和开发) 。 m i n i g u i 的缺点是:采用现有的图形引擎( s v g a l i b l i b g g i ) 导致的局限性: 多线程机制不是很完善,系统不稳定。 4 q t e m b c d d e d q t e m b e d d e d 是t r o l l t e c h 新开发的用于嵌入式l i n u x 的图形用户界面系统, t r o l l t e c h 还推出了q t 掌上机环境( q tp a l m t o pe n v i r o n m e n t ,简称q p e ) 。q p e 提供 了一个基本桌面窗口,为开发者提供了一个易于使用的界面。 q t e m b e d d e d 的优点包括:面向对象的体系结构有助于代码结构化、可重用并 且运行快速;资源占用少,大约8 0 0k ;易于开发。缺点是:q t e m b e d d e d 和q p e 只能在获得商业许可证的情况下才能使用。 1 2 2 4 实时扩展 在数据采集、控制、音,视频等设备中,对操作系统的实时性有比较高的要求。 l i m t x 并不是一个实时操作系统,因而必须提高其实时性来满足这些设备的要求。 我们知道,高效率是l i n u x 核心的设计原则之一,这使得它已具有一定程度的 一。 华中科技大学须士学位论文 实时性【3 3 3 4 】。不过,l i n u x 采用的是比较模糊的软实时调度策略,内核不支持事件 优先级和抢占实时特性,并且l i n u x 使用的虚拟内存管理机制造成了系统时间的不 可预测性【3 5 - 3 7 】,所有这些都不符合嵌入式系统应用中的高实时性要求。所以,在开 发嵌入式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 的实时处理和控制系统。 l i n u x 中不利于实时性的一个主要地方在于核心的非抢占性,通过在标准的 l i n u x 核心中加入一些抢占点将其改造成为可抢占的核心,从而减少系统的最大中 断禁止时间,提高系统的实时性。此外,还可以通过以下方法增进l i n u x 的实时性 3 s 4 0 1 :增加l i n u x 进程的调度时机;调整进程切换所用到的数据结构,必要时重写 l i n u x 进程切换的机制;去掉系统中的不可中断等待,将系统中的等待状态都定为 可中断等待;改进调度算法,根据系统的实际应用情况选用硬实时或者是软实时。 目前存在两种典型的实时l i n u x 系统:一个是f s m l a b s 公司的r t l i n u x 4 1 4 2 1 , 它采用双内核的方式来减少对核心的改动,但是它存在着与标准l i n u x 版本之间的 升级同步问题;另一个是t i m e s y s 公司的l i n u x r t ,它吸收了两项l i n u x 实时化的 技术:第一项是r t a i ( r e a lt i m ea p p l i c a t i o ni n t e r f a c e ) t 43 1 ,它的开发道路和r t l i n u x 的方案相近,不过在处理对l i n u x 内核改动方面,r t a i 做的改动更加模块化;第二 项技术是r e d l 4 4 ll i n u x ( r o b u s te m b e d d e d ) 系统,该系统实现的不是硬实时系统, 它是通过一个“抢占点”( p r e e m p t i o np o i n t ) 来获得系统的实时性能,它可以直接 使用l i n u x 的系统调用,这种调用是通过一个l i n u x r k ( l i n u x r e s o b r c ek e m e l ) 4 5 4 6 1 来实现的。 1 3 课题主要研究工作 基于嵌入式操作系统的特定用途,在设计它时不能按照设计一个通用的操作系 一 9 华中科技大学硕士学位论文 统的标准来设计一个大而全的操作系统。我们必须根据具体的应用需要对操作系统 的功能进行裁剪,从而产生一个符合特定领域应用要求的嵌入式操作系统。 本课题设计与实现的嵌入式l i n u x 操作系统以2 4 1 8 的内核为基础,该版本的 内核是目前最稳定的,且具有较好的模块性,易于裁减和扩充,对各种硬件平台的 支持较好。鉴于a r m 处理器是一种体积小、功耗低、高性能、易扩展的3 2 位r i s c 处理器,因此本系统的硬件平台可采用基于a r m 微处理器芯片e p 7 3 1 2 的高集成度 开发平台e d b 7 3 1 2 。 在本文中,我们将集中讨论涉及嵌入式l i n u x 开发各个层次的一些基本技术, 深入了解引导装载程序、内核和文件系统是如何交互的,并将研究引导程序的实现、 驱动程序开发、文件系统构造、建立开发工具与调试环境等与嵌入式l i n u x 开发有 关的关键技术。具体说来,本课题的主要工作如下: 1 构建嵌入式l i n u x 系统的开发环境; 2 为自己的开发板编写引导程序; 3 定制嵌入式l i n u x 的内核; 4 为开发板编写驱动程序; 5 开发嵌入式文件系统。 在完成以上工作后,我们将实现一个实用的嵌入式l i n u x 系统。 。 1 0 华中科技大学硕士学位论文 2 嵌入式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 开发也需要一个开发环境,因此在本 章的最后讲述了构造开发环境和调试工具等有关方面的内容。 2 1 系统模型 图2 1 示意了一个基本的嵌入式l i n u x 系统模型。 图2 1嵌入式l i n u x 系统模型 其中,b o o t l o a d e r 负责硬件设备的低级初始化,装载核心( 必要时也可能会装 载文件系统) ,然后将控制移交给核心代码。 k e r n e l 是一个多任务操作系统核心,可被裁减为仅具有基本功能的最小内核, 这些基本功能包括:进程管理;内存管理;文件管理:基本外设管理。 在最小内核之上是具有附加的本地支持的内核,这时内核提供的功能有:更多 的外部设备驱动;支持更多类型的文件系统。 更进一步便是具有网络支持的内核,这时内核将提供:t c p i p 包括p p p 的支 持;核心模块可以进行动态加载从而可以节省核心运行时占用的内存;针对强实时 或弱实时应用,核心可以分别提供相应的实时扩展模块。 基本文件系统:初始化程序i n i t 及s h e l l ;基本设备文件;基本的动态库;核心 的可动态加载模块及相应的工具;基本开发工具。 g u i 采用紧缩的xw i n d o w s 系统,根据应用需求也可采用其它的嵌
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会议承办服务协议书8篇
- 国家事业单位招聘2025中国国土勘测规划院招聘应届毕业生拟聘人员笔试历年参考题库附带答案详解
- 奔驰车辆无偿赠与协议9篇
- 南京市2025江苏城乡建设职业学院招聘工作人员26人(第一批)笔试历年参考题库附带答案详解
- 临夏回族自治州2025年甘肃临夏某部招聘民兵教练员笔试历年参考题库附带答案详解
- 2025陕西陕建瑞高科技园有限公司招聘(25人)笔试参考题库附带答案详解
- 2025广东湛江经济技术开发区建设投资发展集团有限公司招聘1人笔试参考题库附带答案详解
- 2025年萍乡市工程咨询管理顾问有限责任公司招聘第一批外聘人员23人笔试参考题库附带答案详解
- 2025年烟台莱州市财金投资有限公司招聘(10人)笔试参考题库附带答案详解
- 2025年江苏昆山创业控股集团有限公司第一批人才招聘15人笔试参考题库附带答案详解
- 2025年中小学生国防知识竞赛题库及答案
- 机械制图选择题试题库及答案
- 湖南省科技创新惠企助企政策汇编 2025
- 医院安全警示教育
- DB45∕T 2746-2023 国家储备林培育技术规程
- 医保基金监管培训课件
- 药厂变更管理培训
- 技术部工作汇报与未来规划
- 体育安全与急救知识培训
- 小区装修工具管理制度
- 2026年日历表(带农历 每月一张可打印)
评论
0/150
提交评论