




已阅读5页,还剩62页未读, 继续免费阅读
(信号与信息处理专业论文)基于xscale的面向移动视频信息处理的嵌入式平台的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名: 煎选垄 日 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:恕i 塾蕉导师签名:论文作者签名:池! 塾蹩导师签名:日期:一印哆艿 山东大学硕士学位论文 摘要 随着嵌入式技术的迅猛发展,人们对嵌入式产品的需求越来越大,其中对移 动视频信息处理设备的需求尤为突出,但是目前的嵌入式开发平台都以教学为目 的,没有针对应用的产品开发平台,因此本文在现有的硬件基础上,研究了一种 面向应用的嵌入式开发平台,以适应移动视频信息处理产品的开发需求。 本文针对移动视频信息处理的开发需求,在基于x s c a l e l 2 】的硬件平台 u p t e c h p x a 2 7 0 上,设计了一套完整的、面向应用的视频采集、压缩与传输系 统,该系统以嵌入式l i n u x 操作系统为平台,又分为视频采集、视频压缩、视频传 输三个子系统。因此,本文的研究工作分为以下几个内容: 在u p t e c h p 心7 0 硬件平台上移植l i l l u x 操作系统。操作系统的移植包括 b o o t l o a d e r 移植、l i n u x 2 6 2 内核移植、文件系统移植以及交叉编译环境的建立。这 是整个研究的基础部分,只有建立好了稳定的系统与开发环境我们才可以进行更 深入的研究工作。 基于o v 5 1 l 【4 】的视频采集系统。该系统由硬件和软件两部分组成,硬件部分丰 要是基于o v 5 1 l 芯片的u s b 摄像头和l c d 液晶显示屏,软件部分则是相关的驱动 程序、视频采集模块( v 4 l ) 、视频显示模块、视频存储程序。 基于h 2 6 3 【1 1 的视频编码系统。h 2 6 3 标准是i t u 在1 9 9 4 年提出的面向网络视 频传输的新一代视频编码标准,在网络视频传输和电话会议等领域有广泛的应用。 本文设计的视频编码系统采用h 2 6 3 视频编码标准,对视频采集系统所采集的视 频数据进行压缩,从而有效的支持视频数据的存储与传输。 基于u d p 的网络传输系统。该系统采用面向无链接的u d p 协议,可将数据 从嵌入式平台传输到p c 机上,从而有效的支持嵌入式平台和p c 机的数据交换。 在本文中,该系统丰要用途是将采集的视频数据传输到p c 机上。 这三个子系统是移动视频信息处理设备所必须具备的基本功能,也是本文的 山东大学硕士学位论文 主要研究内容,他们可以大大方便嵌入式开发人员的工作,有效地支持移动视频 信息处理设备的开发。 最后,作者在目前工作的基础上,提出了今后的目标和研究方向。 关键词:p 也7 0 【3 1 、嵌入式l i n u ) 【、o v 5 l l 、h 2 6 3 、u d p 协议 山东大学硕士学位论文 a b s t r a c t o n g 埘t l lt l l er a p i dd e v e l 叩r r m l to f 伽1 b 酣d e d 慨h n o l o g y t h ep e o p l ea r eg e t t i l l g b i g g e ra n db i g g e rd 锄觚dt 0t l l e 锄b e d d e dp r o d u c t ,e s p e c i a l l yf o rt l l em o b i l ev i d i i l f o 肌a t i o nh 锄d l i n gc q u i p m t b 此m ec u 玎m te m b e d d e dd e v e l o p m tp l a t f b mta :k e 廿l et e a c h j n g 笛ag o a l ,n o tf 0 rm ep u r p 0 o f t t l ea p p l i c a t i o n i n 也i sp a p o nt 1 1 eb 嬲i s o fe x i s t i n gh a r d w a 鸭、eh a v es t u d i e d 觚a p p l i c a t i o n 帕r i e n t e d 锄b c d d e dd e v e l o p m c n t p l a t f 0 咖f o rm ed e v c l o p m to fm 0 _ b i l ev i d e oi n f 0 肋a t i o np r o c 懿s i i l ge q u i p m e n t i nt l l i sp a p f o rm en e e do fm o b i l ev i d e 0 砌- 0 m a t i o np 眦c s s i l l gd e v e l o p m e n t , w e d e s i g n e d 锄印p l i c a t i o n 嘶印t c dv i d e 0c a p t u r e ,c o m p r e s s i o n 锄dt r a n s 觚s s i o n s y s t e mo nt h eu p t e c h p ) 乙地7 0h a r d w a r ep i a t f 0 册b a s e do nx s c a l e b 嬲e d0 n c i i l b e d d e dl i i l u x 叩e r a t i n gs ) r s t e i i l ,t 1 1 es y s t 锄i sd i v i d e di i l t on l i 优s u b s y s t e i l l s ,l e ya r e v i d e 0c a p t u r e ,v i d e 0c o m p r e s s i o i l ,v i d c 0t r 锄s m i s s i o n t h e r e f o r e ,t i l es t u d yo fm ep a p e r a sf o u o w s : t r a n s p l a i l tl i n u ) 【叩e r a t i n gs y s t 锄t 0u p - t e c h p x a 2 7 0h a r d w a r ep l a t f o 肌 o p e r a t i n gs y s t e m s 缸锄s p l a n t 协c l u d i n gt l l eb o o t l o a d e r 仃锄s p l a n t ,l i n m 晓6 2k e m e l 仃锄s p l a l l t ,f i l es y s t 锄t 舳s p l a l l t 锄dt h ee s t a _ b l i s l l i _ n e n to fc r o s s - c o m p i l e r 锄v i r o n i l l e n t , 1 1 h j si st 1 1 eb a s i sp a r to ft h er e s e a r c h ,w ec a i l tc a r 巧o nm o r ei n - d 印mr e s e a r c hu n t i lt h e s t a b l es y s t 锄a n dd e v e l o p m e l l te 廊m e l l th a v eb e e i lb u i l d t h eo v 51 1 - b a s e dv i d e 0c a p t u r es y s t 锄t h es y s t e mc o i l s i s t so fh a r d w a r ea n d s o 脚a r e ,t l l eh a r d w a r ei n c l u d e st 1 1 eu s bc 锄e mb 器e do nt h eo v 51lc h i pa n dl c d ,t h e s o f t w a r ei n c l u d e sr e l a t e ds o f t w a r ed r i v e r s ,v i d e 0c 印t u r em o d u l e ( v 4 l ) ,v i d e 0d i s p l a y m o d u i ea n dv i d e os t o r a g ep r o 鲫n m e t h eh 2 6 3 - b a s e dv i d e 0c o d i n gs y s t e m t l l eh 2 6 3s 伽讨矾i s 也ea e wg e n 洲0 n o fv i d c oc o d i n gs t a n i i a r df o rn l ev i d e on 酶釉r k 咖s m i s s i o nb r o u 曲tf 0 刑a r db yi t ui i l l9 9 4 ,i th a saw i d er a j l g eo fa p p l i c a t i o n si i lv i d 。0n e m o r k 船m s 商s s i o n ,t e l 印h o n e m e e t i n g s 锄do t l l e rf i e l d s 1 1 1m i sp a p e r t h ev i i i e oc o d m gs y s t e mc o m p r c s s e st 1 1 ev i d e 0 3 山东大学硕士学位论文 纰c a p t u r c db yt h ev i d e oc 印t u r cs y s t e m 谢l l eh 2 6 3s t 觚d a r d ,e 伍e c t i v e l ys u p p o r t v i d e 0d a t as t o m g e a n d 仇删s s i o n 1 1 1 eu d p - b 弱e dn e t w o r k 咖s i n i s s i o ns y s t e m 1 ks y 殴锄昀璐枷t st h ed a :c a 劬m t h ee i i l b e d d e dp l a t f 0 册t om ep cw i t l lu d p p r o t o c o l ,e 脓t i v d ys u p p o r td a t a 懿c h 觚g e b 帆m e 锄b e d d e dp l a t f o m 锄dp c i i lt h i sa r t i c l e ,也em 血w o r ko f m es y 咖ni s 呦s m i t i i l gm ev i d e od a t ac a p r u t e db y t l l ec a p t u 】r es y s t e mt 0t i l ep c t h e s e m 吼l b s ) 哑锄sa r eb 船i c 劬c t i o n so ft h em o b i l ev i d i 1 1 f o n n a t i o n h 砒l d l i n ge q m p m e n t ,a r e a i s 0m a i nc o n t 饥to ft h j sa n i c l e ,m e yc a ng r e a 廿y 南c i l i t a l et h e w o r ko f 伽n b e d d e dd e v e l o p m e n ta n ds u p p o r tm em o b i l ev i d i 0 珊a t i o nt 姗d l i n g e q u i p m e n td e v e l o p m e n te a e c t i v e l y f i n a l l y ,t i 圮a u t h 甜p i i tf o r w a r d 吐i eo 场e c t i v 嚣a r i df h t u 咒r e a r c hd i r e c t i o n sb 勰e d o nc u n n tw o r k 4 k e yw o r d :p 地7 0 ,e m b e d e dl m u ) 【,o v 5l l ,h 2 6 3 ,u d pp r o t o c o l 山东大学硕士学位论文 第一章绪论帚一早强。化 在过去的几年里,嵌入式技术的推广和应用得到了飞速的发展,它们已经成 为了目前电子信息领域最为热门的实用技术之一,已经广泛的应用于消费电子、 无线网络、工业控制、移动通讯和军事国防等各个领域。 1 1 课题背景及意义 随着嵌入式技术的迅速发展,人们对手机、p d a 等便携式电子产品提出更高 的要求,除了能够满足基本的电话功能外,还希望能够提供更多、更高级的移动 多媒体功能,例如:交通实况、票务预订等实时信息的查询;高质量的音乐点播、 视频播放等。因此,高度清晰的视频图像、智能化的l c d 显示、安全的信息存储 和传输必将成为未来的移动多媒体信息处理设备所必须具备的基本功能,这就为 移动视频信息处理产品的开发提出了更高的要求。同时,由于能够提供符合q o s 要求的更高速数据业务,第三代( 3 g ) 移动通信技术能够非常好的支持移动视频 电话等移动多媒体信息传递业务,因此移动视频业务已经成为未来3 g 的代表型性 增值业务,通过移动视频业务的推广应用,会促进3 g 网络的进一步发展。 但是,现有的嵌入式开发平台的软,硬件结构比较单一,功能很不完善,仅 仅提供最基本开发工具,更没有专门针对移动视频信息处理设备的开发平台,因 此,移动视频信息处理设备的开发过程必须从最底层做起,浪费了大量的时间和 精力。 面向移动视频信息处理的嵌入式平台的研究就是:在接入丰富的外围接口的 硬件基础上,设计一款集视频算法、系统功能实现于一体的知识型创新平台,为 移动、便携式手持设备开发商提供一个方便、快捷的开发环境。 1 2 嵌入式系统介绍 嵌入式系统是把计算机直接嵌入到应用系统之中,它融合了计算机软硬技术、 山东大学硕士学位论文 通信技术和半导体微电子技术,是信息技术的最终产品。 嵌入式系统早期主要应用与军事及航空、航天等领域,以后逐步广泛地应用 于工业控制、仪器仪表、汽车电子、通信和家用消费类等领域。随着i i l t e m 烈的发 展,新型的嵌入式系统正朝着信息家电和3 c 产品方向发展。 嵌入式系统采用量体裁衣的方式把所需的功能嵌入到各种应用系统中,它是 由嵌入式处理器、嵌入式操作系统和嵌入式应用软件组成。 嵌入式处理器 嵌入式处理器是嵌入式系统的核心,任何微处理器u 或微控制器m c u ( 即 常称的单片机) 都可以做嵌入式系统的核。对于新型的嵌入式系统的核,要求其 处理速度快,存储容量大,i o 功能强,功率损耗低以及实时响应快等。x 8 6 微处 理器是最早用于嵌入式系统的微处理器,其具有开发方便和移植容易等有点,但 是其体积大、功耗高等不足也给其带来应用的局限;d s p 也常用作嵌入式处理器, 它具有数字信号处理能力强的特点,特别适合于声音、图像等多媒体信息处理系 统,但是d s p 存在常规处理能力不强、寻址范围有限、i o 能力弱等不足,很少单 独作为嵌入式系统的核,而是作为新型嵌入式系统的一个组成部分。目前市场上 常用的嵌入式处理器是对s c 型处理器,它具有结构简单、处理速度快和处理功能 强等优点。在r s i c 处理器中,应用最广泛的就是删公司的a r m 架构的微处 理器。a r m 公司只研究处理器内核,其芯片的牛产权交给各大半导体公司,由这 些公司在处理器内核基础上进行设计,嵌入各种外围处理部件,形成各种嵌入式 微处理器和微控制器。 嵌入式操作系统 嵌入式操作系统也是嵌入式系统的核心之一。嵌入式操作系统具有编码体积 小、面向应用、可裁剪和移植、实时性强、可靠性高等特点,甘前嵌入式操作系 统的种类繁多,他们大部分都是为专有系统而开发,其中著名的操作系统有: w i n d o wc e 、q n x 、嵌入式l i l l u ) 【l o 】和v x w b r k s 等。 嵌入式应用软件 嵌入式应用软件是针对特定的实际专业领域的,基于相应的嵌入式硬件平台 的,并能完成用户预期任务的计算机软件【5 1 。有些嵌入式应用软件需要嵌入式操作 6 山东大学硕士学位论文 系统的支持,但在简单的应用场合下不需要专门的操作系统。嵌入式应用对成本 十分敏感,应除了精简每个硬件单元的成本外,尽可能减少嵌入式应用软件资源 消耗,要求嵌入式应用软件不但保证准确性、安全性、稳定性,还要尽可能地优 化。 1 3x s c a i e 的架构分析 本研究所使用的微处理器芯片是p 嘘7 0 ,它是一款基于x s c a l e 架构的嵌入式 微处理器芯片,本节将对x s c a l e 的体系结构做详细的介绍。 英特尔x s c a l e 体系结构如图1 1 所示,它是采用i n t e lp 朗t i 哪技术实现的删 兼容的嵌入式微处理器架构,并对删体系结构进行了增强,具有业界领先的高 性能和低功耗特性,被广泛应用于消费电子、无线通信、多媒体和网络交换等嵌 入式应用领域。x s c a l e 引入了一系列高性能微处理器的设计技术,总体性能显著 地超出同主频的a r m 微处理器。 塑曼! 哕 3 2 ko r1 6 k b y - t e s 3 2 - t ar a m 2 8 ko r1 2 kb y t e s 图1 1x s c a l e 系统架构 x s c a l e 微架构引入了p e n t i 啪处理器工艺和系统结构技术,实现了p e n t i 啪微 处理器体系结构的一系列高性能技术,达到了高性能、低功耗和小体积等嵌入式 系统要求的特性。 山东大学硕士学位论文 ( 1 ) 超流水线 如图l - 2 所示,x s c a l e 的超流水线( s u p e r p 耻l 岫) 技术,由整数处理( 缸e g e r ) 、 乘加( m a c ) 和存储( m 锄o q ) 3 条流水线组成。3 条流水线的长度是6 到9 段, 前4 到5 段共享,后面分支部分并行工作可有效提高处理器性能。 存储器流水线 图1 2x s c a l e 流水线 ( 2 ) 高主频 采用p e i l t i 岫工艺技术,x s c a j e 主频可以超出普通删微处理器丰频数倍, 在保持较低能量消耗的前提下,高达6 0 0 m h z 以上。如p 心7 0 的主频可高达 7 2 4 m h z 。 ( 3 ) 存储体系 x s c a l e 实现了一个高效的存储器体系结构,为其超流水线的高效运行提供数 据资源。x s c a l e 存储体系功能丰要包括3 2 k bd c a c h e 、3 2 k bi c a c h e 、2 k bm i n j d c a c h e 、f i l lb u 腩r s 、锄d i n gb u 肫r s 以及4 8 g b s 带宽的存储总线,使处理器可以 高效访问存储器。 ( 4 ) 分支预测 x s c a l e 实现了基于统计分析的分支预测功能部件,减少由于分支转移冲刷指 山东大学硕士学位论文 令流水线的次数,也有效地提高了处理器的性能。 ( 5 ) 指令集体系结构 针对删数据处理能力的不足,x s c a l e 对删的乘力f 】逻辑进行了增强, 增加了8 条d s p 指令。x s c a l e 处理器还可集成f l a s h 闪存和无线m m x 逻辑功能。 这些特性有效地提高了x s c a l e 数据处理能力。带有无线m 伍x 的p x 舵7 x 在 3 1 2 m h z 主频运行处理多媒体应用时,其性能与5 2 0 m h za r m 处理器相当。 ( 6 ) 省去不常用的逻辑功能 为了节省处理器芯片体积和降低运行功耗,x s c a l e 体系结构没有实现昂贵的 浮点运算部件和除法部件。这些是嵌入式应用中不常用的运算。当需要这类运算 时,可以通过软件方法实现。 1 4 嵌入式系统硬件平台介绍 本文所使用的硬件平台是u p t e c hp 心7 0 a ,u p t e c hp 嘘7 0 a 是博创公 司推出的基于i n t c lx s c a l e 架构的高端嵌入式系统教学平台,它采用基于x s c a l e 架构最新的p 心7 0 嵌入式微处理器,其丰频稳定运行在5 2 0 m h z ,同时还具有丰 富的外围接口和比较完善的硬件结构,能够满足移动视频信息处理平台的仿真要 求,如图1 3 所示。 硬件体系结构由两部分组成:p x a 2 7 0 核心板和外围接口部件。p ) 乙嘘7 0 核心 板由微处理器芯片p 心7 0 、f l a s h 芯片( n a n d 和n o r 各一片) 、内存s d 删、 l c d 构成:外围接口部件包括以太网接口、u s b 接口、s d 卡接口、i d e 接口、 c f 卡接口等。 9 山东大学硕士学位论文 1 5h 2 6 3 标准介绍 图1 3 硬件体系结构框图 h 2 6 3 标准是本文设计的视频压缩系统所采用的标准,本节将对h 2 6 3 标准的 发展过程及特点做详细的介绍 1 5 1h 2 6 3 的发展历程 h 2 6 3 是h 2 6 l 【6 1 的加强版,诞生于1 9 9 4 年的r r u ,比m p e g l 晚一些 出现,并且基于m p e g 1 【7 】而发展。 h 2 6 l 的视频编码标准出现在1 9 9 0 年的i t u ,是为i s d n 而设计的,主要针 对实时编码和解码设计,压缩和解压缩的信号延时不超过1 5 0 m s ,码率为 p 宰6 4 k b p s ( p = l 3 0 ) 。h 2 6 l 标准丰要采用运动补偿的帧间预测、d c t 变换、自适应 量化、熵编码等压缩技术,只有i 帧和p 帧,没有b 帧,运动估计精度只精确到 像素级。支持两种图像扫描格式:q c i f 和c i f 。 h 2 6 3 标准是甚低码率的图像编码国际标准,它一方面以h 2 6 l 为基础,以混 合编码为核心,其基本原理框图和h 2 6 l 十分相似,原始数据和码流组织也相似; 1 0 山东大学硕士学位论文 另一方面,h 2 6 3 也吸收了m p e g 等其它一些国际标准中有效、合理的部分,如: 半像素精度的运动估计、p b 帧预测等,使它性能优于h 2 6 l 。 1 5 2h 2 6 3 的特点及用途 h 2 6 3 使用的位率可小于“k s ,且传输比特率可变,共支持五种不同的分辨 率,如表1 1 所示 格式分辨牢 s u b q c i f 1 2 8 x 9 6 q c i f 1 7 6 x 1 4 4 c i f3 5 2 x 2 8 8 4 c i f7 0 4 x 5 7 6 1 6 c i f1 4 0 8 x l l 5 2 表1 1 新的h 2 6 3 经过不断地完善和多达9 次的升级已经日臻成熟,如今已经大部分 代替了h 2 6 1 ,而且h 2 6 3 由于能在低带宽上传输高品质的视频流而日益受到欢迎, 尤其是对i t 符理员们来说,由于h 2 6 3 的应用而提高了带宽,降低了存储成本, 而且对正在网络上运行的其他重要语音和数据应用不会形成干扰,所以会倍感轻 松。另外,h 2 6 3 算法也能根据不同的条件而被修改,以达到更好的压缩效果,对 用户而言,这也给他们更大的选择空间以满足其不同的商业应用需求。 1 6 主要研究工作 本文的主要研究工作是在接入丰富的外围接口的硬件基础上,设计一款集视 频算法、系统功能实现于一体的知识型创新平台,为移动、便携式于持设备开发 商提供个方便、快捷的开发环境 根据以上的研究内容,论文的章节安排如下: 第一章绪论。介绍课题的背景与意义以及与本文研究内容相关的一些基 础知识。 第二章嵌入式操作系统移植。介绍如何把l i n l l ) 【操作系统移植到本研究所 山东大学硕士学位论文 使用的硬件平台上,操作系统的移植包括b 0 0 u o a d e r 移植、 l 眦6 2 内核移植、文件系统移植以及交叉编译环境的建立。 第三章视频采集系统设计。该系统由硬件和软件两部分组成,硬件部分主 要是基于o v 5 1 1 芯片的呦摄像头和l c d 液晶显示屏,软件部分 则是相关的驱动程序、视频采集模块( v 4 l ) 、视频显示模块、视 频存储程序。 第四章网络传输系统设计。该系统采用面向无链接的u d p 协议,可将数 据从嵌入式平台传输到p c 机上,从而有效的支持嵌入式平台和 p c 机的数据交换。在本文中,该系统主要用途是将采集的视频数 据传输到p c 机上 第五章h 2 6 3 视频编码算法的实现与优化。在嵌入式l i i l u x 平台上设计一 个h 2 6 3 编码器,对视频采集系统所采集的视频数据进行压缩, 从而有效的支持视频数据的存储与传输。 第六章总结与展望。总结本论文工作,探讨进一步的研究方向 山东大学硕士学位论文 第二章嵌入式操作系统的移植 本章将介绍如何把l i f l l i x 操作系统移植到硬件平台上,操作系统的移植是一个 复杂的过程,主要包括三方面的内容:b o o t l o a d e r 的移植、l i l l u x 2 6 2 内核的移植、 嵌入式文件系统的构建。 2 1 嵌入式b o o t i o a d e r 的移植 对于计算机系统来说,从开机上电到操作系统启动需要一个引导过程。嵌入 式l i l l u ) 【系统同样离不开引导程序,这个引导程序就叫作b 0 0 o a d e r 。 2 1 1 什么是b o o t i 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 是建立在硬件基础之上的,具体表现在:对c p u 体系结构和具体得 嵌入式板极设备的依赖。在嵌入式领域,有上百种处理器芯片,每种处理器芯片 又有不同的型号,以处理器芯片为基础的嵌入式电路板,更是数不胜数,因此建 立一个通用的b 0 0 t l o a d 几乎不可能。但是我们可以根据嵌入式领域的设计特点, 构建出一个通用架构,对于不同的嵌入式硬件结构,只需要修改相应的定制文件, 就可以牛成适合这个硬件的b o o t l o a d e r 。 常用的b o o t l o a d e r 有两种:u - b o o t 和b l o b ,本平台采用的是b l o b ,b l o b 支持多 种c p u ,包括鼢1 1 0 0 ,s a l l l 0 ,p x a 2 5 5 【8 1 ,p x a 2 7 0 等,用户可以根据目标板的特性 进行定制,它能实现以下功能: 1 引导嵌入式l i i l u ) 【,把l m x 、k e m e l 等从n a s h 中l o a d 到r 锄中执行 2 命令行下在线更新b l o b 、k e n l e l 和r 锄d i s k 。 3 命令行下可以直接对物理寻址空间进行查看和修改。 4 对于嵌入式开发前期,b l o b 是一个非常有效的工具 山东大学硕士学位论文 2 1 2b l o b 的结构 这一节我们将对b l o b 的结构做详细的介绍,首先我们要从网络上下载一份源 码:b 1 0 b 一2 o 5 - p i i e 2 饥g z ,然后把源码解压缩: t a r 殛v fb l o b - 2 o 5 - p r c 2 饥g z 进入解压生成b l o b 2 o 5 p r c 2 目录中,可以看到里面有5 个目录、1 3 个文件, 如表2 一l 和表2 2 所示。 在根目录中,我们可以清楚的发现每个文件夹中都有m a k e f i l e 锄和 m a k e m e i n 文件,m a l ( e f i e l i n 是自动生成的,而根目录下除了那些与源代码不相 关和自动生成的文件外,留下的就是c o n f i g u 鹏她a c c o i l f i g h 。 1 4 文件名作用 a u t h o r s 记载开发者等相关信息 c o p y i n g配置过程中自动生成 c h 锄g e l 0 9 配置过程中自动生成 i n s t a l l配置过程中自动牛成 m a k e f i l e 锄 命令棚t o m a k e 根据它来生成m a l ( e f i l e 血,再由c o n f i g u 鹏 把m a l ( e f i l e i i l 变成最终的m a l ( e f i l e m a k e f i l e i n 自动牛成 n e w s当代码打包发布时用 i 迮a d m e当代码打包发布时用 r e l e a s e n o t e s当代码打包发布时用 a c c o n f i g h 命令硼t o h e a d e r 根据它来牛成c o n f i g h 血,再由o o n f i g u r e 把c o n f i g h i n 变成最终的c o n 6 9 h a c l o c a l m 4自动牛成 c o n f i g u r e 自动生成 c o n f i g u r e i n 这是最重要的文件,整个配置、编译、安装过程都由它来 丰导 表2 1 山东大学硕士学位论文 目录名称功能 d o c 里面的几个饮t 文件是对b l o b 代码的一些基本说明 i i l c l u d e 包含的头文件 s r c 相关的源代码主要集中于此 t o o l s 这个目录用来保存产生的g n ua u t o c o n a u t o m a l 【e 的手册 u t i l s 包含了一些子目录,向b 1 0 b 提供一些好的效用 2 1 3b l o b 启动的两阶段 表2 2 b l o b 目录列表 上面介绍的是b l o b 文件内各个文件的作用以及相互关系,下面我们详细分析 一下b 1 0 b 的肩动过程。 由于b 0 0 tl o a d e r 的实现依赖于c p u 的体系结构,因此大多数b 0 0 tl o a d e r 都分为s t a g e l 和s t a g e 2 两大部分。依赖于c p u 体系结构的代码,比如设备初 始化代码等,通常都放在s t a g e l 中,而且通常都用汇编语言来实现,以达到短小 精悍的目的。而比喀e 2 则通常用c 语言来实现,这样可以实现给复杂的功能,而 且代码会具有更好的可读性和可移植性 1 s t a g e l 的作用 s t a g e l :基本硬件初始化和异常中断处理,并将第二阶段的代码和数据复制到 内存中由汇编语言编写,其执行过程分为以下五步: 1 ) 设置处理器为特权模式( 屏蔽所有中断) ,并初始化各种异常,设置c p u 的 速度和时钟频率。 2 ) 初始化内存和l e d 。 3 ) 检测r 锄,为下一阶段的执行准备内存空间。 4 ) 将第二阶段的代码复制到内存中。 5 ) 设置好堆栈。 6 ) 跳转到第二阶段执行。 山东大学硕士学位论文 2s t a g e 2 的作用 渊:将内核映像拷贝到内存中,由c 语言编写,执行过程为以下三步: 1 ) b b s 段清零。 2 ) 设置堆栈指针,开瓜q 中断。 3 ) 跳转到c 代码的m 血函数入口执行。 a 初始化本阶段用到的硬件设备:串口和计时器等。 b 检测系统的内存映射。 c 加在内核映像和根文件系统映像。 4 ) 调用内核。 2 1 4 根据平台硬件结构定制b i o b 如前面所述,由于嵌入式领域的产品种类繁多,我们不可能建立一个通用的 b 0 0 t l o a d 但是建立一个通用的架构是可行的。在通用的架构基础上,对于不同的 硬件平台,修改相应的文件,就可以生成一个针对具体平台的b o o t l o a d e r ,这是在 b o o t l o a d e r 的移植过程中的丰要工作,也是最重要最困难的工作,在本文中,我们 将对这部分做重点介绍。 b l o b 中包含了一些具体的目标板,但是这些目标板跟本文所使用的硬件平台 都不相符,所以必须根据本平台的具体硬件对b l o b 做相应的修改,这就是所谓的 定制b 1 0 b 。在定制的过程中要参考d o c 1 ) 0 r t i n g 饮t 。 首先要先确定一些信息。目标板的c 和h 文件的名字,还要知道使用的是哪 种印u ,f l a s h 用锄还是i n t e l 的,1 6 位还是3 2 位,还有就是带哪些外设等,这 些都是跟硬件平台相关的。 根据硬件平台介绍我可以得知:c p u 类型是x s c a l e ,用的是i n t e l 的3 2 位f l a l s h , 目标板的名称为m a i n s t o n e 。确定这些后,用v i 命令打开d o c 憎d n i n g 仅t v i d o c p o r t i l l g t x t 然后根据p r o t m g 饮t 的内容定制b l o b ( 1 ) 在c o n f i g u r e i n 中添加硬件平台的相关定义 c 够e $ b o a r dn 锄e ”i l l 1 6 山东大学硕士学位论文 m a i n s t o n e ) b o a r d n 锄e = ”i n t c lm a i m t 0 咀e 竹 a c - - d e f i n e ( m a i n s t o n e ,l ,【眦e lm a i l 舭】) b io bp 乙盯f o r m o b j - ”麟l i n g t o n e o 竹 b l o b j f i a s h 二o b j s = ”s i r a t & o ” d 认g p l 订f o r m o b j = ”m a i n s t o n e o 什 m e m s e t i j p = ”m 印1 s e t u p b v d o ” 姻e - l c d 一”y e s ” ( 2 ) 在a c c o n 矗g h 中添加硬件平台的相关定义 严d e f m ef o r a n i s t o n e 毒 撑u n d e f m a n i s t o n e ( 3 ) 在i i l c l u d e b l o b a r c h h 中添加硬件平台相关的头文件 托l i fd e f i n e dm a i n s t o n e 群i n c l u d e ( 4 ) 添加硬件平台相关的头文件m a 硫t o n e h 和嬲s a b e t h c d i n c l u d e b l o b a r c h c pm a i n s t o n e h c pa s s a b e t h 然后编辑这两个头文件,衄i n s t o n e h 丰要定义与c p u 及外围硬件 相关的寄存器和常量的定义,这个文件非常重要,它定义了整个硬件 平台,而a s s a b e t h 文件是n a s h 和串口初始化的头文件。 ( 5 ) 将硬件名称添加到在人n i l s b u i l 怕u i l d u 利u t i l s b u i l d b u i l d _ m a k e f i l e 文件中的a r c h s 变量中。 ( 6 ) 将硬件相关的源文件添加到s r c b l o b m a k e f i l e 锄文件中的 e x t r ab l o br e s te l f 3 2s o u r c e s 宏变量中。 ( 7 ) 编写相关的m a i n s t o n e c 和硒s a b e t c 源文件,并将这些源文件放 到s r c b l o b 中。 1 7 山东大学硕士学位论文 ( 8 ) 编写内存初始化控制文件m 郇帅- b 诅s 。 ( 9 ) 将体系结构编号添加到眦l u d e b l o m i n 弧h 中。 至此,b 1 0 b 的的定制工作已经完成,可以进行下一步工作。 2 1 5 配置和编译b l o b 1 配置 在配置前,首先要运行t 0 0 i 姗曲u i l d 脚本两次,可以生成各个目录的m a l ( e f i l e i i l 和根目录下的c o n 行g u 岭。配置的过程就是运行c o n f i g u 嘴脚本,后面加入若干参数。 一个典型的配置是这样的: 儿。血g u r c w 池勘聪咖x a h o s 卢i 6 8 6 一饥a b l e x m o d 锄 一e na _ b l e m d 5 w i t l l c o r n m a n d s = u s o d w i t l l 一b o 砌:表示目标板的名字,当然前提是目标板已经在源程序中已经 被定制,在后面介绍如何定制目标板。 一h o s t :表示丰机的c p u 类型,必须设置。 哪! a b l e r n d 5 :表示这个配置牛效,在b 1 0 b 中支持很多设备驱动,通过这种 形式来进行使能,t u 是这个并不是必须的。 一w 汕啪i m 锄d s :u s c d :在c o n f i g u r e 里定义了一个命令组叫做u s e d ,现在要 使用它。 2 编译 c o n f i g u r e 的结果可以牛成m a k e f i l e 文件,编译的过程很简单,我们只需输入 m a l ( e 命令即可,此时牛成的b 1 0 b 是“s 舳l o b b l o b ,把这个二进制文件,通过j t a g 仿真器下载到n a s h 中即可,重肩硬件平台,b l o b 肩动过如图2 一l 所示。 山东大学硕士学位论文 图2 1 2 2 嵌入式i i n u x 操作系统的移植 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系 统的重要组成部分。嵌入式操作系统具有通用操作系统的基本特点,能够有效符 理复杂的系统资源,并且把硬件虚拟化。 从应用角度可分为通用型嵌入式操作系统和专用型嵌入式操作系统。常见的 通用型嵌入式操作系统有l i n u x 、v x w r o r k s 、w i n d o w sc e 等。常用的专用型嵌入 式操作系统有s m a r tp h o n e 、p o c k e tp c 、s v m b i a n 等。 2 2 1 嵌入式i i n u x 操作系统 “n u x 作为一种优秀的f r e e 0 s ,近几年在嵌入式领域异军突起,成为了最有 潜力的嵌入式操作系统。 1 1 i n u x 操作系统的发展历程 最早期的l i n u x 是l i n u st o r v a l d s 于1 9 9 lf f 开始着下进行开发的。最初,o o 1 版本的“n u x 相当简陋,它只具有操作系统内核的勉强的雏形,于是在1 9 9 1 年1 0 月5 号他向世界公布了l i n u x0 0 2 版本。在这个版本中已经可以运行不少的程序 了,其中包括b a s h ( t h eg n ub o u m e a g a i ns h e l l 一一种用户与操作系统内核通讯的 山东大学硕士学位论文 软件) 、g c c ( g 烈uc 编译器) 、g n u m a l 【e 、s e d 、唧r 略s 。 从o 0 2 版以后,越来越多的人参与到该系统的开发工作,所以l i i l l l ) 【的发展越 来越快,是目前市场上唯一可以挑战w i n d o w s 的操作系统,目前比较稳定的版本 是l i n u x 2 6 1 0 。 l i i l u x 是一个支持多用户、多进程、多线程、实时性较好的功能强大而稳定的 操作系统,它可以运行x 8 6 p c 、s u i ls p a r c 、d i g i t a l p h a 、6 8 0 x 0 、p o w e r p c 、m i p s 、 a r m 等平台上,它是目前运行硬件平台最多的操作系统。自从2 0 0 0 年2 月,删h a t 发布了嵌入式l i i l u ) 【的开发环境,l i i l u ) 【在嵌入式行业的潜力逐渐被发掘出来。目前, 在嵌入式行业,它越来越受到各种商家的青睐。在所有的操作系统中,l i i l u x 是一 个发展最快,应用最为广泛的操作系统,l i i l u x 本身的种种特性也使其成为嵌入式 开发的首选。 2 嵌入式l i n u x 的特点 l i n u x 的下面一些特点,决定了它是一个会在嵌入式领域占很大份额的嵌入式 操作系统。 开放性 开放性是指系统遵循世界标准规范,特别是遵循开放系统瓦联国际标准。 多用户 多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资 源有特定的权限,互不影响。 良好的可移植性 l i n u x 是一种可移植的操作系统,能够在从微型计算机到大型计算机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年甘肃省外事办公室下属事业单位真题
- 公司战略创新案例分析试题及答案
- 江苏省扬州市树人学校2025届八年级数学第二学期期末统考模拟试题含解析
- 2024年湖北省肿瘤医院招聘笔试真题
- 音乐教学工作计划
- 计算机二级VB中的反馈与迭代开发题及答案
- 程序员职业素养试题及答案
- 高考作文读者定位与试题及答案
- 信息处理技术员考试概况试题及答案
- 材料力学性能测试温度影响重点基础知识点
- 医院培训课件:《PPD试验》
- 国开电大《应用写作(汉语)》形考任务1-6答案
- 小学生国家文化安全教育
- MOOC 金融学-湖南大学 中国大学慕课答案
- 填写模板-接地装置(含连通或引下线)接头连接记录(表式一)GD3010247
- 城市规划设计计费指导意见(2004年)
- 常见病观察及护理要点
- (高清版)TDT 1059-2020 全民所有土地资源资产核算技术规程
- 成人氧气吸入疗法-中华护理学会团体标准
- 2022年全国统一高考化学试卷和答案解析(全国甲卷)
- 2022年1月上海春季高考英语真题(学生版+解析版+听力音频)
评论
0/150
提交评论