(计算机软件与理论专业论文)基于arm平台嵌入式linux系统的构建与应用研究.pdf_第1页
(计算机软件与理论专业论文)基于arm平台嵌入式linux系统的构建与应用研究.pdf_第2页
(计算机软件与理论专业论文)基于arm平台嵌入式linux系统的构建与应用研究.pdf_第3页
(计算机软件与理论专业论文)基于arm平台嵌入式linux系统的构建与应用研究.pdf_第4页
(计算机软件与理论专业论文)基于arm平台嵌入式linux系统的构建与应用研究.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机软件与理论专业论文)基于arm平台嵌入式linux系统的构建与应用研究.pdf.pdf 免费下载

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

文档简介

基于a r m 平台嵌入式l i n u x 系统的构建与应用研究 摘要 计算机与通信技术的高速发展,特别是互联网的迅速普及和3 c ( 计算机、 通信、消费电子) 合一的加速,使得嵌入式系统已经成为信息化产业的主流。嵌 入式系统的应用涉及到与计算机相关的各个领域,如网络系统、智能家电、3 g 应用、汽车电子等。 车载多媒体系统,做为汽车电子的一个分支,随着市场对新型车载数字娱 乐功能需求的日益增长,而逐渐成为一个研究热点。本课题来源于“中兴通讯 研究基金项目和合肥市重点科研计划项目一一基于c d m a 的车载监控定位系 统”。经过反复比较后,选择在a r m 微处理器硬件平台上,成功移植了经过 裁剪后的嵌入式l i n u x 操作系统,初步实现将触摸屏、移动存储、多媒体影音 娱乐等众多技术相结合的车载移动多媒体影音系统。 本文主要目的是研究l i n u x 如何移植到a r m 芯片上,并在此基础上进行 多媒体应用程序的开发。文章首先概述了嵌入式系统的特点,深入剖析了l i n u x 在嵌入式应用系统中的架构及其在硬件平台移植过程中的主要任务。然后在分 析$ 3 c 2 4 1 0 x 硬件体系结构的基础上详细介绍了从构建交叉编译环境、 b o o t l o a d e r 移植、l i n u x 2 6 内核移植、r a m d i s k 文件系统移植的全过程,为后 续项目的实施搭建了一个良好的开发平台。文章其次描述了2 6 内核中开发驱 动程序的实现方法,并以l c d 和音频驱动程序为例,详细介绍了整个驱动程序 的开发流程。文章最后,以车载多媒体影音系统的多媒体功能实现为基础,利 用m i n i o u i 进行基于移动终端需求的图形用户界面开发,并完成m p l a y e r 媒体 播放器的移植和系统优化,成功实现了多种音视频格式的播放功能。 关键词:嵌入式系统,l i n u x2 6 内核,文件系统,设备驱动,多媒体 第页 d e s i g na n da p p l i c a t i o nr e s e a r c ho fe m b e d d e d l i n u x s y s t e m b a s e do na r mp l a t f o r m a b s t r a c t t h ef a s td e v e l o p m e n to fc o m p u t e ra n dc o m m u n i c a t i o nt e c h n o l o g y ,e s p e c i a l l y r a p i dp o p u l a r i z a t i o n o fi n t e r n e ta n d s y n c r e t i s m a c c e l e r a t i o no f 3 c ( 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 ee l e c t r i c ) ,m a k ee m b e d d e ds y s t e mt u r ni n t o t h em a i n s t r e a mo fi n f o r m a t i o ni n d u s t r y t h ea p p l i c a t i o n so fe m b e d d e ds y s t e md e a l w i t hv a r i o u sa s p e c t so fc o m p u t e rs u b j e c t ,s u c ha sn e t w o r ks y s t e m ,i n t e l l i g e n t a p p l i a n c e ,3 ga p p l i c a t i o na n da u t o m o b i l ee l e c t r o n i c s a l o n gw i t ht h ei n c r e a s i n gd e m a n do fm a r k e tf o rn u m e r a la m u s e m e n tf u n c t i o n r e q u e s tt on e wc a r ,m u l t i m e d i as y s t e mo nv e h i c l e ,b e i n g ab r a n c h o fa u t o m o b i l e e l e c t r o n i c s g r a d u a l l yb e c o m e sas t u d yh o t s p o t t h ep r o j e c ti so r i g i n a t e df r o m s u p e r v i s i o n a n do r i e n t a t i o n s y s t e m o nv h i c l e ,w h i c hi sa ni t e mo fz t e c o m m u n i c a t i o ns t u d yf u n da n dk e y s t o n es c i e n t i f i cr e s e a r c hf u n di nh e f e ic i t y a f t e r r e p e a tc o m p a r i s i o n s ,s u c c e s s f u l l ym i g r a t e dc o n d e n s e de m b e d d e dl i n u xo p e r a t i o n s y s t e m t oa r mm i c r o p r o c e s s o rh a r d w a r e p l a t f o r m i n t e g r a t i n gt e c h n i q u e o f t o u c h s c r e e n ,s h i f ts t o r a g ea n dm u l t i m e d i a ,p r i m a r i l yh a sr e a l i z e dm o t i v em u l t i m e d i a v i d e oa n da u d i os y s t e mo nv e h i c l e t h em a i np u r p o s eo ft h ea r t i c l ei st os t u d yh o wt om i g r a t el i n u xt oa na r m c h i p ,f o l l o w i n gt h i ss t e pi s t o d e v e l o pm u l t i m e d i aa p p l i c a t i o np r o g r a m f i r s to f a l l ,t h et r a i to fe m b e d d e ds y s t e ma r es u m m a r i z e d ,t h es t r u c t u r eo fl i n u x i n e m b e d d e da p p l i c a t i o ns y s t e ma n dt h em a i nt a s ki np l a t f o r mm i g r a t i n gp r o c e s sa r e a n a t o m i z e d a n dt h e no nt h eb a s i so f $ 3 c 2 410 xs t r u c t u r e a n a l y s i s ,t h e a r t i c l e d e t a i l e d l yi n t r o d u c e dw h o l ep r o c e s so f t h em i g r a t i o n ,f r o md e s i g n i n gc r o s s b u i l d i n g e n v i r o n m e n ta n db o o t l o a d e r m i g r a t i o nt om i g r a t i n g l i n u x2 6k e r n e la n d r a m d i s kf i l es y s t e m ,f i n a l l yh a v ec o n s t r u c t e daw e l ld e v e l o p m e n tp l a t f o r mf o r t h ee x e c u t i o no fs e q u e n t i a li t e m t h ea r t i c l et h e nd e s c r i b e dt h er e a l i z a t i o no fd r i v e r i n2 6k e r n e l ,m a k ea ne x a m p l eo fl c da n ds o u n dd r i v e r ,d e t a i l e d l yi n t r o d u c e dt h e w h o l ep r o c e s so fd r i v e rd e v e l o p m e n t i nt h ee n d ,f o rt h er e a l i z a t i o no fm u l t i m e d i a f u n c t i o no fm u l t i m e d i av i d e o a n dm u s i cs y s t e mo nv e h i c l e ,u s e dm i n i g u it o d e v e l o pg r a p h i cu s e ri n t e r f a c ef o rt h ed e m a n do fm o t i o nt e r m i n a l ,a c c o m p l i s h e dt h e m i g r a t i o n a n d o p t i m i z a t i o n o f m p l a y e r ,h a ss u c c e s s f u l l y r e a l i z e d p l a y i n g d i v e r s i f o r i l lv i d e oa n da u d i of o r n l a t k e yw o r d s :e m b e d d e ds y s t e m ,l i n u x2 6k e r n e l ,f i l es y s t e m ,d e v i c ed r i v e r , m u l t i m e d i a 第v 页 图表清单 图1 12 0 0 4 2 0 0 8 年国内l i n u x 软件市场总量预测4 图2 1a r m 9 2 0 t 框图7 图2 - 2s 3 c 2 4 1 0 x 的结构框图。 图2 3 硬件系统结构图 图2 - 4s 3 c 2 4 1 0 x 复位后的地址分配示意图1 1 图2 - 5 系统地址空间分布图。 图3 1 嵌入式系统软件开发流程图。 l :! 11 i 图3 - 2 交叉编译环境。1 4 图3 - 3 本文采用的开发环境 图3 - 4s t a g e 2 可执行映像刚被拷贝到r a m 空间时的系统内存布局1 8 图4 1l i n u x 文件系统结构图3 0 图5 1l c d 控制器功能模块结构图。3 6 图5 2o s s 层次结构图。4 0 图6 1m i n i g u l 配置菜单5 2 表4 1 根文件系统目录表。3 l 表5 1s 3 c 2 4 l o x 各通道d m a 请求源4 0 第x 页 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所 知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得 盒目2 王些太堂 或其他教育机构的学位或证书而使用过的材料。与我一同 工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:签字日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解盒目b 王些太堂有关保留、使用学位论文的规定,有权保留并向国 家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权金目b 王些太堂可 以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手 段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 签字日期:年月 日 学位论文作者毕业后去向: 工作单位: 通讯地址: 第i 页 名:屹卟啧 签字日期:弘t 碑6 月日 电话: 邮编: 致谢 感谢我的导师张维勇教授。在课题的开展过程中,从理论知识的系统学习 和整理到开发工具的熟悉和使用,从课题方案的设计到实验软件的具体实现, 张老师自始至终的言传身教,并在课题及其它方面都给了我悉心的关怀和指导。 三年的硕士研究生学习期间,张老师对我思想上、学习工作上的循循善诱和谆 谆教诲,以及生活上无微不至的关怀和照顾,使我终身受益。张老师渊博的知 识、严谨的治学态度、诲人不倦的师长风范以及不断进取、精益求精的精神, 都将对我今后的学习、工作产生深远的影响,是我一生学习的榜样。在此谨向 张老师表示最由衷的感谢l 同时我要感谢分布式控制实验室c d m a 项目组的所有成员,特别是机械与 汽车工程学院的刘征宇老师,给我完全的信任和大力的支持,使我得到充分的 锻炼。感谢本实验室的张利老师、张建军老师、史久根老师、潘敏老师、冯琳 老师,他们对我的教诲使我终生受益。 特别感谢华恒科技的黄宁先生,王康先生,以及b b s h h c n c o m 论坛, h h t e c hc o m m u n i t y 群里所有的无私网友给我的支持和厚爱,通过与他们的讨 论,使我对许多关键问题有了深刻的了解。 感谢我的师兄潘承锦以及公司同事王高浩、刘欣、刘海霞,感谢他们对我 学业上的关心以及工作中的支持。同时还要感谢和我朝夕相处的同学一一高宏 伟、陈玮、张文亮、钱军、俞海、张亚琼、宋颂、梅勃、张芬、朱先竹、蔡志 文等同学,他们在我学习上给了我许多帮助和启迪,在项目实施过程中给与我 的指导和无私帮助。在此对各位同学谨表深深的感谢。 在合工大学习生活的这三年中,室友方芳、钱田芬和其它许多同学都给我 了热心的帮助,他们的友谊我永远也不会忘怀,在此向朋友们表示诚挚的感谢。 最后,我要向我的父母表示最深的感谢,无论我做什么选择,他们总是一 如既往的支持我! 他们殷切的目光永远是我前进最大的动力! 在此,向我的父 母致以崇高的敬意! 同时,我要感谢我的外公、外婆及所有的家人,没有他们 的支持和鼓励,也就没有我今天取得的成绩。在论文顺利完成之际,希望能和 他们一起分享其中的喜悦。 衷心的感谢所有关心和帮助过我的人们。 第v i 页 作者:戴丽 2 0 0 7 年5 月 1 1 研究背景 第一章引言 在当前数字信息技术和网络技术高速发展的后p c 时代,嵌入式系统获得 了广阔的应用空间和发展前景,已经应用到人类社会和日常生活的各个领域。 从m p 3 、手机、p d a ,到冰箱、数字电视、微波炉,再到雷达、航天飞船,处 处都存在着嵌入式系统的身影。“嵌入式系统”无疑已经成为当今最火热的一 个名词。 嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪,能适 应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 这种系统具有软件代码少、响应速度快、高度自动化等特点,用于实现对其它 设备的控制、监视或管理等功能,特别适应于要求实时的和多任务的应用【l 】。 1 1 1 嵌入式系统的发展历程 著名的摩尔定律引导了全球半导体行业4 0 年的研究与发展,也极大地推动 了嵌入式系统的发展和普及。从上世纪7 0 年代单片机的出现到现在各种嵌入式 操作系统和微处理器百花争鸣,已经有3 0 多年的历史。综观嵌入式技术的发展, 大致经历了以下三个阶段【2 】: 第一阶段是功能简单的专业计算机或是基于单片机的可编程控制器形式的 系统,同时具有监测、伺服、设备指示等功能。这种系统大部分应用于专业性 极强的工业控制、军事武器中,一般没有操作系统的支持,通过汇编语言编程 对系统进行直接控制,运行结束后清除内存。这一阶段系统的主要特点是:系 统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。 虽然这种嵌入式系统使用简便、价格低廉,但是已经远远不能适应高效的、需 要大容量存储介质、多进程并发执行的现代化工业控制和新兴的娱乐设备等领 域的需求。 第二阶段是以嵌入式处理器微控制器和嵌入式操作系统为标志的嵌入式 系统。这一阶段系统的主要特点是:c p u 种类繁多,出现了大量高可靠、低功耗 的嵌入式处理器( 如a r m 、p o w e r p c 、m i p s 等) 。同时出现了各类商业操作系统 ( 如v x w o r k s 、q n x 、s y m b i a n 等) ,能应用于不同的微处理器平台,兼容性 好。操作系统内核精小、效率高,具有高度的模块化和扩展性,同时拥有文件 和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能, 具有大量的应用程序接口和丰富的嵌入式应用软件。 第三阶段是基于i n t e r n e t 的嵌入式系统,微电子技术的迅速发展,s o c ( 片 上系统) 技术使得嵌入式系统越来越小,功能却越来越强大。尽管尚未与i n t e r n e t 完美结合,但随着i n t e r n e t 技术的发展以及i n t e m e t 技术与信息家电、工业控制 第1 页 技术等结合日益密切,嵌入式系统的网络化进程将会推动其更加飞速的发展。 1 1 2 嵌入式系统的特点 嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各个行业的 具体应用相结合后的产物,因此决定了它必然是一个技术密集、资金密集、高 度分散和不断创新的知识集成系统。嵌入式计算机系统同通用型计算机系统相 比,具有如下特点p j : 嵌入式系统通常使用面向特定应用的嵌入式微处理器,与通用型处理器 相比,最大不同就是嵌入式微处理器,大多工作在为特定用户群设计的系统中, 通常具有低功耗、体积小、集成度高等特点,能够把通用型处理器中许多由板 卡完成的任务集成在一个芯片内部,从而有利于嵌入式系统设计趋于小型化。 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存 储器芯片或单片机本身中,而不是存贮于磁盘等额外载体中。 嵌入式系统的硬件和软件都必须高效率地设计,将操作系统和具体应用 有机地结合在一起,它的升级换代也是和具体产品同步进行。因此嵌入式系统 产品一旦进入市场,具有较长的生命周期。 嵌入式系统本身并不具备在其上进行进一步开发的能力,即使设计完成 以后用户通常也不能对所有的程序功能进行修改,必须有专门的开发工具和开 发环境。 嵌入式系统对可靠性和稳定性要求很高,应该尽最大可能避免“死机” 的出现。 1 1 3 嵌入式系统的体系结构 一般来说,嵌入式系统的体系结构可以分为四个部分;嵌入式微处理器、 嵌入式外围设备、嵌入式操作系统以及嵌入式应用程序 4 1 。 嵌入式微处理器是嵌入式系统的核心。它与通用的p c 处理器最大的不 同在于:嵌入式微处理器大多工作在为特定用户所专门设计的系统中,它将通 用的p c 处理器中许多由外接板卡完成的工作集成到芯片内部,从而使得嵌入 式系统的设计可以趋于小型化,同时具有更高的效率和可靠性。 嵌入式外围设备是指除了中心控制器件以外的,用于存储、通信、调试 和显示等辅助功能的其他器件。目前常用的嵌入式外围设备可以分为存储设备、 通信设备以及显示设备。 嵌入式操作系统是嵌入式系统中极为重要的组成部分,是专门负责管理 存储器分配、中断处理、任务调度等功能的系统软件。通常包括与硬件相关的 底层驱动程序、系统内核、设备驱动接口、通信协议以及图形用户界面等。嵌 入式操作系统具有通用操作系统的基本特点,并且在系统实时性、硬件依赖性、 软件固化性和应用专业性上具有更加鲜明的特点。 第2 页 嵌入式应用软件是针对特定应用领域,基于某一特定硬件平台,用来达 到用户特定需求的计算机软件。与普通应用软件相比,嵌入式应用软件不仅要 求其准确性、安全性和稳定性等方面满足实际应用的需求,而且要尽可能的优 化,以减小对系统资源的消耗,降低硬件成本。“少而精”是嵌入式系统设计 的最主要的目标。 1 1 4 嵌入式操作系统的种类 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式 系统极为重要的部分,通常包括与硬件相关的底层驱动软件、系统内核、文件 系统、图形界面等。具有以下几个特点:系统内核小、实时性高、多任务调度、 进程线程间通讯、支持各种外设和网络协议等。 从2 0 世纪8 0 年代开始,出现了百余种嵌入式操作系统,比较流行的有: w i n d o w sc e 、v x w o r k s 、n u c l e u s 、p s o s 、q n x 、p a l mo s 等,但是开源并且 免费的的嵌入式操作系统只有i l c o s i i 和l i n u x 5 1 。 ( 1 ) w i n d o w sc e w i n d o w sc e 是微软公司推出的一种3 2 位多任务操作系统,凭借微软深厚 的技术实力和广泛的市场号召力,w i n d o w sc e 成功应用于资源受限的小型手 持设备及个人信息管理设备。它包含了i n t e r n e t e x p l o r e r 的版本,可以和i n t e r n e t 实现连接、同步交换信息。 ( 2 ) v x w o r k s v x w o r k s 是美国w i n d r i v e r 公司推出的一个嵌入式实时操作系统。它以其 良好的可靠性和强实时性被广泛应用于军事、通信、航空、航天等高技术领域 中。目前v x w o r k s 是市场占有率最高的实时操作系统,并且被认为是最优秀的 操作系统,同时其价格也是最昂贵的。 ( 3 ) n u c l e u s n u c l e u s 是美国a t i 公司推出的一个嵌入式实时多任务操作系统。其9 5 的代码是由c 语言编写,非常便于移植并能支持大多数类型的处理器,采用软 件组件的方式,各个组件很容易被替换和复用。 ( 4 ) p s o s p s o s 现在也属于美国w i n d r i v e r 公司,是一个模块化、高性能的实时多任 务操作系统,拥有集成的开发工具平台,可以运行在u n i x 或者d o s 的计算机 上,通过串口或t c p i p 网络与其相连。开发者可以利用它来实现从简单的单个 独立设备到复杂的、网络化的多处理系统。 ( 5 ) q n x q n x 是加拿大q n x 软件系统公司开发,建立在微内核和完全地址空间保 护基础之上的实时操作系统,实时、稳定、可靠、强壮,具有模块化程度高、 第3 页 j :。:筌围3 r 。m 推出,已经成为全球最受欢迎的掌上电脑和智能电 僦。竺苫皇美昙怨霎喜宅警塞挲喜芸善差等= 糕茹暑著弄 要篆堡毳篓奏:;羹詈意善亍姜差素导瞢簇凳蒌茗再嚣篇姜磊盖罱暑; 放的操作系统应用程序接口,开发商可以根据需璺目钌升及荷霄刚肚”“ 时蠹垂赫鬻篇黧糕嘉篇篇篇会 妻妻譬操堡煮蓑。自罢誊鐾耋箍翥慧磊毳:了薷,得凳刍j 开毳纂震麓磊琵姜葱 篓烹堡:耋譬篓茎名霎龛囊訾篆罢蓑蓑 黑墨暑霁薹萎篙磊磊翥哉炙妄荔蔷 塞芝实墓璧入鬻鞣黧怠嚣嵩芋器掰羔笺蓑薹星 耋黧要二量黑霎焉嚣震冒罴:嚣襄釜罢籀嚣茹著嘉 嵌入式设备网络化的需要,必须使用外挂的i c p ,1 p 田以槐取僧偎珊8 “” 滞。嵌入意:怒? 薹1 等鬈嚣嚣盒淼 或几m b 的小容量存储芯片中,适用于特定嵌入式皿用功。旨削守川“” 第4 页 今统业 、 至系产定图 觥删雠错蹴 眦得业豫湔。 能使商型当嘲 踟善统例成l墨 完传舰的 霉一御一一 5,客经大及对 一一一一一一一 系统。当前,嵌入式l i n u x 的研究与开发是操作系统领域的一个热点。l i n u x 之所以如此成功,与其优良的特性是分不开的【7 1 。 ( 1 ) 广泛的硬件支持 能够支持多种体系结构的c p u ,如x 8 6 、a r m 、m i p s 、p o w e r p c 、a l p h a 、 s p a r c 等。目前,l i n u x 已经被成功移植到数十种硬件平台上,几乎支持所有 流行的c p u 。 ( 2 ) 源码开放,软件资源丰富 l i n u x 是开源的操作系统,它使用户获得了最大的自由度。l i n u x 上的软件 资源非常丰富,每一种通用程序在l i n u x 上都可以找到。 ( 3 ) 内核性能高效,工作稳定 l i n u x 的内核非常稳定。它的高效和稳定性已经在各个领域,尤其是在网 络服务器领域,得到了大量事实的验证。同时独特的模块设计,使得l i n u x 内 核小巧灵活,易于裁减,很适合嵌入式系统的应用。 ( 4 ) 完善的网络通讯,文件管理机制 l i n u x 自产生之日起就与网络密不可分,支持所有标准的网络协议,并且 很容易移植到嵌入式系统中。另外,l i n u x 还支持多种文件系统和图形系统。 ( 5 ) 大量外围硬件设备支持 l i n u x 的硬件驱动已经非常丰富,支持各种主流硬件设备和最新硬件技术。 ( 6 ) 良好开发工具包 嵌入式l i n u x 为用户提供了一套非常优秀的完整开发工具链,有十几种集 成开发环境,能够很方便地实现从操作系统内核到用户态应用程序各个级别的 调试。并且大部分开发环境都是免费的,大大降低了开发费用。 1 2 课题来源和论文安排 1 2 1 课题来源 论文的课题来源于“中兴通讯研究基金项目和合肥市重点科研计划项 目一一基于c d m a 的车载监控定位系统”。 随着汽车电子的飞速发展,具有视频播放能力的车载终端逐渐成为新的研 究热点。本文根据这一需求,初步实现了一种嵌入式车载多媒体播放器。方案 基于s a m s u n g $ 3 c 2 4 1 0 x 的硬件平台及嵌入式l i n u x2 6 内核的软件平台,通过 图形界面m i n i g u i 的控制,采用m a d 算法,能够播放常见的m p l 、m p 2 、m p 3 、 w a v 音频和先进的m p e g - 4 视频。 在此课题中,本人负责完成车载终端硬件平台引导程序u - b o o t 移植、交叉 编译环境的搭建、l i n u x2 6 1 6 内核选择裁减移植、底层驱动程序( l c d 、触摸 屏、网卡、声卡等) 的实现及用m i n i g u i 图形用户界面操控的车载多媒体影音 系统的初步实现。 第5 页 1 2 2 论文安排 本论文共分为七章。 第一章主要介绍了本课题的研究背景、研究现状,在此基础上阐述了本 课题研究的目的和意义,以及论文的组织安排。 第二章分析了a r m 技术特点以及本系统硬件平台的结构与特点,并对关 键的存储空间分配做了说明。 第三章主要论述了嵌入式l i n u x 系统开发所需交叉编译环境的搭建,以及 硬件系统引导程序b o o t l o a d e r - - u b o o t 的移植。 第四章主要讨论了本系统选择2 6 版本l i n u x 内核的原因以及具体配置方 法。在此基础上选择了r a m d i s k 做为文件系统,并介绍了文件系统内容构建 过程。 第五章提出了2 6 版本下l i n u x 设备驱动程序开发方法,并以本系统中的 l c d 和音频驱动为例,详细说明了具体实现方法。 第六章说明了在车载多媒体影音系统实现过程中涉及到的几个关键技术 点,详细介绍了m i n i g u i 图形界面和m p l a y e r 媒体播放器的在本系统上的移植 过程,并着重介绍了系统优化步骤。 第七章总结了全文的工作,并提出了进一步的研究方向。 第6 页 第二章硬件平台构造 车载多媒体影音系统选用的硬件开发平台是采用s a m s u n g 公司的基于 a r m 9 2 0 t 内核的$ 3 c 2 4 1 0 x 微处理器。在此基础上,根据实际应用外扩了部分 芯片。本章首先阐述了a r m 的技术要点,其次,详细介绍了s 3 c 2 4 1 0 x 微处 理器特点以及系统的整体结构与部分功能模块。最后,简单介绍了系统的存储 空间分配情况。 2 1a r m 技术分析 a r m 是a d v a n c e dr i s cm a c h i n e 的缩写,a r m3 2 位体系结构目前被公认 为是业界领先的3 2 位嵌入式r i s c 微处理器结构。 根据内核的不同,a r m 处理器分为a r m 7 、a r m 9 、a r m 9 e 、a r m l 0 e 、 a r m l l 、s e c u r c o r e 、o p t i m o d e 、m p c o r e 、x s c a l e 、s t r o n g a r m 、c o r t e x p j 。本 文采用的$ 3 c 2 4 1 0 x 微处理器是基于a r m 9 微处理器系统中的a r m 9 2 0 t 开放 平台处理器内核。 a r m 9 采用五级整数流水线,提供1 i m i p s m h z 的哈佛结构,支持3 2 位 a r m 指令集和1 6 位t h u m b 指令集,支持3 2 位的高速a m b a ( a d v a n c e d m i c r o c o n t r o l l e rb u sa r c h i t e c t u r e ) 总线接口。拥有全性能的内存保护单元 m p u ( m e m o r yp r o t e c t i o nu n i t ) ,支持w i n d o w sc e 、l i n u x 、p a l mo s 等多种主 流嵌入式操作系统。支持数据c a c h e 和指令c a c h e ,具有更高的数据和指令处 理能力。 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 三种类型,以适用于不同的应用场合。 a r m 9 2 0 t 微处理器核心架构,如图2 - 1 所示。 图2 - l a r m 9 2 0 t 框图 第7 页 a r m 9 2 0 t 由a r m 9 t d m i 微处理器核心、可以管理虚拟内存的存储管理单 元m m u ( m e m o r y m a n a g e m e n t u n i t ) 和高速缓存( 独立的1 6 k b 地址高速c a c h e 和1 6 k b 数据高速c a c h e ) 三部分组成。a r m 9 2 0 t 有一个内部协处理器c p l 5 , 用于存储系统控制以及测试控制。a r m 9 2 0 t 同时拥有一个a m b a 接口总线以 及一个e t m ( e m b e d d e dt r a c em a c r o c e l l ) 接口,e t m 这个接口可以允许开发 人员进行即时的微处理器流程追踪及除错。 2 2s 3 c 2 4 l o x s a m s u n g 公司的$ 3 c 2 4 1 0 x 是一种1 6 3 2 位微处理器,内部集成了微处理 器和一些移动设备的常用外围组件。特别适用于移动设备和对价格敏感、耗电 少、高性能、体积小的普通嵌入式应用场合。 $ 3 c 2 4 1 0 x 微处理器的精彩特性【9 】: a r m 9 2 0 t 嵌入式处理器内核,主频可达2 0 3 m h z ; 扩展总线最大频率1 0 0 m h z : 3 2 位数据,2 7 位外部地址线; 完全静态设计( 0 - 2 0 3 m ) ; 存储控制器( 八个存储体) ; 包含r a m ( s d r a m ) 控制器,n a n 复位时引导芯片选择( 8 比特、1 6 比 3 个u a r t ,支持i r d a1 0f 4 个带有p w m 的1 6 位定时器; 4 个d m a 通道,支持外设d m a : 多达5 5 个中断源的中断控制器; 8 通道,5 0 0 k s p s ,1 0 - b i ta d c ; s t n 与t f tl c d 控制器; 看门狗; 0 i i s 音频接口; 两个u s b 口; 0 i i c - b u s 接口; 两个串行外围接口电路( s p i ) ; s d 卡接口; r t c 。 $ 3 c 2 4 1 0 x 的结构框图如图2 2 所示。 第8 页 i b u s c o n t l l 撩l 撼l 错a、h ia t l a c 暇d o c o c g l h l u 8 8h o s t c o 断1 牟冷 8牟冷l 一骶l l 黝黼l 冷 8牟冷l 赫l “ | 嵫黔l sl 戒燃i 已一 瓣u l 、 骞n 姐& 傩a l 辩 图2 - 28 3 c 2 4 l o x 的结构框图 同时,$ 3 c 2 4 1 0 x 还采用了a m b a 的新型总线结构,内部集成了微处理器和 一些常用外围组件,大大减少了整个系统的成本,消除了系统配置额外器件的 需要,为嵌入式系统提供了一个高效的硬件平台。 因此,本文选用基于$ 3 c 2 4 1 0 x 微处理器的嵌入式硬件平台进行研究。 第9 页 2 3 系统硬件平台 本系统的硬件平台由核心板和底板两部分组成,整体结构如图2 3 所示。 图2 - 3 硬件系统结构图 核心板上集成s a m s u n g $ 3 c 2 4 1 0 x 微处理器,1 6 m b 的n o rf l a s h 和6 4 m b s d r a m ,为应用研发提供了足够的空间。n o rf l a s h 采用的是i n t e l 2 8 f 1 2 8 j 3 a ,一片8 m 1 6 位数据宽度,共1 6 m 字节,速度为1 5 0 n s 。s d r a m 采用的是h y 5 7 v 5 6 1 6 2 0 b t ,两片1 6 m x l 6 位数据宽度,共6 4 ms d r a m 。 考虑到实际应用和调试需要,底板上提供以下外设接口: 1 0 m 1 0 0 m 自适应以太网接口,用于调试时下载内核和文件系统使用; 四线r s 2 3 2 串口( c o m l ) - - 个,用于调试时发送控制指令; s d m m c 卡接口,外接大容量s d 储存设备; u s bh o s t 接口,外接u 盘等u s b 设备; t f t l c d 接口,用于显示; 触摸屏接口,作为人机接口; 音频输入输出接口,麦克风接口,用于多媒体系统中的音视频播放。 核心板和底板配合即构成一个完整的应用系统。本系统具有体积小、耗电 低、处理能力强等特点,能够轻松装载和运行嵌入式l i n u x 操作系统,为应用 系统的开发搭建了一个良好的硬件平台。 2 4 系统存储空间分配 $ 3 c 2 4 1 0 x 处理器内部集成了存储控制器,可以为片外存储器访问提供必 要的控制信号,主要包括以下特点【9 】: 支持大、小端模式( 通过软件选择) 。 包括8 个地址空间,每个地址空间容量为1 2 8 m 字节,总共为l g 字节。 第1 0 页 除b a n k 0 以外的所有地址空间都可以通过编程设置为8 位、1 6 位或3 2 位方式访问,b a n k 0 可以设置为1 6 位、3 2 位访问。 8 个地址空间中,6 个地址空间可以用于r o m 、s r a m 等存储器,2 个 用于r o m 、s r a m 、s d r a m 等存储器。 7 个地址空间的起始地址及空间大小是固定的。 1 个地址空间的起始地址和空间大小是可变的。 所有存储器空间的访问周期都可以通过编程配置。 提供外部扩展总线的等待周期。 s d r a m 支持自动刷新和掉电模式。 图2 4 为$ 3 c 2 4 1 0 x 复位后的地址分配示意图。f l a s h ,s d r a m 分别分配 在n g c s 0 和n g c s 6 上。其它的外设的寻址通过内部寄存器来实现。 缸阱阡孵啼 删0 e 0 0 o t q l 曲| 0 1 。o t q t :e l - ( 1 0 黻,撕 | i 秣棚i i n o t e a e d j 4 茕触 n e t m , e d 嗣嘲 s 掰凇 盈麓嘲h 掰穗艇们溯 牡g e s 7 删孵 2 躺1 瀚幻 s r o 墒s 饼删奢璐m 删 鹞穆f 7 龇5 - 州挖辅,勰璐翰l 裂1 2 b 船 鞫捌 1 2 8 1 姻 ( r , c - c s s ) s r 0 螂 狮0 瀚 籀嘲1 0 b r 附o 饼嵇嘲 , s r o m lecei翰e 1 2 8 m b 鼬孵i 扫略c s 3 辎硎 缸l g c s 2 瑚自船 s r o 赫 9 t 0 c s l 蠲璐 | 黼| , 1 2 抽1 6 夸_ 嘲蝴黼 钕旗i i i r 嗍蜘姒嘴协h 靠t 嗍 图2 - 4 $ 3 c 2 4 1 0 x 复位后的地址分配示意图 本系统的内存由两片1 6 m 1 6 位数据宽度的s d r a m 构成,两片拼成3 2 位模式,公用n g c s 6 ,共6 4 mr a m 。起始地址为0 x 3 0 0 0 0 0 0 0 。n g c s o 接的是 一片8 m 1 6 位数据宽度的f l a s h ,安装在b a n k 0 ,起始地址为o x o 。f l a s h 共 1 2 8 个扇区,每个扇区是1 2 8 k 字节,均匀分布。其中内核z i m a g e 烧写在地址 第l l 页 0 x 4 0 0 0 0 开始处,根文件系统r a m d i s k 烧写在0 x 1 4 0 0 0 0 地址处。 下面给出系统的地址空间分布,如图2 5 所示。 0 x 0 o x 4 0 0 0 0 0 x 1 4 0 0 0 0 o x 5 4 0 0 0 0 f l a s h 引导代码 u b o o t 内核 z i m a 鲈 文件系统 r a m d i s k i m a g c g z s d r a m 图2 - 5 系统地址空间分布图 第1 2 页 o x 3 0 0 0 8 0 0 0 第三章软件开发环境搭建 嵌入式系统的特点决定了其开发过程和开发环境同传统的软件开发相比有 着显著的不同,它是一种为满足特定用途所专门开发的系统,因此需为特定的 硬件平台单独搭建软件开发环境。本章首先介绍了嵌入式软件的开发流程和本 系统交叉编译环境的搭建,然后详细介绍了引导启动程序的功能和结构体系, 并以本系统所采用的u b o o t 为例,介绍了b o o t l o a d c r 的移植方法。 3 1 嵌入式软件开发流程 嵌入式系统是一个资源受到限制的系统,因此直接在其硬件平台上编写软 件比较困难,有时候甚至是不可能完成的。在嵌入式系统的软件开发过程中, 目前一般采用的解决办法是首先在通用计算机上编写程序,调试通过后,再进 行交叉编译生成目标平台上可以运行的二进制代码格式,最后再下载烧写到目 标硬件平台的特定位置,由目标板上的启动代码运行这段二进制代码,启动整 个系统1 1 0 l 。嵌入式系统软件开发流程如图3 1 所示。 图3 - 1 嵌入式系统软件开发流程图 嵌入式l i n u x 系统的开发从软件的角度看通常可以分为四个步骤: 引导加载程序:包括固化在固件( f i r m w a r e ) v o 的引导代码( 可选) ,以及 b o o t l o a d e r 两大部分。 l i n u x 内核:为特定硬件平台定制的内核以及内核启动参数。 文件系统:包括根文件系统和建立在f l a s h 内存设备之上文件系统。 用户应用程序:满足用户特定需求的应用程序。有时在用户应用程序和 内核层之间还会包含一个嵌入式图形用户界面。 第1 3 页 本文余下章节将会逐个介绍各部分的开发方法。 完成这四个步骤的前提是为系统搭建一个交叉编译环境。 3 2 交叉编译环境 嵌入式系统软件开发时的一个显著特点是需要交叉编译环境的支持。 3 2 1 交叉编译的技术特点 交叉编译环境是指编译、链接和调试嵌入式应用程序的开发环境,它与运 行嵌入式应用程序的环境有所不同,通常采用宿主机,目标机的模式,如图3 - 2 所示。 直接连接 图3 - 2 交叉编译环境 宿主机( h o s t ) 是一台基于i n t e lx 8 6 架构的计算机,它通过串口或者咀太 网接口与目标机通信。宿主机的软硬件资源比较丰富,不但包括功能强大的操 作系统( 如w i n d o w s 和l i n u x )

温馨提示

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

评论

0/150

提交评论