(计算机软件与理论专业论文)基于嵌入式linux的图像采集与无线传输的研究.pdf_第1页
(计算机软件与理论专业论文)基于嵌入式linux的图像采集与无线传输的研究.pdf_第2页
(计算机软件与理论专业论文)基于嵌入式linux的图像采集与无线传输的研究.pdf_第3页
(计算机软件与理论专业论文)基于嵌入式linux的图像采集与无线传输的研究.pdf_第4页
(计算机软件与理论专业论文)基于嵌入式linux的图像采集与无线传输的研究.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(计算机软件与理论专业论文)基于嵌入式linux的图像采集与无线传输的研究.pdf.pdf 免费下载

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

文档简介

两华大学硕 :学位论文 基于嵌入式l i n u x 的图像采集与无线传输的研究 专业计算机软件与理论 研究生廖慧明指导教师黄襄念( 教授) 摘要 以计算机技术、通讯技术相结合的信息时代快速发展和互联网广泛应用 形势下,嵌入式系统j 下在兴起又一场技术革命,各大高校、研究所和企业都 纷纷加入嵌入式系统的应用研究。在嵌入式操作系统领域,嵌入式l i n u x 系 统以开放源码、性能稳定、价格低廉、功能强大又易于移植而被广泛采用, 成为这一领域的主角。尤其移动无线移动通信技术、计算机技术和i n t e r n e t 网络技术在监控行业中有着潜在的发展空间。 本文根据现有技术与市场实际情况和需求,结合无线移动通信技术,对 基于图像采集与无线移动通信技术的远程视频监视技术进行了研究,对国内 外的研究现状和发展趋势进行了阐述,在此基础上提出本系统的设计,同时 在对通信网络原理讨论的基础上,对本系统的总体方案、通信协议的设计等 方面进行了讨论,根据监控系统所要实现的功能要求,完成了本系统的总体 设计。 本文论述了作者在图像采集与无线传输构成的嵌入式监控系统开发工作 里所做的研究和实践,主要围绕着l i n u x 向a r m 平台移植和通过u s b 接口进 行图像采集及在g p r s 网络传输等技术展开讨论,同时由于随着i j s b 接口的普 及,在本文中图像采集采用u s b 集成到系统中,这当中作为嵌入式外围设备, 嵌入式i j s b 主机技术可以解决嵌入式系统无法使用u s b 设备的难题,论述了 在嵌入式l i n u x 之上应用程序和外挂设备的驱动程序编写流程、方法,基于 嵌入式l i n u x 软件平台开发g p r s 模块驱动程序和应用软件,针对g p r s 通信中 p p p 拨号程序中遇到的相关的问题进行代码深入的分析研究和解决,从而具有 无线传输、实时在线,稳定可靠等优点,基本实现目标要求。 丙华大学硕j 学位论文 关键词:a r m - l i n u x ,u s b ,g p r s ,p p p n 西华大学硕士学位论文 r e s e a r c ho ni m a g ec a p t u r i n ga n dw i r e l e s s t r a n s m i t t i n gb a s eo ne m b e d d e d l i n u xs y s t e m m a j o r :c o m p u t e rs o f t w a r ea n dt h e o r y m a s t e rc a n d i d a t e :h u i m i n gl i a o s u p e r v i s o r :p r o f x i a n g n i a nh u a n g a b s t r a c t w i t ht h ed e v e l o p m e n t o f c o m p u t e r st e c h n o l o g ya n dc o m m u n i c a t i o nt e c h n o l o g y i n f o r m a t i o nt i m e sa n dt h eb o a r da p p l i c a t i o no fi n t e r a c t e m b e d d e ds y s t e mi s l e a d i n ga n o t h e rt e c h n o l o g i c a lr e v o l u t i o n m a n yu n i v e r s i t i e s ,g r a d u a t es c h o o l sa n d c o m p a n i e sa r er e s e a r c h i n go ne m b e d d e ds y s t e ma n di t sa p p l i c a t i o n s b e c a u s eo f o p e ns o u r c ec o d e s ,p e r f e c tp e r f o r m a n c e ,p o w e r f u l ,l o wp r i c e ,e m b e d d e dl i n u xi sa v e r yg o o dc h o i c ef o ra ne m b e d d e do p e r a t i o n ss y s t e m w i t ht h er a p i dd e v e l o p m e n to f w i r e l e s sm o b i l et e c h n o l o g y , c o m p u t e r t e c h n o l o g ya n di n t e r a c tt e c h n o l o g y , e s p e c i a l l yt h ew i d ea p p l i c a t i o no f g p r s t e c h n o l o g ya n dt h er e l e a s eo f 3 gl i c e n s e ,w i r e l e s sm o b i l et e c h n o l o g yi s i n c r e a s i n g l yg e t t i n gp o t e n t i a lm a r k e t s r e s e a r c hi nr e m o t ev i d e os u p e r v i s i o n b a s e do nw i r e l e s sm o b i l et e l e c o m m u n i c a t i o nt e c h n o l o g yh a sb e e n d o n ei nt h i s t h e s i s t h i sd i s s e r t a t i o ni n t r o d u c e st h ep r e s e n ts t u d ys i t u a t i o na n df u r t h e rd e v e l o p m e n to f m o n i t o r i n gs y s t e ma th o m ea n da b r o a d b a s e do nt h et h e o r i e so fi n t e m e t c o m m u n i c a t i o n t h et o t a ls o l u t i o na n dt h ec o m m u n i c a t i o np r o t o c o lo f t h es y s t e m a r ed i s c u s s e di nd e t a i l s a c c o r d i n gt ot h ef u n c t i o nr e q u i r e m e n t so f t h em o n i t o r i n g s y s t e m ,t h et o t a ls c h e m eo f t h i ss y s t e mi sd e s i g n e d w i t ht h ep o p u l a r i z a t i o no f t h eu s bi n t e r f a c e ,al o to f e m b e d d e da p p l i c a t i o n s s t a r tt om i n k i n t e g r a t i n gu s bp e r ti n t os y s t e m s o n ep a r to f t h ea p p l i c a t i o n si s d e s i g n e da sp cp e r i p h e r a l s t h eo t h e ri sd e s i g n e da su s bh o s ti no r d e rt ou s et h e p e r i p h e r a l s t h eu s bh o s tt a k e su pt h ec o r ep o s i t i o ni nt h eu s bs y s t e m 1 1 1 西毕大学硕t 学位论文 a r c h i t e c t u r e e a c hu s bd a t at r a n s f e ri si n i t i a t e da n dc o n t r o l l e db yt h e1 1 0 s t e v e r y u s bd e v i c ec a n o n l yc o r l f l e c tt ot h eh o s ta n dc a nn o tc o m m u n i c a t ew i t he a c ho t h e r d i r e c t l y t h ee m b e d d e du s b h o s tt e c h n o l o g yw i l ls o l v et h ep r o b l e mt h a t e m b e d d e ds y s t e m sa r en o ta b l et om a k eu s eo f u s bd e v i c e s n 圮t h e s i sp r e s e n t st h ea u t h o r sw o r ki nd e v e l o p m e n to f e m b e d d e da r m - l i n u x o p e r a t i n gs y s t e mf o rh i sg r a d u a t ed e g r e e m o s to f t h et h e s i sf o c u st h ei m p o r t a n t t e c h n i q u ea tt h ep o r t i n gt h ee m b e d d e dl i n u xt oa r mp l a t f o r m t h ea p p l i c a t i o n g p r ss o f t w a r ea n dd r i v e ra 聪d e v e l o p e db a s e do nt h ee m b e d d e dl i n u xo p e r a t i n g s y s t e m 1 1 r e l a t e dq u e s t i o n sa n dc o d e sa r ea n a l y z e da n ds o l v e di nt h ep p p p r o c e d u r e t h es y s t e mt e s t i n gi sp r o v e dt oh a v et h ec h a r a c t e r i s t i c so f w i r e l e s s t r a n s m i s s i o n , l o wc o s t ,s t a b i l i z a t i o na n da l w a y s - o n l i n e ,i tm e e t st h ee x p e c t e d r e q u i r e m e n t k e yw o r d s :a r m l i n u x , u s b ,g p r s ,p p p 两华大学硕士学位论文 申明 本人申明所呈交的学位论文是本人在导师指导下进行的研究工作以及取 得的研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得西华大学或其他教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡 献均己在论文中作了说明并表示谢意。 本学位论文成果是本人在西华大学读书期自j 在导师指导下取得的,论文 成果归西华大学所有,特此申明。 作者签名:摩毽1 j 日日期:7 一工f 。, 翩鹳勘期:伽工6 t 6 8 两华大学硕十学位论文 第一章绪论 图像采集与传输构成的嵌入式监控系统是安全防范技术体系中不可缺少 的重要组成部分,嵌入式设备随着微电子技术和软件技术的发展,嵌入式技 术也有了长足的进步,因此,基于嵌入式技术的图像数据采集与无线传输监 控系统以其直观、方便、信息内容丰富可以广泛应用于许多场合。 1 1 研究的意义和使用价值 监控系统工作于特定的环境下,具有很特殊的环境和结构要求,这对监 控系统的软硬件平台提出了很高的要求。无线通信网络的发展,数据传输带 宽的不断扩大。特别是未来3 g 网络的使用,将无线通信技术运用于多媒体 无线监控成为可能,多媒体技术引入图像监控系统后,两个问题需要解决, 一是灵活的图像监控系统结构调整,二是适合监控规范的、集图像、信号检 测与控制一体的多媒体软件的设计。 本论文针对嵌入式系统下图像采集与无线传输构成图像监控系统的应用 展开研究,创建一种新的、市场所需的方便灵活的无线远程图像监控系统, 研究嵌入式技术在监控系统中的应用,设计、实现基于该技术的嵌入式无线 远程图像监控系统,进行相关试验研究。 1 ) 针对嵌入式系统的特点,将嵌入式处理器和嵌入式操作系统运用于图像采 集与无线远程传输的图像监控系统中,可以发挥嵌入式系统独有的小体 积、低成本、高可靠性等特点,从各个方而满足监控系统的特殊需要。 2 ) 操作系统与单片机相比,具有相当大的灵活性,大多数嵌入式系统以模块 化进行设计,可以根据自己的需要对软硬件进行裁剪或者添加,有利于在 较短的时间内取得较大的成果。 3 ) 针对嵌入式操作系统的研究,可以提高对嵌入式操作系统认知,熟悉操作 系统的运行和应用开发技术及开发流程。 丽华人学硕十学位论文 4 ) 图像的采集、压缩编码和数据的传输,都是当前研究的热点。通过对该系 统的研究和开发,可以在图像编码压缩等方面取得较大的成绩。 5 ) 实现基于g s m g p r s 网络的数据传输,可以在无线方式下的数据传输,通 信方面有所创新和突破。 1 2 国内外发展现状 1 2 1 图像采集系统 图像监控一直是人们关注的应用技术热点之一,它以其信息内容丰富、 直观而被广泛应用。在电子技术与通信技术的发展过程中,图像监控系统的 技术水平,赢接反应了不同阶段电子与通信的技术现状。 图像采集作为图像监控系统的主要部分,作为整个系统的原始信号源,主 要功能是完成目标景物到图像信息的转换,其物理变换是一个光电变换过程 在这个变换过程中摄像器件承担了主要任务。 目前主要的方法: 1 ) 本地模拟信号采集 本地图像监控系统主要由摄像头、监视器、录像机等组成,利用视频线将 来自摄像头的图像连接到监视器上,利用视频主机,采用键盘进行切换和控 制,其具有很多局限性:首先,有线模拟视频信号的传输对距离十分敏感; 其次,有线模拟视频监视无法联网,只能以点对点的方式监视现场,并且使 得布线工程量极大。 2 ) 基于p c 插卡的图像采集系统 基于p c 机的远程图像监控系统由p c 机插视频卡构成,在监控现场,有 若干个摄像机,各种检测、探头与数据设各,通过各自的传输线路,连接到 监控终端机上,该终端可以是一台p c 机,基于p c 的视频监控系统终端功能 较强,不方便现场操作,信号的采集、压缩、通讯较复杂,可靠性不高,p c 机也需专人管理,特别是在环境或空间小适宜的点,这种方式不理想。 3 1 基于嵌入式技术的网络数字监控系统 2 两华人学硕十学位论文 随着芯片、网络技术的进步,现在出现了基于嵌入式技术的网络系统监 控系统。嵌入式系统也由于软件硬件可裁剪、本身体积小,实时性高,稳定 性好,支持网络等优点,成为工控领域的新热点。基于嵌入式技术的监控系 统有效地将嵌入式技术和图像技术结合在一起,可以很好地解决基于p c 的 监控系统中存在的问题 在监控现场利用嵌入式技术,采用专用芯片和嵌入式操作系统,把摄像 头输出的信号进行图像压缩编码处理、网络通信、自动控制等,支持网络传 输和网络管理,有效地提高了系统的实时性和稳定性,把图像采集压缩和网 络传输功能集成到一个体积很小的设备内,直接连入无线网,省掉各种复杂 的电缆,安装方便,使得监控范围达到前所未有的广度。 本文正是基于u s b 总线的图像采集,与其它通信接口比较,u s b 接口的 最大特点是作为一种高速总线接口易于使用,支持1 5 m b s d 氐速) ,1 2 m b s ( 全 速) 的数据传输速率,扣除用于总线状态、控制和错误监测等的数据传输,其 最大理论传输速率9 6 m b s ,远高于一般的串行总线接口,易于作为高速数据 采集设备,这也是采用u s b 主要设计目的。 根据本文对数据传输可靠,可以进行远程控制,系统运行稳定,对拍照接口 要求即插即用、可热插拔,比较方便适应室内外工作的条件,u s b 接口完全能 满足本文的基本要求。 1 2 2 无线图像传输 g p r s ( g e n e r a lp a c k e tr a d i os e r v i c e ,通用分组无线业务) 是为满足全球移动 数据市场需求而产生的提高g s m 数据传送速率的一项新技术,它是从2 g 过 渡到3 g 的过渡性技术,被人们称为2 5 g 技术,作为迈向第三代移动通信系 统的重要里程碑,g p r s 使移动网络和数据网络合而为一,为人们移动互联 愿望的实现带来了一片曙光。g p r s 在传输信道分配上采用动态复用方式,因 此大大提高了频率资源和网络传输资源的利用率,提高了数据传输速率,使 得移动多媒体业务成为现实。 采用g p r s 无线数据通信方式,可以省去有线方式下必须采用的物理布线, 而且无线方式有利于对采集点的合理安排,克服了传统上只能用于固定现场 两华大学硕士学位论文 采集有线传输的弱点。将钦入式系统、无线通信技术结合在一起的图像采集 传输系统将成为未来发展方向,在很多自动化等领域都具有广阔的应用前景。 1 3 常用的嵌入式系统川嘲6 1 1 w 佃d o w c e w m d o 、c e 是m i c r o s o f t 公司1 9 9 8 年发布的基于掌上型电脑类的电子设 备嵌入式操作系统,一种基于组件的操作系统,各功能模块可方便地裁减,这 种模块化设计使嵌入式系统开发者和应用开发者能够定做各种产品。 2 v x w o r l 【s v x w o r k s 操作系统是美国w i n d 鼬v c r 公司于1 9 8 3 年设计开发的一种高性 能的嵌入式实时操作系统,以其优良的可靠性、开放性、实时性和易用性被 广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领 域中。 3 “c 0 s l i p c o s n 是j e 缸j l a b r o s s 推出的一个基于优先级的嵌入式实时操作系 统,具有免费、使用简单、可靠性高、实时性好等优点,但移植困难、缺乏 必要的技术支持等缺点。 4 嵌入式l i n u x l i n u ) ( 的可靠性、灵活性和可升级性,支持多微处理器体系结构、硬件 设备、图形支持和通信协议相结合,把l i n u ) 【建成了一个日益流行的操作系 统平台,使得很多用户使用l i n u x 作为嵌入式系统的开发原型,任何人都可以 获得嵌入式l i n 呱的源代码,这使开发者可更好地利用自己的平台和经验。 1 4 嵌入式l i l l u ) ( 系统的概述嘲【7 】【8 l 【9 l l i n l l ) ( 是1 9 9 1 年4 月由芬兰人l i n u st o r v a l d s 所独立草创的类u n i x 操作 系统,在全世界爱好者的共同努力下,借助于i n t e m e t l i n u x 历经无数版本的 演进,目前已发展成为一个完整遵从p o s i x 规范的操作系统,是一个真正的 4 两华大学硕十学位论文 多任务、多用户、多平台系统,支持多处理器,安全可靠,性能卓越,遵循 g n u 公共许可协议,源代码全部开放,任何入均可自由获得源码分析研究。 如今,嵌入式l i n u x 是一个开发热点,国内外纷纷开展嵌入式l i n t l x 的 研究,由美国新墨西哥理工学院开发的基于l i n u x 的r t l i n u x 嵌入式操作系 统,已成功地应用于航天飞机的空间数据采集、电影特技图像处理等领域。 由嵌入式l i n u x 行业的厂商l i n e o 推出的e m b e d i x ,提供了超过2 5 种l i n u x 系统服务。红旗l i n u x 把工控盒、信息家电作为主要的发展领域,无论国内 还是国外,嵌入式l i n u x 的研究都是比较热的,取得的效益也是可观 1 4 1 嵌入式l i n u x 的优势 l i n u x 由于自身的优点非常适合作为嵌入式操作系统,主要有: 1 免许可证费用 大多数商业操作系统,如w i n c e ,v x w o r k s 等均收取一定的许可证使用 费用,相对而言,l i n u x 是一个免费的优良操作系统,公开源代码,只要不违 反g p l 协议,任何人都可以使用、修改和发布l i m l x 。 2 高度稳定性 和目前流行的桌面操作系统相比,l i n u x 是非常稳定和可靠的,并且由 于内核的稳定性使得在移植到特定平台后与通用平台具有一样的高稳定性。 3 移植容易 l i n u x 是一个多平台的操作系统,可以运行于x 8 6 、p 0 、砸rp c 、a i t m 等多种处理器之上,对嵌入式应用方面这一点尤为重要。 4 强大的网络功能 几乎所有的网络协议和网络接口都己经被定制在l i n u x 中,l i n u x 内核在 处理网络协议方面设置比标准的u n i x 更具执行效率,具有更高的吞吐量。 5 良好的开发工具 l i n u x 提供c ,c + + 、j a v a 以及其他很多的开发工具,并且这些开发工具设 计时己经考虑到支持各种不同的微处理器结构和调试环境。 6 全面的技术支持 西华大学硕士学位论文 对于实际开发过程来说,完善的文档和及时的技术支持是解决实际问 题、提高开发效率所必不可少的,由于l i n u x 的开源特性和各方面的优异表 现,开发过程中遇到的任何问题,均可通过i n t e r a c t 得到及时解答。 1 5 本论文的研究工作 作者的具体工作: 1 熟悉嵌入式l i n u x 系统和开发环境,了解嵌入式板的结构和性能; 2 熟悉嵌入式l i n u x 内核,文件系统及驱动程序的结构及实现等; 3 分析基于l i n u x 下u s b 驱动程序原理,实现图像采集和对图像压缩研究; 4 在g p r s 网络上实现无线拨号驱动程序编写移植和数据传输功能,对开发 过程中出现的b u g s 进行跟踪和调试,使得最终嵌入式程序更加完善健壮。 本论文的主要结构: 第一章概述嵌入式监控系统的发展和研究意义,对嵌入式系统和图像采集及 无线传输部分进行介绍; 第二章分析了l i n u x 系统的嵌入式开发的方法及其l i n u x 内核裁减和文件系 统虾f s 的移植; 第三章论述基于嵌入式l i n u x 的驱动开发和实现了u s b 图像采集应用程序, 对图像压缩技术的研究; 第四章论述在g p r s 网络数据传输设计与实现,介绍了如何实现g p r s 模块 驱动程序和对p p p 程序进行移植过程,为以后的研究作基础; 第五章为嵌入式系统的终端与服务中心软件设计部分; 最后是总结展望、参考文献、发表的论文和致谢。 6 两华大学硕十学位论文 第二章嵌入式a r m l i n u x 系统的开发设计 2 1 基于嵌入式a r m l i n u x 的总体方案 2 1 1 系统结构 参照通用嵌入式系统结构,设计出本文所要移植的系统结构图2 1 所示 臣囝匪! ia 删一l i n u x 内核文件系统i i启动稃序v i v il i s 3 c 2 4 1 0 嵌入式板 i i一 f i 9 2 - is y s t e ms t r u c t u r e 图2 - 1 系统结构 本文嵌入式l i n u x 系统分为四个层次: 1 $ 3 c 2 4 1 0 嵌入式板,主要有c p u $ 3 c 2 4 1 0 ,内存6 4 m ( 1 2 8 m ) ,存储器“m 。 2 引导加载程序( b o o t l o a d e r ) 。本文采用是v i v i ,主要初始化内存及硬件。 3 a n n l i n u x 内核和文件系统,主要是针对$ 3 c 2 4 1 0 嵌入式板的内核和建立 于存储设备f l a s h 上文件系统, 4 用户应用程序,主要是无线g p r s 模块和u s b 图像采集模块应用。 2 1 2 设计步骤 根据系统结构的设计,我们将分以下步骤实现: 1 交叉开发环境的建立 2 嵌入式a n n l i n u x 的移植和裁减 两华人学硕十学位论文 a ) 启动程序b o o t l o a d e r 的实现 b ) 内核的修改与剪裁 c ) 根文件y a f f s 系统的移植与实现 d ) 调试 3 u s b 模块图像数据的采集实现 4 g p r s 模块的驱动,拨号与传输实现 a ) g p r s 模块驱动程序实现 b ) p p p 拨号和数据传输的实现 2 2 开发环境建立【1 3 1 1 1 4 】【1 5 】【l6 l 本文软件丌发环境主要是指a r m 体系结构的交叉编译环境,源代码可从“” 上下载,按照r e a d m e 和m a k e f i l e 文件操作即可,交叉编译软件主要包括: _ a r m l i n u xcc o m p i l e ra n dl i n k e r 编译代码的工具,生成在a l l l 上运行的代码,本文采用是2 9 5 2 版本。 b i nu t i l i t i e s 主要包含一些辅助开发工具,g n u 的链接器l d 、汇编代码编译器 鹪、用来将文件打包重组的a r 等工具。 一g l i b cl i b r a r y 包含编译器使用的c 函数库和针对l i n u x 的线程库。 本文采用的是宿主机+ 目标板的开发模式,宿主机为p c + r e dh a t 9 0 ,目标 板为三星公司的$ 3 c 2 4 1 0 + 嵌入式l i n u x ,版本为2 4 1 8 - r i n k 7 。 宿主机( h o s t ) 一目标板( t a r g e t ) 的开发模式如图2 - 2 示。 f i 9 2 - 2s y s t e md e v e l o p m e n tp a t t e r n 图2 2 系统开发模式 s 两华人学硕十学位论文 2 3 引导装载程序的设计与实王见【1 9 】【2 0 】 引导装载程序( b o o t l o a d e r ) 通常是在硬件上执行的第一段代码,被用作系 统从硬件启动到操作系统启动的过渡,是嵌入式系统中必不可少的一段程序, 它相当于p c 机中的b i o s 和l o a d e r ,用于初始化硬件和启动操作系统。 那么如何将引导装载程序装入没有b i o s 的嵌入式设备上昵? 解决这个问题有两种常规技术:专用软件和微小的引导代码。 l 、专用软件 专用软件可以直接与远程系统上的闪存设备进行交互并将引导装载程序 安装在闪存的给定位雹中。闪存设备是与存储设备功能类似的特殊芯片,而 且它们能持久存储信息,即在重新引导时不会擦除其内容,一般通过嵌入式设 备上的j t a g 端口,执行来自主机的指令。 2 、微小的引导代码 某些种类的嵌入式微处理器在出厂时内部r o m 己经固化了一段其微小的 引导代码,它将初始化d r a m 设置并启用串口( 或者是u s b 、以太网端口) 与主 机程序通信。然后,主机程序可以利用用这个将引导装载程序传送到嵌入式 系统上,并将它写入闪存芯片。 将引导装载程序装到目标闪存中,将进行下面的初始化工作: l 、初始化c p u 速度; 2 、初始化内存,包括启用内存库、初始化内存配置寄存器等; 3 、初始化串行端口: 4 、初始化网络接口: 5 、启用指令数据高速缓存: 6 、设置堆栈指针; 7 、设置参数区域并构造参数结构和标记( 这是为了内核在标识根设备,页 面大小,内存大小以及更多内容时要使用引导参数) ; 8 、执行p o s t ( j j f l 电自检) 来标识存在的设备并报告任何问题: 9 、为电源管理提供挂起恢复支持。 最后,等待准备接收来自主机命令、内核和文件系统。 9 荫华人学硕十学位论文 本系统所采用的b o o t l o a d e r 是v i v i ,来自韩国m i z i 公司,源代码完全开放, 可在上下载,其文件组织如下: a r c h 存放与平台相关的代码,主要是系统启动时的汇编代码; i n c l u d e 存放的是系统的头文件; d r i v e r 存放的是f l a s h 和串口等的读写操作程序; 1 i b 提供了整个v i v i 所共用的库函数; s a d 提供配置界面的程序; u t i l n a n df l a s h 操作的相关程序; d o c u m e n t i o n 文件的说明; 2 3 iv i 启动过程分析 v i v i 的实现依赖于c p u 的体系结构,根据本文所采用a r m 9 体系结 构,分为s t a g e l 和s t a g e 2 两大部分。 v i v i 的s t a g e l 主要硬件初始化的代码,用汇编语言来实现的,在h e a d s 程序中完成。 运行步骤: ( 1 ) 关闭w a t c hd o g ,每次上电后,w a t c hd o g 默认是开着的: ( 2 ) 禁止所有中断; ( 3 ) 初始化系统时钟:使f c l k = 2 0 0 m h z , h c l k = 10 0 m i l z , p c l k = 5 0 m h z ,启 动m p l l ,并将“c p ub u sm o d e ”改为“a s y n c h r o n o u sb u sm o d e : ( 4 ) 初始化内存控制寄存器,包括设置系统的内存控制器以及各内存控制寄 存器等; ( 5 ) 检查是否从掉电模式唤醒,若是,则调用w a k e u p s t a r t 函数进行处理; ( 6 ) 点亮所有l e d ,通过g p i o 来驱动l e d ,其目的是表明系统的状态是 0 k 还是e r r o r : ( 7 ) 初始化u a r t o ; a 设置g p i o ,选择u a r t o 使用的引脚; b 初始化u a r t ot 作方式、波特率、奇偶检验位等 ( 8 ) 将v i v i 所有代码从n a n df l a s h ( c i j 存) 复制到内存( s d r a m ) ; 1 0 两华人学硕十学位论文 a 设置n a n df l a s h 控制寄存器: b 设置堆栈指针; c 设置调用的函数n a n dr e a d 的参数:s d r a m , n a n df l a s h 的地址; d 调用n a n d _ r e a d 进行复制; e 进行一些检查工作:上电后n a n df l a s h 最开始的4 k 代码被自动复制到 一个“s t e p p i n n s t o n e 的内部r a m 中( 地址为o x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 1 0 0 0 ) ,在 执行n a n d _ r e a d 之后,这4 k 代码同样被复制到s d r a m 中( 地址为 o x 3 3 f 0 0 0 0 0 o x 3 3 f 0 1 0 0 0 ) ,比较这两处的4 k 代码,如果不同则表示出错 ( 9 ) 黟6 到b o o t l o a d e r 的s 1 a g e 2 运行。 2 v i v i 的s a t g e 2 在m a i n c 程序中完成,主要用c 语言实现。 运行步骤: ( 1 ) 调用r e s e t _ h a n d l e r ( ) 函数,用于将内存清零,代码; r e s e t _ h a n d l e r ! ( v o i d ) i n tp r e s s e d ; p r e s s e d 2 i s _ p r e s s e d _ p w _ b t n ( ) ; i f ( p r e s s e d p w b j r e s sl e v e l ) d p 砌n t k ( ” l r di 也s e l 、舳”) : h a r d _ r e s e t _ h a n d l e ( ) :,清空内存+ ) e l s e d p r i n t kc s o f tr e s e t x f i n ”) ; s o f tr e s e th a n d l e ( ) ;空函数 ) ( 2 ) 调用b o a r d _ i n i t ( ) 函数,用于初始化定时器和设置各g p i o 引脚功能; i n tb o a r d _ i n i t ( v o i m h i t _ t i m e ( ) :设置寄存器t c f g o = o x f o o s e t _ g p i o s ( ) ;选择g p a 4 3 p h 端口各引脚的功能设真外部中断源寄存器 r e t l l r l l0 : 两华犬学硕十学位论文 ( 3 ) 建立页表和启动m m u ; 其中m e m _ m a p _ i n i t 函数用于建立页表,v i v i 使用段式页表,只需要一级页 表,调用函数f i b _ i n v a l i d a t e ( ) 是无效快表,m e m _ m a p _ n a n d _ b o o t ( ) 建立页表 e a e h e _ _ e l e a n _ i n v a l i d a t e ( 1 :清空c a c h e 。 ( 4 ) 调用h e a p _ i n i k ) 函数: 在s d r a m 中指定了一块1 m 大小的内存作为h e a p ( 起始地址 h e a pb a s e = o x 3 3 e 0 0 0 0 0 ) ,并在h c a p 的开头定义了一个数据结构 b l o c k h e a d 。 ( 5 ) 调用m t d d e v i n i t ( ) 函数: 用来扫描所使用的n a n df l a s h 的型号,构造m t d 设备。 ( 6 ) 调用i n i t _ p r i v _ d a t a ( ) 函数: 此函数将启动内核的命令参数取出,存放在内存特定的位置中。 ( 7 ) 调用m i s t ( ) 和i n i t _ b u i l t i n c m d s ( ) 函数: 调用a d de o r r t m a n d 函数,给一些命令增加相应的处理函数 ( 8 ) 调用b o o t o r v i v i ( ) 函数,进入与用户进行交互的界面或者自接启动l i n n x 内核。 i n tm a i n ( i n ta r g c ,c h a r + a r g v ) 、 i mr e t ; r e s e t _ h a n d l e r ( ) ; r e t = b o a r d _ i n i t ( ) ; m e m _ m a p _ i n i t ( ) ;m m u m m u _ i n i t ( ) ; r e t = h e a p _ i n i t ( ) ;h e a pa r e ai n i t i a l l e t = m t dd e vi n i t ( ) ;,初始化个m t d 设备n a n d f l a s h i n i tp f i v _ d a t a ( ) ;,将启动内核的命令参数存放在内存位置中 m i s t ( ) ; 两华大学硕十学位论文 i n i t _ b u i l t i n _ c m d s ( ) ;命令参数的初始 b o o t _ o r _ v i v i ( ) ;进入启动内核 r e t l l r no : v 1 1 f iv e r s i o n8 1 ( r o o t 町o c a l h o s t 1 0 c a l d o m a i n ) p c cv e r s i o n2 钙22 8 8 8 0 5 描( r e e a s e ) r e b e lc a m ”帕1 四6 月11 7 :8 9 :8 1c s t2 8 8 6 x m ut a b l eb a s ea d d r e s s - 队3 3 d f c 明日 s u c c e e d 肿e o r pe a p p i n g c o u l dn o tf o u n ds t o r e d v i v io a r e n e t o r s u s ed e f 舢l tv i v ip a r a m e t e r s e o p r e s s r e t u r nt os t a r tt h el i n u xd o w a n yo t h e rk e p f o rv i v i t v a f f s c o p p1 i n u xk o r n e lf r o 8 x 8 8 8 3 8 8 0 8t o8 x 3 8 8 8 8 8 8 8 ,s i z e - 8 x 8 8 1 c 8 8 8 8 d 甜侍ll 秘 z l m a g ee a o i c h 8 1 6 f 捣1 8 l e a s e ) 【r e b s e t u pl i n u xp a r a m e t e r sa t 白x 加8 0 8 1 0 82 8 8 6 1 i n u xc o m m a n d1 i n ei s :”n o i n i t r dr o o t = l d o v l e t d b l o c k l 3i n i t - l i n u m - cc o r 籼l e - t i 熟鲤。q d m e e o w e a p p i n o f i 啦3v 1 v ib o o tl o a d e rd i s p l a y 图2 - 3v i v i 启动代码显示 2 4 内核设计与实现【l 】【8 】【1 5 】【6 1 1 7 1 1 8 】1 2 5 1 a r m - l i n u x 内核作为系统的核心,负责管理系统的进程、内存、设备驱 动程序、文件系统和网络系统t c p ,m 网络等的支持与实现,是模块化的机制, 决定着系统的各种性能,可以配置和建立自己的内核。 a r m l i n u x 内核编译的主要步骤: i 、安装内核源代码 本文所采用的l i n u x 2 4 1 8 r m k 7 t a r g z ,是基于2 4 1 8 内核和r m k 7 补丁, 将其拷贝至l l s r c a r m 目录下,利用下面的命令将其解压缩到当前目录: t a r x z v f l i n u x 2 4 1 8 - r m k 7 t a r g z 解压缩完毕之后,a r m l i n u x 源代码目录为s r c a r m l i n u x - 2 4 1 8 ,然后设 置内核源代码目录下的m a k e f i l e 文件,主要设置两个地方:a r c h 和c r o s s c o m p i l e d a r c h := a r m ;表示目标板为a r m c r o s s 交叉编译工具的地址,本文安装路径为_compile; u s r a r m 2 9 5 2 b i n a r m 1 i n u x 两华大学硕+ 学位论文 i i 、配置内核 由于a r m l i n u x 内核采用模块化的组织结构,因此可以根据自身硬件的 实际情况来增减内核的功能模块。另外,内核代码在系统运行时会常驻内 存,而且减少内核中不必要的功能模块,可以减少系统的漏洞,从而可以获 得更多的用户内存空间,大大提高系统的运行速度,增加系统的稳定性和可 靠性。 m a k em e n u c o n f i g :进入菜单配置界面,根据本文设计,配置如图2 4 示。 、编译内核 m a k ed e p e n d :读取上一步配置过程生成的配置文件,来创建对应于配置的 依赖关系树,从而决定哪紫需要编译而哪些不需要; m a k ec l e a n :删除前面步骤留下的文件,避免在编译过程中出错; m a k e :编译内核。 、建立内核映像 m a k e z l m a g e 生成的内核代码z l m a g e 在目录、a r c h x a r m b o o t 下,约6 0 0 k b 。 两华大学硕十学位论文 f i 9 2 - 4k e r n e lc o n f i g u r eo p t i o n s 图2 4 内核配置选项 2 5 文件系统y a f f s 的移植与实现【2 1 1 【2 2 1 1 2 3 】 2 5

温馨提示

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

评论

0/150

提交评论