(电路与系统专业论文)基于嵌入式linux的多媒体信息终端技术的研究与应用.pdf_第1页
(电路与系统专业论文)基于嵌入式linux的多媒体信息终端技术的研究与应用.pdf_第2页
(电路与系统专业论文)基于嵌入式linux的多媒体信息终端技术的研究与应用.pdf_第3页
(电路与系统专业论文)基于嵌入式linux的多媒体信息终端技术的研究与应用.pdf_第4页
(电路与系统专业论文)基于嵌入式linux的多媒体信息终端技术的研究与应用.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 嵌入式系统的研究开发已经随着信息技术的飞速发展逐渐成为当今科技的一 大热点,而l i n u x 又以其独特的优势成为嵌入式操作系统的主流。开发嵌入式l i n u x 系统,研究工作集中于软件和硬件支持两个方面。软件方面主要是针对应用程序 执行环境需求做系统集成;对硬件而言,需要针对不同硬件平台做内核配置与编 译。 本文首先分析了目前嵌入式系统开发的概况,并引出采用l i n u x 开发嵌入式系 统所具有的独特优势。然后通过介绍一款基于l i n u x 的嵌入式多媒体信息终端的设 计和实现,具体论述了嵌入式系统的开发流程及方法。主要从交叉编译开发环境 的构建、x s c a l e 处理器的选择、嵌入式l i n u x 系统的移植、设备驱动程序的分析、 图形用户接口q t e m b e d d e d 的实现、应用程序开发平台q t o p i a 的构建、基于 v i d e 0 4 l i n u x 的图像采集应用以及k o n q u e r o r e m b e d d e d 网络浏览器的实现等方面进 行具体的分析和论述。 最后本文还对进一步的开发提出了展望,为基于l i n u x 的嵌入式系统开发提供 了一定的研究价值和实用价值。 关键词:嵌入式l i n u x 根文件系统图形用户接口嵌入式浏览器 a b s t r a c t a b s t r a c t w i t ht h eq u i c kd e v e l o p m e n to fi n f o r m a i t o nt e c h n o l o g y ,t h er e s e a r c ha n d d e v e l o p m e n to fe m b e d d e ds y s t e mh a st ob eo n eo ft h eh o t e s tt o p i co fs c i e n c ea n d t e c h n o l o g yg r a d u a l l y ,a n dl i n u x h a st ob et h em a j o rt e c h n o l o g yo f e m b e d d e do p e r a t i o n s y s t e mw i t hi t sp a r t i c u l a ra d v a n t a g e s t od e v e l o pt h ee m b e d d e dl i n u x ,t h es t u d y s h n u db ee m p h a s i z eo nt h es o f t w a r ea n dh a r d w a r es u p p o r t a i m i n ga tt h ea p p l i c a t i o n p r o g r a ms y s t e mi n t e g r a t i o ni st h em a i np a r ti nt h es o f t w a r e ,a n df o rt h eh a r d w a r et h e m a i np o i n ti si t sk e m e lc o n f i g u r a t i o na n dc o m p i l i n gf o rd i f f e r e n th a r d w a r ep l a t f o r m t h ep a p e rb e g i n sw i t ht h ea n a l y s i so fe m b e d d e ds y s t e md e v e l o p i n g ,a n de d u c et h e p a r t i c u l a ra d v a n t a g e so fm o p i n gl i n u xt od e v e l o pt h ee m b e d d e ds y s t e m t h e nw i t ht h e i n t r o d u c t i o no fa l le m b e d d e dm u l t i m e d i ai n f o r m a t i o nt e r m i n a lb a s e do nl i n u xo p r a t i o n s y s t e m ,t ot a l ka b o u tt h ed e v e l o p i n gf l o wa n dm e t h o do fe m b e d d e ds y s t e mi n d e t a i l t h ea s p e c to fc r o s s c o m p i l i n ge n v i r o n m e n tb u i l d i n g ,x s c a l ep r o c e s s o rs e l e c t i o n , e m b e d d e dl i n u xo p e r a t i o nt r a n s p l a n t i n g ,d e v i c ed r i v e r sa n a l y s i s ,q v e m b e d d e dg u i r e a l i z i n g ,q t o p i a e n v i r o n m e n t b u i l d i n g ,i m a g ec a p t u r e a n dn e t w o r kb r o w s e r k o n q u e r o r e m b e d d e d a r ec o n c r e t e l ya n a l y z e da n dd i s s e r t a t e di nt h ep a p e r a tl a s t ,e x p e c t a t i o na r ep r o p o s e df o rf u r t h e rd e v e l o p i n g ,i th a sg r e a tv a l u ea n d e x t e n s i v ep r a c t i c a lv a l u ei ne m b e d d e dl i n u xs y s t e m k e y w o r d :e m b e d d e dl i n u x r o o tf i l es y t e mg r a p h i cu s e ri n t e r f a c e e m b e d d e db r o w s e r 创新性声明 本人声明所警交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知, 除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其它人已经发表或撰写过的研究 成果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同 工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:j 童埠 日期:兰鱼盟址,2 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定。即:研究生在校攻读学位期 间论文。i :作的知识产权单位属西安电子科技大学。本人保证毕业离校后,发表论文或使用论文i :作 成果时署名单位仍然为西安电子科技大学。学校有权保留送交论文的复印件,允许查阅和借阅论文; 学校可以公布论文的全部或部分内容可以允许采用影印、缩印或其它复制手段保存论文。( 保密的 论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名 导师签名 鱼曼黧 如 日期:2 鲤笸:! :12 日期砷易。f 。ly 第一章绪论 第一章绪论 1 1 课题研究背景 随着计算机技术和信息技术的发展,特别是互联网的普及,嵌入式系统无疑已 经成为计算机领域的热门概念之一,并且嵌入式系统也已经广泛的应用于各个领 域。目前,在世界范围的嵌入式系统带来的工业年产值已超过了l 万亿美元。国 内的嵌入式市场未来的发展重点将放在对应用范围的扩展,其中手持设备、信息 家电和工业控制则是近期市场的三大热点。展望未来,明天的嵌入式系统将会比 今天的更便宜、更小巧、更可靠、更高效而且更智能化。 据调查,目前国际上有两百多种嵌入式操作系统。在所有操作系统中,l i n u x 是发展最快、应用最广泛的。1 9 9 9 年时,还很少有开发者在嵌入式设备中考虑使 用l i n u x 。然而在今天,l i n u x 随时都有可能成为嵌入式操作系统市场的主导者。 对于嵌入式l i n t l x 开发而言,研究工作主要放在软件和硬件支持两个方面。 嵌入式系统的专用性和小型化等特点,使得它在手持设备、信息家电等应用 领域逐渐成为开发的重点。其独特优势主要表现在:超大容量、随时随地的传输 信息、互动性、个性化等方面。由此可见,多媒体信息终端凭借其自身特点、计 算机技术的飞速发展和人们的应用需求等优势,它必将逐渐成为2 l 世纪信息传媒 主流。 1 2 课题研究内容及意义 无线多媒体信息终端平台是基于i n t e lp x a 2 5 5 处理器的嵌入式多媒体平台, 采用嵌入式l i n u x 作为操作系统。其大多数应用场合是对速度、功耗、体积有严格 要求的车载、移动通信、手持设备等,那么如何设计一个体积小、实时处理能力 强、功耗低、可移植性强的多媒体信息平台以满足嵌入式系统设计应用开发需求 就成为一个很有意义的课题。 随着计算机硬件设计水平的提高,越来越多的软件开发工作集中在图形用户 接口( g u i ) 上,g u i 在嵌入式系统中的地位也越来越高。q t e m b e d d e d 和q t o p i a 的出现为手机、个人数字助理( p d a ) 等手持设备提供了完整的、可定制的开发 环境和用户界面。其中q t o p i a 将l i n u x 的灵活性和低成本的优势扩大到了移动领 域,从而作为“第三种力量”成为目前专有软件平台的有力膂代者。 嵌入式多媒体信息终端是能够同时进行多种媒体通信的终端设备,具备多种 媒体的采集和展现能力、较强的处理能力以完成信息编解码和媒体通信。随着现 2 基丁嵌入式l i n u x 的多媒体信息终端技术的研究与应用 代科技的发展,嵌入式处理器的处理能力也得到了长足的进步,使得多媒体信息 终端能够在一个嵌入式系统上实现。嵌入式处理器和嵌入式操作系统及各种应用 软件的支持,使得嵌入式多媒体终端设备的设计和开发变得较为方便和快捷,也 为其功能更新和发展提供了极大的便利。多媒体信息技术的发展为信息的获取和 传输提供了丰富的手段,视频数据更是其中不可缺少的重要组成部分,视频数据 的获取离不开视频采集系统。目前,视频采集系统应用极为广泛,许多产品和设 施,例如远程监控、可视电话、会议电视等等,都需要采集视频信息。 随着信息技术的快速发展和互联网的广泛应用,浏览器已逐渐成为获取信息 的标准工具和网络生活中的核心。对于一些嵌入式网络产品,比如信息家电、p d a 、 手机等设备来说,浏览器是必不可少的部分。另外由于嵌入式系统本身的局限性, 使得嵌入式浏览器也成为开发嵌入式系统的关键技术之一。 1 3 论文章节安排 本文介绍了一款基于l i n u x 操作系统的嵌入式多媒体信息终端的设计及实 现。以嵌入式多媒体信息终端的构建为主题,围绕交叉编译开发环境的构建、引 导装载程序b o o t l o a d e r 和嵌入式l i n u x 内核的移植、图形界面的关键技术分析及实 现、嵌入式根文件系统的构建、应用开发等方面进行了具体的论述,最终完成了 基于嵌入式l i n u x 的多媒体信息终端在x h y p e r 2 5 5 b 平台上的实现。本文章节安 排如下: 第一章绪论,介绍课题背景、内容和意义,以及论文的组织结构。 第二章介绍了嵌入式系统软硬件开发坏境的构建和宿主机环境的配置,详细 介绍了跨平台开发所需的交叉编译工具链的构建过程。 第三章编译移植嵌入式l i n u x 到x h y p e r 2 5 5 b 开发平台,具体论述了 b o o t l o a d e r 移植、内核移植,文件系统构建和嵌入式设备驱动分析; 第四章,通过对嵌入式图形用户接口的比较分析,选择q t e m b e d d e d 作为系 统g u i ,并对q t e m b e d d e d 的关键技术进行了分析和实现。 第五章,论述了基于q t 的应用程序开发方法、q t o p i a 软件开发平台的编译安 装和定制、基于q t q t o p i a 的视频采集应用的实现和嵌入式浏览器 k o n q u e r o r e m b e d d e d 的移植。 第六章,对所做工作进行了总结,并对进一步的研究开发提出了一些建议和 展望。 第二章嵌入式l i n u x 开发环境构建 第二章嵌入式l i n u x 开发环境构建 2 1 1 嵌入式系统概述 2 1 嵌入式操作系统选型 1 嵌入式系统定义 嵌入式系统( e m b e d d e ds y s t e m ) 目前己成为当今最热门的技术之一,是用于 实现独立功能的专用计算机系统。嵌入式系统是以应用为中心,以微电子技术、 控制技术、计算机技术和通信技术为支撑,并且软硬件可裁剪,适用于应用系统 对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用 户应用程序等四个部分组成,用于实现对其它设备的控制、监视或管理等功能。 嵌入式系统具有面向用户、面向产品、面向应用的特点。 2 嵌入式系统的软硬件特征 与通用计算机相比,嵌入式系统是应用于特定环境下、适用于专业领域的应 用系统;嵌入式系统具有独立的操作系统,不需要大量的外副器件;在体积、功 耗上有其自身的优势。总体看来,嵌入式系统具有专用性强、软硬件结合度高、 系统结构精简、性价比高、嵌入性强、网络支持好、生命周期长等特点。并且开 发嵌入式系统还需要专门的开发工具和开发环境。 嵌入式系统的硬件必须根据具体的应用任务、功耗、成本、体积、可靠性、 处理能力等指标来选型。嵌入式系统的核心是系统软件和应用软件,由于存储空 间有限,就要求软件代码紧凑、可靠。2 0 世纪9 0 年代以来,随着微电子技术的日 益发展,硬件和软件已不再是截然分开的两个概念,而是紧密结合、相互影响的。 因而出现了软硬件协同设计( c o d e s i g n ) 方法,即使用统一的方法和工具对软件和 硬件进行描述、综合和验证。然而目前协同设计方法在系统描述、软硬件划分、 系统验证、系统综合等方面仍面临着不少困难,成为嵌入式系统领域的又一研究 热点。 3 、嵌入式系统的发展趋势 嵌入式系统的出现至今已有3 0 多年的历史了,应用于入类工作与生活的各个 领域,具有极其广阔的前景。它在传统的工业控制和商业管理领域已经具有广泛 的应用空间,如智能工控设备、p o s a t m 机、i c 卡等:在家庭领域更具有广泛的 4基于嵌入式l i n u x 的多媒体信息终端技术的研究与应用 应用潜力,如机顶盒、数字电视、w e b t v 、网络冰箱、网络空调等众多消费类和 医疗保健类电子设备等;此外还有在媒体手机、袖珍电脑、掌上电脑、车载导航 器等方面的应用。 2 1 ,2 嵌入式l i n u x 1 嵌入式操作系统的评估指标 操作系统作为嵌入式系统的核心,它的选择将影响到整个嵌入式系统的开发 周期和实现之后系统的性能。选择一款既能满足应用需求,性价比又最佳的实时 操作系统,对开发工作的顺利开展意义非常重大。在选用操作系统时,首先应该 考虑对硬件的支持,其次是开发调试的工具,第三个要考虑的问题是系统能否满 足应用需求。 综上所述,在进行嵌入式操作系统选型时,必须要遵循以下原则:所选用的 操作系统是否支持所采用的微处理器:该操作系统是否具有较好的可移植性;其 所需资源的多少( 包括内存,f l a s h m e m o r y 等) ;是否拥有丰富的软件资源;操作 系统所实现的功能、执行性能和可靠性是否满足设计要求等。 2 l i n u x 作为嵌入式操作系统的优势 l i n u x 是2 0 世纪9 0 年代以来逐渐成熟的一个开放源代码的操作系统,在嵌入 式系统应用中很有潜力。它以内核为基础、具有完全的内存访问控制、支持大量 硬件。l i n u x 本身的种种特性使其成为嵌入式系统开发的首选,而且l i n u x 是一种 开放源码的操作系统,l i n u x 下的软件几乎都遵循g p l 版权协议,这样几乎所有 的源代码都可以免费获得并免费使用。目前l i n u x 已经被移植到了很多平台,由成 千上万的爱好者共同开发应用软件、协议栈以及丰富的设备驱动程序。更重要的 是这些驱动很多以丌源( o p e ns o u r c e ) 的形式发布出来,使得大家都从中受益。 此外,在图像处理、文件管理及多任务支持等诸多方面,l i n u x 的表现也都非常出 色,因此它不仅可以充当嵌入式系统的开发平台,其本身也是嵌入式系统应用开 发的优秀工具。综上所述,l i n u x 作为嵌入式操作系统共有以下5 点优势:1 ) 源 代码可以免费得到;2 ) 稳定性高;3 ) 可应用于多种硬件平台;4 ) 本身内置网络 支持;5 ) 开发工具丰富且拥有众多的参考文档。 3 嵌入式l i n u x 特点 嵌入式l i n u x 是按照嵌入式操作系统的要求设计的一种小型操作系统。由一个 k e r n e l 及一些根据需要进行定制的系统模块所组成。其k e r n e l 很小,一般只有几 百k b ,即使加上其它必要的模块和应用程序,所需的存储空间也非常小。嵌入式 第二章嵌入式l i n u x 开发环境构建 5 l i n u x 具有多任务、多进程的系统特征,有些还具有实时性。在进入市场的前两年 中,嵌入式l i n u x 的设计通过广泛的应用而获得巨大成功。随着嵌入式l i n u x 技术 的成熟,定制需要的尺寸尤为方便,同时它支持更多平台,并从早期的试用阶段 逐步迈进到成为嵌入式市场的主流。目前的l i n u x 内核版本已经发展到2 6 x x 。 2 2 嵌入式l i n u x 开发环境构建 嵌入式l i n u x 系统的一大特点就是需要其专有的开发环境,该开发环境包括硬 件和软件环境两部分,这两个部分的设计相互关联、密不可分。这也是嵌入式系 统设计与其它纯粹的软件设计或硬件设计最大的区别。 2 2 1 嵌入式系统硬件环境 1 嵌入式微处理器x s c a l ep x a 2 5 5 p x a 2 5 5 处理器是i n t e l 公司继p x a 2 5 0 后的第二代x s c a l e 处理器,它采用x s c a l e 核心,频率为4 0 0 m h z ,加强了微处理器速度的管理,加快了多媒体处理的速度 并支持8 0 2 1 l b 、蓝牙技术及u s b 接口,采用f p g a 封装方式。p x a 2 5 5 主要针对下 代高性能的p d a 市场,支持视频流、m p 3 、无线互联网以及其他边缘领先技术, 它还移封有电源管理功能,可以根据处理器所执行的任务来调节耗电量。 p x a 2 5 5 在x s c a l e 微处理器架构基础上,还集成了其他外部设备,其中片内 控制模块包括:存储器控制器、l c d 显示控制器、d m a 控制器、1 2 s ( i n t e r - i cs o u n d ) 、 1 2 c ( i n t e r i n t e g r a t e dc i r e u i t ) 、a c 9 7 音频控制器、n s s p 接口( n e t w o r ks y n c h r o n o u s s e r i a l p r o t o c o l p o r t ) 、红外接口( i r d a ) 、s s p 控制器、u s b 接口( 非主机接口) 、 m m c s d 存储卡控制器、u a r t 、时钟电路、中断控制以及通用i o 口等。图2 1 为p x a 2 5 5 的信号流程图: r 1 颜色或废度 o st i m e r l c d 控制器 p 霄h i z $ _ 2 c d 卣 c 9 7 井 l ou f c t s 围 _ 和 h s s p 总控- - 线 制x s c ae 锸挺 s 1 0 w i r i ) a 器 一控丝丕 f a s t i r d a i _ _ _ _ - _ 一j - _ _ - - 一 s s p 时l 珥叛 埘问振 u s bc i i e n t 绱器 荡器 眦 图2 1p x a 2 5 5 的信号流程图 内存控制器 多用途1 o i 控制 p c m c i a 或 f l a s h 控制 动态内存j 控制 静卷内存 控制】 特定川途 墼成叱路 收发装置 兰一 基丁嵌入式l i n u x 的多媒体信息终端技术的研究与应用 2 系统总体架构 本系统硬件开发环境采用x s c a l e 粲构的x ,h y p e r 2 5 5 b 开发平台,以p x a 2 5 5 处理器为核心,配备了大量的外围资源,构成了高端的嵌入式系统开发平台。该 平台能够充分发挥p x a 2 5 5 微处理器的优势,具有高性能、低功耗的特点,是面 向智能手机、p d a 和通信领域的一款高端产品。图2 2 为x - h y p e r 2 5 5 b 的结构框 图。 h ”1 5 ”8 0n a s “l s d r a i d ( 6 4 船( 3 2 r b) i x s c a l e p x a 2 5 5 ( 4 0 0 娜z ) t o u c hs c r e e nld i s p l 盯 a d s 7 8 4 3 i6 4 i n c h e st f tl c d 图2 2x h y p e r 2 5 5 b 框图 2 2 2 嵌入式系统软件开发环境构建 1 0b a s e - t e t h e r n e t lp o r t s e r i a l2p o r t b l u e t o o t h 。p u 儿u r n j t a gp o r t ( 6 p i n 2 0 p i n 岛n n e c t o f ) e x t e r n a li n t e r f a c e 位u s ,g p i o ) 由于嵌入式系统自身的资源和内存空间十分有限,无法像开发p c 机软件那样 在其上运行所有的开发工具,因此嵌入式系统开发应采用一种特殊的开发模式: 基于“宿主机( h o s t ) 一目标机( t a r g e t ) ”的跨平台开发模式。针对本系统,宿主 机是运行l i n u x 的p c ,运行各种开发工具;目标机是以x s c a l e 架构处理器为核心 的a r m 平台,是运行和测试平台,也是嵌入式系统的最终驻留环境。 1 交叉编译环境概述 进行跨平台的嵌入式系统开发,首先需要建立交叉编译开发环境。交叉编译 是指在异种c p u 上进行的编译,比如在x 8 6 机器上编译、链接运行于a r m 平台 的程序,然后再通过串口或者网络等方式,将最终得到的支持a r m 平台的目标代 码下载到目标机上去运行。 2 交叉编译预备知识 交叉编译技术中有两种典型的模式:j a v a 模式和g n ug c c 模式。本课题采用 蒌淼 第二章嵌入式l i n u x 开发环境构建 g c c 模式,其运行流程如图2 3 所示,通过交叉编译工具链直接生成能够在目标平 台上运行的目标代码。 图2 3 g e e 模式 g n u t o o l s 开发工具 随着l i n u x 的发展,g n u 工具链的使用越来越广泛,其性能也在不断的加强。 它是l i n u x 环境下最主要的开发工具集,下面介绍g n u 工具链的基本组成。 1 ) b i n u t i l s 工具包,它是一组二进制文件的处理开发工具,其主要工具有两个: g n u 的链接器l d 和汇编代码编译器a s 。其主要目的是提供汇编和链接工具。 2 ) g c c 编译器,这是整个工具链的主角,可以配置编译为多种体系结构目标 的交叉编译器。g c c 包括c 预处理器e p p 、c + + 编译器g + + 、c 编译器g c c 、包含 许多常用函数的标准c + + 库l i b s t d c + + 、g c c 的运行库l i b g c c * 、提供支持c + + 语言 的库函数l i b s u p c + + 和创建b u g 报告的s h e l l 脚本g c c b u g 。 3 ) g l i b c 库,是提供系统调用和基本函数的c 库,比如o p e n 、m a l l o c 和p r i n t f 等,所有动态链接的程序都要用到它。 m a k e 命令和m a k e f i l e 文件 m a k e 是一种代码维护工具,它可以根据程序各个模块的更新情况,自动地维 护和生成目标代码。其主要工作是读取m a k e f i l e 文件的内容,该文件描述了目标 文件之间的依赖关系,以及指定编译过程中使用的工具。无论编译g c c 、内核还是 应用程序,m a k e 都是必不可少的工具。 在l i n u x 系统中m a k e f i l e 一般是用于解释怎样和何时重建或处理特定文件, 一般这些特定文件是规则的目标。它基本上遵循由目标( t a r g e t ) 、依赖关系 ( d e p e n d e n c y ) 、指令( c o m m a n d ) 这三项构成的规则。m a k e 需要先调用命令对依 赖关系进行检查,然后创建或更新目标。 b a s h 脚本 在嵌入式l i n u x 系统的开发过程中,经常要利用b a s h 脚本程序控制l i n u x 系 8 基于嵌入式l i n u x 的多媒体信息终端技术的研究与应用 统的启动和运行,在m a k e f i l e 编写过程中也会用到大量的b a s h 语法。b a s h 是l i n u x 系统中的一种命令语言解释器,它是由l i n u x 系统提供的多种解释语言中的一种, 在语法上与其他s h e l l 解释器有一定的相似之处,但b a s h 的处理能力更强。b a s h 作为一种脚本语言编程只有两个简单的步骤;创建脚本和运行脚本。在l i n t l x 环境 下通常使用e m a c s 、g e d i t 、v i 等编辑器编写b a s h 脚本。 3 构建交叉编译工具链 在进行嵌入式系统开发时,首要的任务之一就是构建跨平台的交叉编译开发 环境,即构建交叉编译工具链( g n uc r o s s p l a t f o r md e v e l o p m e n tt o o l c h a i n s ) 。主 要包括源代码获取、配置、编译、安装四个过程。构建交叉编译工具链的工作是 十分繁琐的,很难保证一次就成功,如果出现错误,应从版本的选择、库文件路 径的设置和系统环境变量的设置等方面进行检查。 构建交叉编译环境有两种途径:1 ) 直接编译工具链的二进制代码,要注意交 叉编译器的版本是否支持p x a 2 5 5 ;2 ) 利用源代码自己生成二进制代码,要注意 编译选项及编译的顺序。本文介绍如何利用源代码生成工具链。整个过程分为以 下步骤: ( 1 ) 创建编译环境,包括定义所需要的环境变量,创建安装目录,安装内 核源代码和配置头文件等。通过改变环境变量可以很方便地重新配置交叉编译环 境。 ( 2 ) 编译创建g d b ,g n u 的g d b 是一款非常强大的调试器。调试a r m 格 式的可执行代码,需要交叉编译后的g d b ( a r m - l i n u x - g d b ) 。这个鲥b 支持大多数 基于a r m 内核的c p u ,由于它相对独立,所以首先对其进行编译安装。创建过 程如下: t a rx v f ig d b 一5 0 t a rb z 2 c o n f i g u r e - t a r g e t = a r m l i n u x - p r e f i x = $ p r e f i x m a k e m a k ei n s t a l l ( 3 ) 配置编译b i n u t i l s ,将得到所需要的汇编和链接工具,如a r n l 1 i n u x l d 等。b i n u t i l s 的安装依赖于下面几个软件:b a s h 、c o r e u t i l s 、d i f f u t i l s 、g e e 、g e t t e x t 、 g l i b c 、g r e p 和m a k e 等,所以必须首先确认系统是否有这些软件。创建过程如下: t a rx v f ib i n u f i l s 一2 1 1 t a r b z 2 c o n f i g u r e - t a r g e t = $ t a r g e t - p r e f i x = $ p r e f i x ( 4 ) 配置编译g e e ,生成g c c 编译器。此时g c c 只能编译c 程序,不能编译 c + + 程序。编译前,首先需要修改g c c 源码中的g c e c o n f i g a r m t - l i n u x 文件,在该 笙三童壁全壅望! 坚堑茎! 塑整堕l 文件的t a r g e tl i b g c c 2c f l a g s 后面加上曲一p o s i x h 和i n h i b i t l i b c 。如果 没有修改此文件,编译时会出现“s t d l i b h :n os u c h f i l eo rd i r e c t o r y ”这样的错误a 具 体编译过程如下: t a rx v 每g e e - 2 9 5 3 t a r b z 2 c o n f i e u r e t a r g e t = a r m - l i n u x - p r e f i x = u s r l o c a l - w i t h - g n u 。a s w i t h 。g n u - l d e n a b l e - s h a r e d - d i s a b l e t 1 1 r e a d s - e n a b l e l a n g u a g e s 2 c 配置选项中的“d i s a b l e - t h r e a d s 表示配置不支持线程的编译环境, “e n a b l e - i a r i g u a g e s _ c ”表示只编译g e c 中的c 编译器,“e n a b l e 。s h a r e d ”选项保证 编译出l i b g c c - s s o 1 和l i b g e c _ _ e h a 文件。编译过程结束后,将生成a r m - l i n u x g c c 等文件。 ( 5 ) 创建用于用户程序的出i b c 库,编译g l i b c 库时所需的a r m - l i n u x - g e c , a r m 1 i n u x a r ,a r t i l l i n u x r a n l i b 等工具,在之前已经编译生成。此时创建的g l i b c 库 仅仅是第2 次编译所需要工具,后面的编译工作都需要链接到这个库。创建过程 如- g - t a rx v z f g l i b c 一2 2 3 t a r g z t a r x v z f g l i b c l i n u x t h r e a d s 一2 2 3 t a r g z e x p o r tc c ;a r m l i n u x g e c e x p o r ta r = a r m l i n u x - a r e x p o r tr a n l i b = a h n - l i n u x r a n l i b c o n f i g u r e - t a r g e t = a r m l i n u x - p r e f i x 2 $ p r e f i x - - - e n a b l e s h a r e d ( 6 ) 建立完整功能的g e e ,即编译成的g e c 除了可以支持编译内核外,还支持 用户程序开发,绑定与g l i b c 、g l i b c 线程库的联系,支持动态共享库方式,支持c + + 语占等。 c d g c c c o n f i g u r e - t a r g e t = a r m ,l i n u x - p r e f i x - u s r l o c a l - e n a b l e 。l a n g a g e s = c ,c + + e n a b l e s h a r e d - e n a b l e - - t h r e a d s - - d i s a b l e n l s c d g l i b c c o n f i g u r e - t a r g e t = a n n - l i n u x - p r e f i x = u s d l o c a l - e n a b l e 。a d d o n s - - d i s a b l e - s a n i t y c h e c k s 4 所构建的工具链结构 l o 基r 嵌入式l i n u x 的多媒体信息终端技术的研究与应用 交叉编译完成后,将生成上百兆的文件,下面具体分析一下工具链的结构。其 中,表2 1 为工具链安装路径下$ p r e f i x 的目录结构,表2 2 是其中a r l n l i n u x 下 予目录的内容。 表2 1 $ p r e f l x 目录结构 目录名 内容 a r m - 1i i l l l x 和t a r g e t 相关的文件 b i n 交叉开发工具 i n c l u d e 头文件 i n f o g c c 的i n f o 文件 l i b 库文件 a n 帮助文档 s h a r e 交叉开发工具和库文件的共享文件 表2 2a r m 1 i n u x 的目录结构 目录名内容 b i n 和g l i b e 相关的t a r g e t z 进制文件和脚本 e t c 这里只有r p c 文件 i n c l u d e 头文件 i n f o g l i b c 的i n f o 文件 l i b t a r g e t 的库文件 1 i b e x e c p t s h o w n 文件 s b i o t a r g e t 中的s b i n 目录 和国际化相关的子目录、文件 s y s 存放g li b c 没有安装的头文件,由g c c 脚本复制 i n c l u d e 2 2 3 宿主机环境配置 1 安装l i n u x 操作系统 采用跨平台方式进行嵌入式系统r 发,首先需要建立主机,f 发环境,即在p c 机上安装一套l i n u x ,或者在w i n d o w s 下安装一套模拟l i n u x 环境的软件。本课题 采用l i n u x 作为嵌入式系统开发环境的宿主机操作系统,具体使用r e dh a t9 0 。它 的功能非常丰富。支持图形化和命令行两种操作界面,为整个系统的丁f :发起到了 关键性的作用。 r e dh a t9 0 是大多数用户最喜欢的l i n u x 版本。也是测量许多l i n u x 发矗版本 的基本标准。r e dh a t9 0 提供了许多旧版本和其他l i n u x 版本所没有的特性:1 ) 提供了图形用户界面安装方式;2 ) 有多种安装模式可供选择:3 ) 拥有强大的配 置和管理系统的命令行和图形化工具:4 ) 更为强大的g l i b c 库和全套的g n o m e 和k d e 桌面环境管理工具;5 ) 以及交互的引导模式和图形化的p p p 配置工具等 等。安装l i n u x 前,需了解并记录机器的硬件信息,包括显卡、硬盘、鼠标和网卡 等;安装过程中,需根据硬件条件和开发需要进行有选择地配置,尤其要注意软 第二章嵌入式l i n u x 开发环境构建 件包的定制,这对后期的开发至关重要。 2 配置m i n i c o m m i n i c o m 是一个串口通信工具,类似于w i n d o w s 下的超级终端。可用来与串 口设备通信,进入m i n i c o m 程序后会自动连接串口设备。在使用m i n i c o m 之前需 要进行配置,以便能够正确连接串口设备。通过m i n i c o m - - s 命令直接进入配置菜 单,在这里可配置上传下载文件保存的路径、串口的参数、拨号参数等。配置完 成后,用s a v es e t u pa sd f l 命令把配置参数以文件的形式保存在默认配置文件 m i n i r c d f l 中。图2 4 是根据硬件开发平台配置m i n i c o m : 圈2 4 m i n i c o m 设置 3 b o o t p 服务配置 目标系统在加载k e r n e l 之前i p 没有被设置,这时无法通过以太网进行数据传 送,需要通过b o o t p 设置i p ,再通过t f t p 传送数据。b o o t p 服务的全称是b o o t s t r a p p r o t o c o l ,是一种比较早出现的远程启动协议。该协议使用t c p i p 网络涛议巾的 u d p 6 7 ,6 8 两个通讯端口,主要是用于无磁盘的客户机从服务器得到自己的f p 地 址、服务器的i p 地址、启动映象文件名、刚关i p 等等。 在安装好x i n e t d 和b o o t p 之后,需要刨建e t c x i n e t d d b o o t 和e t c b o o t p t a b 文件。 当目标板发送b o o t p 请求时,b o o t p 服务器根据创建的e t c b o o t p t a b 文件中定义的 c l i e n t 信息( 包括m a c 地址和i p 等信息) 来生成b o o t pr e p l yp a c k e t 以做应答。 4 t f t p 服务配置 t f t p 服务的仝称是t r i v i a lf i l et r a n s f e rp r o t o c o l ( 简单文件传输协议) ,它不需 要认证客户端的权限,这样远程启动的客户机在启动一个完整的操作系统之前就 可以通过t f t p 下载启动映象文件。在安装好t f t p 后,需要修改e t c x i n e t d d t 筋文 件只需确保“d i s a b l e = n o ”即可,其他部分保持原来的配置,运行命令重新启动 x i n e t d 服务:既可通过t r i p 指令将p c 上的文件高速传送到目标板。 兰 黑竺 嚣i 竺 1 2 基丁畋入式l i n u x 的多媒体信息终端技术的研究与应用 5 n f s 服务配置 n f s 是网络文件系统( n e t w o r kf i l es y s t e m ) 的简称,是分布式计算系统的一 个组成部分,可实现在异种网络上共享和装配远程文件系统。通过主机的n f s 服 务,把根文件系统安装到主机上,这样可以方便地进行应用程序的开发和调试。 具体的配置过程为:修改配置文件e t e e x p o r t s ,该文件控制n f s 服务器要导出哪 些目录。在浚文件中加入“m n t n f s ( r w , n o 。然后启动服务:_ r o o t s q u a s h ) n f s e t c r c d i n i t d n f ss t o p e t c r c d i n i t d n f ss t a r t 第三章嵌入式l i n u x 系统移植分析及实现 第三章嵌入式l i n u x 系统移植分析及实现 移植就是使某一个平台的代码运行在其他平台上的过程。一个嵌入式l i n u x 系 统从软件的角度通常划分为:引导加载程序b o o t l o a d e r :特定于嵌入式平台的定制 内核以及启动参数;根文件系统;图形用户界面和用户应用程序:设备驱动程序等 几个层次。因此,本文介绍的嵌入式l i n u x 系统的移植主要分为:b o o t l o a d e r 的移 植;l i n u x 内核的移植:文件系统的移植以及设备驱动程序的移植。 3 ib 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 把操作系 统内核映像加载到r a m 中,并将系统控制权交给它。 b o o t l o a d e r 最重要的作用就是在移植操作系统之前,提供给开发人员一个可以 交互的环境,便于下载映像文件、调试和最终移植操作系统。图3 1 就是一个同时 装有b o o t l o a d e r 、内核的启动参数、内核映像和根文件系统映像的固态存储设备的 典型空间分配结构图。 b o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论