已阅读5页,还剩52页未读, 继续免费阅读
(机械电子工程专业论文)嵌入式平台开发及在gps中的应用——boot+loader和内核的移植与分析.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电大学硕士学位论文 嵌入式平台开发及在g p s 中的应用 一b o o tl o a d e r 和内核的移植与分析 摘要 随着社会的发展和人们物质生活水平的提高,嵌入式技术的应用越 来越广泛,而嵌入式产品以其小巧、使用方便、实用等特点越来越受到 人们的青睐。特别是近几年来,嵌入式产品已经在很多领域得到广泛的 应用,如国防、工业控制、通信、办公自动化和消费电子领域等。全球 定位系统( g p s ) 的出现对人类活动产生极大影响,具有极高的应用价 值。它解决了人类在地球上的导航和定位问题,在将来必将会应用到更 多的领域。嵌入式系统与g p s 的结合,可以将嵌入式系统的优势和g p s 的优势结合起来,具有可观的应用前景。本篇讨论的是如何搭建这样一 个嵌入式系统的问题。 论文首先简单介绍了一些关于嵌入式系统的基本概念和g p s 的发 展前景;然后简要介绍了基于$ 3 c 2 4 i 0 x 的嵌入式系统开发平台的基本 架构及各个组成部分的特点。整个系统分为硬件和软件两个部分,其中 的软件又分为b o o tl o a d e r , 内核,文件系统和应用程序,本篇主要讨论 的是b o o tl o a d e r 和内核两个部分。论文详细讨论了三个方面的问题: 基于$ 3 c 2 4 1 0 x 的交叉编译环境的建立,b o o tl o a d e r 的编译过程和启动 过程,内核的编译过程和内部结构。每个部分都有其侧重,重点讨论的 部分有面向m i n i g u i 的交叉编译环境的建立和面向m i n i g u i 程序的 m a k e f i l e 的编写,b o o tl o a d e r 启动过程分析和内核部分则侧重于内核编 译。另一方面,论文还讨论了n f s 服务器的建立,b o o tl o a d e r 的编译 和内核的分析,对整个内容整体性进行了补充。 论文最后对本课题的完成情况做了总结和评价,并且为本课题发展 提出了建议。 一 关键润:嵌入式产口交叉编译环境i v l a k e i l l ( b o o tload2nji z l e ii v i a k e i i i oo oo a c i e r 内核天斑:叭八上,义入绸晔i 、悦 川仫 r 北京邮电大学硕士学位论文 d e v e l o p m e n to fe m b e d d e dp l a t f o r ma n dt h e a - p p l i c a t i o nf o rg p s t h et r a n s p l a n ta n d a n y l a s i so fb o o tl o a d e ra n dk e r n e l a b s t r a c t w i t ht h ed e v e l o p m e n to fs o c i e t ya n dt h ei m p r o v e m e n to fp e o p l e s l i v i n gs t a n d a r d ,t h ee m b e d d e dt e c h n o l o g yh a sb e e nc o m m o n l yu s e d ,m o r e a n dm o r ep e o p l el i k et h ee m b e d d e dp r o d u c t sb e c a u s e o ft h e i rc a b i n e t c o n v e n i e n ta n du t i l i t y t h ee m b e d d e dp r o d u c t sh a v eb e e nc o m m o n l yu s e di n al o to fa r e a ss u c ha sn a t i o n a ld e f e n s e ,i n d u s t r i a ! c o n t r o l ,t e l e c o m m u n i c a t i o n o f f i c i a la u t o m a t i o n a n dd i g i t a l c o n s u m p t i o na n ds oo ne s p e c i a l l yd u r i n g t h e s ey e a r s t h eg l o b a l p o s i t i o n i n gs y s t e m ( g p s ) h a sb r o u g h tag r e a t i n f l u e n c eo nh u m a nl i f ea n di ti se x t r e m e l yh i g hv a l u a b l eo na p p l i c a t i o n i t h a sf u n d a m e n t a l l ys o l v e dt h ep r o b l e m so fn a v i g a t i o na n do r i e n t a t i o n ,a n di t m u s tb em o r ew i d e l yu s e di nt h ef u t u r e t h ec o m b i n a t i o no fe m b e d d e d s y s t e ma n dg p sc a np u tt h ev i r t u eo fe m b e d d e ds y s t e ma n dg p st o g e t h e r , a n dh a sg o o dp r o s p e c tt ob eu s e d t h i sp a p e ri sm a i n l ya b o u th o wt om a k e a ne m b e d d e ds y s t e ml i k et h i s t h i sp a p e ri n t r o d u c e ss o m eb a s i cc o n c e p t sa b o u te m b e d d e ds y s t e ma n d t h e p r o s p e c t o fg p sa tt h e b e g i n n i n g ,a n d t h e ni n t r o d u c e st h eb a s i c c o m p o n e n t sa n dt h ec h a r a c t e r i s t i c so ft h ee m b e d d e ds y s t e mw h i c hi sb a s e d o ns 3 c 2 4 1 0 x t h es y s t e mi n c l u d e st w op a r t s ,一a r 0 1 w a r ea n ds o f t w a r e a n d t h es o f t w a r ep a r ti n c l u d e sb o o tl o a d e r ,k e r n e l ,f i l es y s t e ma n da p p l i c a t i o n s t h i sp a p e rm a i n l yd i s c u s s e st h eb o o tl o a d e ra n dt h ek e r n e l i td i s c u s s e s t h e f o l l o w i n g t h r e e q u e s t i o n sp a r t i c u l a r l y :b u i l d i n g ac r o s s c o m p i l e d , 北京邮电大学硕士学位论文 e n v i r o n m e n tw h i c hi sm i n i g u io r i e n t e da n d c o n s t r u c t i n go ft h em a k e f i l e w h i c hi sa s s o c i a t e dw i t hm i n i g u io r i e n t e dp r o g r a m ,t h es e t u pp r o c e s so ft h e b o o tl o a d e r ,t h ec r o s sc o m p i l e dp r o c e s so ft h ek e r n e l o nt h eo t h e rh a n d , t h i sp a p e ra l s od i s c u s s e st h ep r o c e s so fb u i l d i n gn f ss e r v e r , t h e c r o s s c o m p i l e dp r o c e s so fb o o tl o a d e ra n dt h ea n a l y s i so fk e r n e lf o rt h er e a s o no f i n t e g r i t yo ft h i sp a p e r i nt h ee n do ft h ep a p e r , i t g i v e sc o n c l u s i o na n de v a l u a t i o na b o u t a c c o m p l i s h m e n to ft h i ss u b j e c ta n ds o m es u g g e s t i o n sf o rt h ed e v e l o p m e n to f t h i ss u b j e c t k e yw o r d s :e m b e d d e d p r o d u c t ;c r o s sc o m p i l e de n v i r o n m e n t ;m a k e f i l e ; b o o tl o a d e r ;k e r n e l 3 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中 不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或 其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处 本人签名:马考口睁一 本人承担一切相关责任。 日期:兰! ! i :l :强 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研 究生在校攻读学位期间沦文工作的知识产权单位属北京邮电大学。学校有权保留并 向国家有关部门或机构送交论文的复印件_ 手【_ 】磁盘,允许学位论文被查阅和借阅:学 校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段 保存、汇编学位论文。,鳃誊艘翥咎论享变鲤密后避守此规定) , 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论文 注释:本学位论文不属于保密范围,适用本授权书。 本人签名:霉凄到斗一 日期:三吐! :兰基一 导师签名:孑k 扛中 日期:匕7 韧弓孑 北京邮电大学硕士学位论文 第一章绪论帚一早瑁化 1 1 嵌入式技术发展的背景 当前,人类近人信息大爆炸的时代,各类信息极度丰富,数字信息技术和网络 技术高度发达,只有借助各种计算机,才能对各类信息进行处理。同时,这些计算 机不再局限于以前的p c ,而是包括形态各异、性能干差万别的各类嵌入式系统。后 p c 时代的到来,使得人们越来越多的接触到一个新的概念嵌入式产品。嵌入式 产品遍布于人们的日常生活,从手机、p d a 到家中的空调、冰箱、从小汽车到波音 飞机,甚至武器库中的巡航导弹。数字时代的标志不再是一台一台的p c ,而是形态 各异的嵌入式系统。 嵌入式系统的概念的提出已经有相当长的时间,其历史几乎和计算机的历史一 样长。但在以前,它主要应用于军事领域和工业控制领域,所以很少被常人关注和 了解。知道近几年,随着数字技术的发展和新的体积更小的控制芯片和功能更强的 操作系统的出项,它才被广泛应用于人们的日常生活中。 现在,嵌入式产品的已经在很多领域得到广泛的应用,如国防、工业控制、通 信、办公自动化和消费电子领域等。 说了这么多,什么是嵌入式系统呢? 嵌入式系统是以应用为中小i j 、- 知i 。以计算机技 术为基础的,并且软硬件是可裁减的,能满足应用系统对功能、可靠性、体积、功 耗等指标的严格要求的专用计算机系统。它可以实现对其他设备的控制、监视或管 理等功能。 1 2 嵌入式系统的组成 嵌入式系统是专用计算机应用系统,它具有一般计算机组成的共性,也是由硬 件和软机组成的。 1 91 嵌入式系统硬件的组囊 嵌入式系统的硬件是嵌入式系统软件环境运行的基础,它提供了嵌入式系统软 件运行的物理平台和通信接口。它通常包括嵌入式处理器和嵌入式外围设备两大部 北京邮电大学硕士学位论文 分。 嵌入式处理器 嵌入式处理器是嵌入式系统的核心部件。嵌入式处理器的功能和性能,影响着 整个系统的设计。嵌入式处理器的选择,制约了其配套的外围器件的选择,也很大 程度上影响了系统的硬件的划分策略,包括操作系统的选择。嵌入式处理器的功能 强弱决定了系统的性能指标的上限。 一 嵌入式处理器的种类繁多、数量庞大。面前全世界嵌入式处理器的品种总量已 经超过1 0 0 0 种,流行的体系结构有三十几个系列。a r m 、p o w e r p c 、m c 6 8 0 0 、e d s p 等使用得最为广泛。而其中目前以a r m 的应用最为广泛。面前,按照比较流行的 分类方法,嵌入式处理器可以分为四类,即: 嵌入式微处理器( e m b e d d e dm i c r o p r o c e s s o ru n i t ,e m p u ) 嵌入式微控制器( m i c r o c o n t r o l l e ru n i t ,m c u ) 嵌入式d s p 处理器( e m b e d d e dd i g i t a ls i g n a lp r o c e s s o r ,e d s p ) 嵌入式片上系统( s y s t e mo nc h i p ) 其中,a r m 属于嵌入式微处理器一类。 e 嵌入式外围设备 。 这里所说的嵌入式外围设备j 指在一个嵌入式硬件系统中,除了中心控制部件 ( m c u ,d s p ,e m p u ,s o c ) 以外的完成存储、通信、保护、调试、显示等辅助 功能的其他部件。根据外围设备的功能可分为以下三类,即: 存储器类型:静态易失型存储器( r a m ,s r a m ) 、动态存储器( d r a m ) 、非 易失型存储器( r o m ,e p r o m ,e e p r o m ,f l a s h ) 。其中,f l a s h 因为可以擦 写多次,存储速度快,容量大,价格便宜在嵌入式领域应用广泛。 接口类型:目前存在的所有接口在嵌入式领域都应有广泛,如r s 2 3 2 ( 串口) 、 i r d a ( 红外线接口) 、s p i ( 串行外围设备接口) 、1 2 c ( 现场总线待定) 、u s b ( 通 用串行接口) 、e t h e r n e t ( 以太接口) 和普通并口。 显示类型:c r t ,l c d 和触摸屏等外围设备。 1 2 2 嵌入式系统软件的组成 软件是嵌入式系统的灵魂。一般包括b o o tl o a d e r 、嵌入式操作系统、嵌入式文 件系统和应用程序。其中,嵌入式操作系统决定了系统的性能。一般而言,嵌入式 软件具有如下特点: 北京邮电大学硕士学位论文 嵌入式软件的研发与硬件紧密相关。由于嵌入式软件的开发是针对具有硬件 平台进行的,它往往牵扯硬件驱动方面的一些软硬结合部分,这就是要求开发人员 必须具备相关的硬件知识。 软件代码要求高效率和高可靠性。由于嵌入式系统中软件运行空间有限,内 存空间非常宝贵,在软件的编程过程中必须时刻考虑软件的运行效率,同时选用高 质量的编译工具。在实时系统中,处理器必须严格处理异步发生的各种任务,这对 程序的算法设计提出了更高的要求。另外,嵌入式软件系统还应该有异常处理、快 速复位等算法。 软件一般固化在f l a s h 或r o m 中。为了提高执行速度和系统的可靠性,同 时缩短系统复位时间,一般在嵌入式软件调试好后,会下载固化到目标板中的 f l a s h 或r o m 中。目标板启动时,再运行其中的代码,而不是像p c 那样从硬盘 存储器中读取程序。 下面分别介绍一下嵌入式软件的各个组成部分。 b o o tl o a d e r b o o tl o a d e r 是系统加电后运行的第一段代码。一般它在系统启动时运行非常短 的时间,但对于嵌入式系统来说,这是一个非常重要的组成部分。它的作用相当于 p c 机加电启动时运行的b i o s 。 。 嵌入式操作系统 嵌入式操作系统是整个嵌入式软件的核心。它的性能在某种程度上决定了整个 嵌入式系统的性能。目前,嵌入式操作系统的类型很多,如v x w o r k s 操作系统, w i n c e 操作系统,v r t x 操作系统,p s o s 操作系统,嵌入式l i n u x 操作系统等等。 其中以面向l i n u x 的嵌入式l i n u x 操作系统( 本篇讨论的就是这种操作系统) 的应 用最为广泛,而嵌入式l i n u x 操作系统的版本也不在少数,如r t - - l i n u x r t a i 、 e m b e d i x 、b l u ec a tl i n u x 和h a r dh a tl i n u x 等等,它们都有一个共同的特点:强调 处理事件的实时性。 嵌入式文件系统 大家知道,l i n u x 操作系统可以支持多种文件系统,嵌入式的文件系统的结构 与l i n u x 文件系统的结构类似,所以,可使用的嵌入式文件系统的种类泛多,目前 常用的有i z x l z 、c r a m f s 、j f f s 2 、n f t l 、n f s 和r a m 磁盘文件系统等。嵌入 式应用的要求不同,决定了使用嵌入式文件系统的不同,为了选择各种类型的文件 系统,般会考察文件系统的如下几个特性: 可写入,即文件系统是否可以被写入。 北京邮电大学硕士学位论文 可更新,即系统重启后,文件系统是否能保持重启前的更改。 掉电可靠性,即文件系统在发生掉电的时候是否可以恢复原数据。 可压缩,且j :j 文件系统内容是否可被压缩。 r a m 启动,即在挂载文件系统前,其内容是否首先从存储器中提取到r a m 中。 应用程序 嵌入式系统往往是针对具体的应用而设计的,各种应用对输入设备的要求也各 不相同。有时可能只需要一个标准的p c 键盘开关,有时需要一个小键盘,有时需 要一个开关。开发者只能根据具体的情况进行设计。目前,对于嵌入式g u i 的应用 正如火如荼,在w a p 手机中的应用就是很好的例子。 1 3g p s 的发展及其应用 1 3 1g p s 发展简史 在人类导航史上人类最早的导航仪是中国人发明的指南针,几个世纪以后英国 人j o h nh a r r i s o n 于1 7 6 1 年发明了航海表,其后人类综合利用星历知识、指南针和 航海表来进行导航定位。 全球定位系统( g l o b a lp o s i t i o n i n gs y s t e m g p s ) 是美国从本世纪7 0 年代开始 研制,历时2 0 年,耗资2 0 0 亿美元,于1 9 9 4 年全面建成,具有在海、陆、空进行 全方位实时三维导航与定位能力的新一代卫星导航与定位系统。经近1 0 年我国测 绘等部门的使用表明,g p s 以全天候、高精度、自动化、高效益等显著特点,赢得 广大测绘工作者的信赖,并成功地应用于大地测量、工程测量、航空摄影测量、运 载工具导航和管制、地壳运动监测、工程变形监测、资源勘察、地球动力学等多种 学科,从而给测绘领域带来一场深刻的技术革命。 随着全球定位系统的不断改进,硬、软件的不断完善,应用领域正在不断地开 拓,目前己遍及国民经济各种部门,并开始逐步深入人们的日常生活。 1 3 2g p s 应用前景 汽车是现代文明社会中与每个人关系最密切的一种交通工具,据统计,仅几个 发达国家的汽车保有量已有数千万辆。因此车辆导航将成为未来2 0 年中全球卫星 定位系统应用的最大的潜在市场之一。预计到2 0 0 0 年,全世界用于车辆导航的总 北京邮电大学硕士学位论文 投资额的1 3 。 在我国,特种车辆约有几十万辆。有关部门要求首先对运超车、急救车、救火 车、巡警车、迎宾车等特种专用车辆实现全程监控、引导和指挥。目前使用车载g p s 接收机进行自主定位的车辆很少,大量的开发应用热点在监控调度系统上。 车载g p s 导航设备在应用上的发展方向,应当着重多卫星系统、远距离监控以 及多功能显示等几个方面。使用多卫星系统,如g n s s 系统( 该系统在2 0 0 0 年后 将成为综合导航定位系统) ,进行导航定位时由于卫星多,可以保证车辆实时定位 的精度和可靠性。 对于用于调度指挥的监控系统来说,监控中心与其管辖的车辆之间由于通信电 台的功率有限,其作用距离仅几十公里。增大监控作用距离,应当解决远距离通信 问题。例如增加通信中继站,延长作用距离,利用广播或卫星通信方式使监控范围 覆盖更大的地域。监控系统的功能应当是多方面的。例如语音传输、视觉图象传输 以及各种命令和车辆周围环境的情况录入存储等。 可以说,g p s 导航定位在公交、交通系统中的应用前景是非常广阔的。在开发 车辆导航应用的同时,也将带动与其相关的通信技术、信息技术、控制技术、多媒 体技术和计算机应用技术的发展。 1 4 本课题的出发点 本课题的出发点是以嵌入式系统开发平台为基础,然后实现g p s 在嵌入式系统 开发平台上的应用,侧重于嵌入式系统平台的开发,g p s 的应用只是嵌入式系统开 发平台的一个应用举例。然而实现嵌入式技术和g p s 技术的结合是本课题的特色。 北京邮电大学硕士学位论文 第二章开发平台架构简析 2 1 开发平台架构简介 整个开放平台的分为硬件和软件两个部分。硬件采用核心板加扩展板的结构方 式,核心板主要包括处理器、存储器,其他部分如输入输出设备、u s b 口、网口、 串口等放置在扩展板上;软件包括b o o tl o a d e r 、操作系统( o s ) 、文件系统和g u ! 应用程序等。具体的结构如图2 - 1 所示, 2 2 开发平台的硬件 2 2 1 嵌入式处理器 图2 - 1 开发平台系统架构 嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。我们 开发平台使用的是a r m 公司生产的a r m 9 系列芯片中的a r m s 3 c 2 4 1 0 x 芯片,它 北京邮电大学硕士学位论文 除了具有a r m 处理器所共有的特点( 小体积、低功耗、低成本而高性能、同时具 有1 6 3 2 位双指令集) 之外,在同等的工艺条件下,它的性能是a r m 7 性能的两倍 以上,能够驱动l c d 等高性能的产品。 2 2 2 嵌入式外围设备 开发平台所涉及的嵌入式外围设备除了f l a s h 和n a n df l a s h 之外,还有目 前应用较为广泛的通信接口,如r s - - 2 3 2 ( 串口) 、u s b 接口、网口等,同时,还 预留了g p i o 接口,为平台将来的进一步开发打下了基础。其中,r s - - 2 3 2 要在与 g r o 模块通信中应用;u s b 接口挑g h u ! 川h i 接些输入设备,如键盘、鼠标等;网口则应 用于n f s 系统的挂接( 在第三章将会详述) 。 2 3 开发平台的软件 开发平台涉及的软件包括b o o tl o a d e r 、操作系统、文件系统和应用程序。其中, b o o tl o a d e r 和操作系统是本篇主要讨论的部分,这两个部分将会在余下的章节中详 细阐述,这里只是简要的阐述。 2 3 1b o o tl o a d e r 简介 b o o tl o a d e r 是在操作系统内核运行之前运行的一段小程序。通过这段小程序, 可以初始化硬件设备、建立系统的内存空间映射图,从而将系统的软硬件环境带到 一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。并且,b o o t l o a d e r 最终把操作系统内核映象加载到r a m 中,并将系统控制权传递给操作系统。 b o o tl o a d e r 的重要性可见一斑。这里开发平台应用的是由m i z ir e s e a r c h 开发的 b o o tl 0 a d e 卜一一v i v i 。 2 3 2 嵌入式操作系统简介 嵌入式操作系统是嵌入式应用软件的基础和开发平台,从用户的观点看,它是 用户与计算机硬件系统之间的接口,用户在操作系统的帮助下能够方便、快捷、安 全、可靠的操纵计算机硬件和l 运行自己的程序。考虑到易用性、成本、可研究性, 这里开发平台使用的操作系统是由m i z ir e s e a r c h 开发的m i z il i n u x 操作系统。 北京邮电大学硕士学位论文 2 3 3 嵌入式文件系统简介 在嵌入式的环境下,内存和外存的使用都需要节约使用。如果用r a m d i s k 方式 使用文件系统,那么在系统开始运行之后,首先要把外存上的映象文件解压缩到内 存中,构造起r a m d i s k 环境,才可以运行程序。但是它也有很致命的弱点,在正 常情况下,同样的代码不仅在外存中占据了空间,而且还在内存中占用了更大的空 间,这违背了嵌入式环境下尽量节省资源的要求。使用c r a m f s 就是一种解决这个问 题的方式。c r a m f s 是一个压缩的文件系统,它并不需要一次性地将文件系统中的所 有内容都解压缩到内存中,而只是在系统需要访问某个位置数据时,马上计算出数 据在c r a m f s 中的位置,将其实时地解压到内存之中,然后通过对内存的访问来获取 文件系统中需要读取的数据。开发平台使用的文件系统就是这种节省内存空间的文 件系统一一c r a m f s 。 十 2 3 4 应用程序 开发平台里的应用程序是面向g p s 应用的g u i 程序。g u i 是一个图形用户界 面支持系统。它的作用是显示本系统的一些图形和数据信息。现在比较成熟的g u i 系统有m i n i g u i 、m i c r o w i n d o w s ,常用的有精简的xw i n d o w s 系统、m i n i g u i 、 m i c r o w i n d o w s 、o p e n g u i 、q t e m b e d d e d 等。我们采用的是m i n i g u i ,m i n i g u i 是 由北京飞漫软件技术有限公司主持的一个自由软件项目,其目标是为基于l i n u x 的 实时嵌入式系统提供一个轻量级的图形用户界面支持系统。 m i n i g u i 为应用程序定义了一组轻量级的窗口和图形设备接口。利用这些接口, 每个应用程序可以建立多个窗口,而且可以在这些窗口中绘制图形,用户也可以利 用m i n i g u i 建立菜单、按钮、列表框等常见的g u i 元素。它的成熟和方便是赢得我 们青睐的主要原因。 2 3 5 本篇的主要内容 本课题是基于$ 3 c 2 4 1 0 x 的嵌入式系统开发平台及在g p s 车载系统中的应用, 本人所做的主要工作是建立调试和交叉编译的环境、b o o tl o a d e r 的编译和分析、操 作系统的编译与分析等。本篇共分为五部分: 第一章介绍了嵌入式技术开发的背景、嵌入式系统定义和它的组成部分,同时也 介绍了g p s 的发展背景及其应用的前景。 北京邮电大学硕士学位论文 第二章介绍了基于$ 3 c 2 4 1 0 x 的嵌入式系统开发平台的基本架构及各个部分的 特点。 第三章详细介绍了调试环境和嵌入式系统交叉编译环境的建立过程,重点是面 向m i n i g u i 的交叉编译环境的建立。 第四章介绍了b o o t l o a d e r 的交叉编译过程,分析了b o o tl o a d e r 的启动过程。 第五章介绍了内核的交叉编译过程,分析了操作系统内部结构及运行机理,重 点讨论了操作系统进程管理部分。 论文最后对本课题的完成情况做了总结和评价,并且为本课题发展提出了建议。 北京邮电大学硕士学位论文 第三章交叉编译环境的建立 3 1 服务器的建立 进行任何一个项目的开发,首先要做的是搭建一套开发环境,这套环境负责将 程序编译成。目标板可以执行的代码,这其中包括b o o tl o a d e r 的编译、操作系统的 编译和应用程序的编译,其次还要将编译好的代码烧到目标板上。一般来说,架设 一台专用服务器是最好的选择。本篇所述的服务器所能实现的功能有: 可以通过j t a g 口对目标板进行烧写( 主要是小量的代码) 。 可以通过u s b 口对目标板进行烧写( 主要是大量的代码) 。 能够交叉编译b o o tl o a d e r 、操作系统和应用程序( 本篇针对的是a r m 9 中 的s 3 c 2 4 1 0 x 处理器) 。 能够提供n f s 服务,以使开发者可以通过网络实现对代码的编译和下载。 要想完成以上所说的功能,必须要求服务器配备双操作系统,即一个w i n d o w s 操作系统和一个l i n u x 操作系统。这里用到的w i n d o w s 系统为w i n d o w s2 0 0 3 操作 系统,而l i n u x 系统为r e dh a t9 0 操作系统。w i n d o w s2 0 0 3 操作系统完成的是实 现用j t a g 口对目标板的烧写和实现用u s b 口对目标板的烧写。w i n d o w s 操作系 统一般不能自动实现以上功能,所以必须安装相应的驱动才行。r e dh a t9 0 操作系 统完成的是实现b o o tl o a d e r 、操作系统和应用程序的交叉编译,能够提供n f s 服 务。同样的,l i n u x 操作系统也不能自动实现以上所述功能,还得通过一定设置方 可。这里并不关心这两个操作系统是如何安装的,只是陈述服务器的搭建过程。 3 1 1j t a g 口驱动的安装 在w i n d o w sn t 2 0 0 0 x p 2 0 0 3 操作系统中,任何应用程序都不能够直接存取类 似于并口这样的i 0 接口( 用j t a g 口烧写时要用到并日) ,而g i v e o s y s 能够使 s j f e x e 应用程序( j t a g 口烧写时用的应用程序) 实现对并口的存取。下面是具体 的安装过程: 以a d m i n i s t r a t o r 身份登陆w i n d o w s2 0 0 3 操作系统。 将g i v e o s y s 文件拷贝到c :w l n d o w s s y s t e m 3 2 d r i v e r s 目录下。 北京邮电大学硕士学位论文 打开控制面板,选择添加硬件按钮。 选择添加设备按钮。 选择添加新设备按钮并且选择下一步,然后选择从列表中添加硬 件。 选择其他选项。 选择浏览按钮,确定g i v e o i n f 文件的目录。 选择确定完成整个安装过程。 通过以上的过程,操作系统就会识别j t a g 口的硬件,通过s j f e x e 应用程序 就能够实现对目标板的烧写操作了。 3 1 2u s b 口驱动的安装 j t a g 口完成的是对目标板少量内容( 如b o o tl o a d e r 或小的应用程序等) 的烧 写,而u s b 口完成的是对目标板大量内容( 如操作系统、文件系统、大的应用程序 等) 的烧写,因此一般成熟的目标板都要带有这两种烧写方式,以应对不同的情况。 下面是具体的安装过程: 以a d m i n i s t r a t o r 身份登陆w i n d o w s2 0 0 3 操作系统。 将服务器的u s b1 5 和目标板相连( 使用特殊的线,接到服务器的u s b 主口、 接到目标板的u s b 副口、。 此时,计算机会显示发现新硬件。 右键点击我的电脑,选择属性,然后选择硬件,最后点击设 备管理器,进入设备管理器。 打开通用串行总线控制器7 栏,里面就会显示一条系统不认识的设备。 一右键点击该栏,选择更新驱动程序。 在系统的文件文件夹内找到s e c b l u k i n f 文件。 选择确定按钮,完成整个安装过程。 通过以上的过程,操作系统就可以认识目标板的u s b 口了,通过d n w c x c 应 用程序就可以实现对目标板的烧写操作了。 3 1 3 交叉编译环境的设置 由于嵌入式系统是一个受资源限制的系统,因此直接在嵌入式系统硬件上编程 显然是不合理的。在嵌入式系统的开发过程中,一般采用的方法是先在通用的p c 北京邮电大学硕士学位论文 机上编程,然后通过交叉编译和链接,将程序做成可运行的二进制代码格式,最后 将程序下载到目标板( 即调试好的p c b 板) 上,在目标板上运行这段二进制代码, 进而运行整个嵌入式系统。一般的,p c 机的操作系统是l i n u x 操作系统。这里采用 的是r e dh a t9 0 操作系统。 由于所编译的程序不同( 如普通c 语言程序和面向m i n i g u i 的程序) ,编译环 境的设置也有所不同,这里由于要用到面向m i n i g u i 的编程,所以设置编译环境时 要同时满足能够编译普通c 语言程序和面向m i n i g u i 的程序。这里分别阐释它们 的建立过程。 一 3 1 3 1 基本交叉编译环境设置 。一般情况下,实现程序的交叉编译,要用到相应的交叉编译工具链。嵌入式处 理器的不同,所用到的交叉编译工具链就可能不同,这里用到的是 a r m l i n u x g c c 2 9 5 3 ,下面是具体的实现步骤: 下载c r o s s 一2 9 5 3 t a r b z 2 源码包。 网址为f l p :f t p a r m 1 i n u x o r g u k p u b a r m l i n u x t o o l c h a i n 。 将rc r o s s 一2 9 5 3 t a r b z 2 拷贝到u s r l o c a l a r m 目录下,然后执行命令: t a r j v x f c r o s s 一2 9 5 3 t a r b z 2 e x p o r t p a t h = u s r i o c a l a r m 2 9 5 - 3 b i n :$ r 姐h 下载m i z il i n u x2 0 开发包。 网址为h t t p :w w w m i z i c o m d e v e l o p e r m z 2 0 t o o l s 1 i s t h t m ,要全部下载。 运行r p m - u v h 木r p m 安装开发包。 至此,基本的交叉编译环境已经建立起来了,可以实现普通c 程序的编译。 3 1 3 2 面向m i n i g u i 的交叉编译环境设置 m i n i g u i 提供了示例程序包,生成可执行文件后,可以直接下载到目标板上执 行,然而,如果用户自己编译自己写的程序时,需要自己写m a k e f i l e 文件,所以, 这里我们分为两部分实现,一部分为基本环境设置( 只适用于编译示例包程序) ,一 点。1 h 1 a | ) j k 为m ii a l k i - e 文件的制作( 适用于编译用户自己编的程序) 。 北京邮电大学硕士学位论文 一 3 1 3 2 1 基本环境设置 由于m i n i g u i 程序本身的特殊性,所以其交叉编译环境的设置也具有一定的特 殊性。下面是具体的过程: ( 1 ) 下载源码包。 网址为h t t p :w w w m i n i g u i c o m d o w n l o a d c i n d e x s h t m l 。 其中包括 l i b m i n i g u i 1 3 3 t a r g zm i n i g u i 的函数库源代码,其中包括l i b m i n i g u i , l i b m y w i n s ,l i b m e e x t 和l i b v c o n g u i 。 m i n i g u i r e s 1 3 3 t a r g zm i n i g u i 所使用的资源,包括基本字体,图标,位图, 和鼠标光标。 r o d e 1 3 0 t a r g zm i n i g u i 的综合示例程序。 r a g s a m p l e 1 3 0 t a r g z ( ( m i n i g u i 编程指南的配套示例程序包。 下载f r e e t y p e 库。 网址为h t t p :w w w m i n i g u i c o m d o w n l o a d s d e p - l i b s 源码包为f x e e t y p e 一1 - 3 1 t a r g z o - ( 2 ) 制作f r e e t y p e 库。打开一个终端,将上述下载的源码包拷贝到一个制定的 目录下。然后执行如下命令: t a rz v x ff r e e t y p e 一1 3 1 t a r g z 进入解开的目录,然后执行命令: c o n f i g u r e p r e f i x = u s r l o c a l a r m 2 9 5 3 a r m l i n u x 修改l i b a r c h u n i x m a k e f i l e 文件, c c = - a r m l i n u x g c c c p p = a r m - l i n u x g c c e 执行命令: m a k e m a k ei n s t a l l 这时,l i b t t f 库文件会安装到u s r l o c a l a r m 2 9 5 3 a r m l i n u x l i b 下。头文件会安 装到 u s r l o c a l a r m 2 9 5 3 a r m 1 i n u x i n c l u d e f r e e t y p e 下,进入 u s r l o c a l a r m 2 9 5 3 a r m l i n u x i n c l u d e 目录,执行命令 m k d i rf r e e t y p e l 1 3 北京邮电大学硕士学位论文 m vf r e e t y p ef f e e t y p e l 目的是将头文件转移到 u s r l o c a l a r m 2 9 5 3 a r m l i n u x i n c l u d e f r e e t y p e l f r e e t y p e 下。 ( 3 ) 配置和编译m i n i g u i 。 首先进入l i b m i n i g u i - 1 3 3 t a r g z 所在的目录,然后执行命令: t a rz v x fl i b m i n i g u i - 1 3 3 t a r g z 然后执行命令m a k em e n u c o n f i g 进入m i n i g u l 的配置,下面列出几个主 要的配置选项: d e v e l o p m e n te n v i r o n m e n to p t i o n s 专 c o m p i l e r 选择a r m - l i n u x - g c c p a t hp r e f i x 安装地点的设置,一般设为u s r 1 0 c a l a r m 2 9 5 3 a r m 1 i n u x g a l e n g i n eo p t i o n s - - ) n e w g a le n g i n eo nl i n u xf r a m e b u f f e rc o n s o l e m e n g i n eo p t i o n s - - ) 【幸】i p a qh 3 6 0 0 ( a l s oh 3 8 0 0 ) 自定义输入引擎,根据板子的情况而定。 f o n to p t i o n s - - ) 。 t r u e t y p ef o n t 配置完成后,修改s r c ,s r c m y b m p 目录下的m a k e f i l e 文件。 i n c l u d e s 项增加- i o p t h o s t a r m v 4 1 a r m v 4 1 一r e d h a t 1 i n u x i n c l u d e l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年生成式人工智能办公应用课件
- 2026年秋季开学幼儿园小班:我长大了我能行课件
- 供配电系统的负荷分析
- 2026 年月圆思亲弘扬中华亲情文化课件
- 2026 年全球携手合作共迎时代挑战课件
- 2026 年保护耕地守护百姓饭碗课件
- 骨科医院2026年护理管理者年度护理综合能力测试试题及答案
- 金属文物修复师安全宣传强化考核试卷含答案
- 贵金属首饰检验员道德竞赛考核试卷含答案
- 2025年石狮市三下数学期末达标检测模拟试题含答案
- 2025年全国普通高校招生全国统一考试数学试卷(新高考Ⅰ卷)含答案
- 贵州省2024年12月普通高中学业水平合格性考试 数学试卷
- GB/T 19973.2-2025医疗产品灭菌微生物学方法第2部分:用于灭菌过程的定义、确认和维护的无菌试验
- JJF(津)118-2024 分布式光纤振动传感系统计量校准规范
- DB11T 211-2017 园林绿化用植物材料 木本苗
- Chapter-1工程英语翻译概述
- 2024年大学生创新创业训练计划流程
- 江堤绿化养护投标方案(技术方案)
- 新教师如何备课课件
- 民航服务心理学高职PPT完整全套教学课件
- “千名医师下基层”对口支援活动工作鉴定表
评论
0/150
提交评论