(计算机应用技术专业论文)嵌入式网络视频监控系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)嵌入式网络视频监控系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)嵌入式网络视频监控系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)嵌入式网络视频监控系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)嵌入式网络视频监控系统的研究与实现.pdf_第5页
已阅读5页,还剩75页未读 继续免费阅读

(计算机应用技术专业论文)嵌入式网络视频监控系统的研究与实现.pdf.pdf 免费下载

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

文档简介

江苏大学硕士学位论丈 摘要 作为安防系统的重要组成部分,视频监控系统随着嵌入式技术、多媒体技术、 计算机网络技术的快速发展也在不断地更新与发展。目前新兴的基于嵌入式技术 的网络视频监控系统与传统的视频监控系统相比具有体积小、成本低、稳定性高、 实时性好等优点,具有广阔的发展前景。 本文在综述视频监控发展现状及趋势的基础上,提出了一种基于3 2 位r i s c 处理器的嵌入式网络视频监控方案。方案采用北京亿旗公司的e a x 4 0 0 嵌入式 开发硬件平台,软件实现视频图像的实时采集、压缩和网络传输的功能。 论文着重论述了该视频监控系统的总体设计及具体实现。硬件方面,简要介 绍了a r m 体系结构处理器核的特点和优势及e a x 一4 0 0 的主要部件和相关接口, 给出了e a x 4 0 0 的硬件总体结构。软件方面,实现了嵌入式l i n u x 平台的搭建、 基于v 4 l 的视频采集以及基于优化的x 2 6 4 编码器的视频压缩;在实现视频实时 传输时,设计了简化的r t p r t c p 分组格式,实现了简化r t s p 协议,并优化了 h 2 6 4 的r t p 封装设计,最后建立了嵌入式w e b 服务器,并在连网的p c 机上通 过浏览器完成了对视频监控服务器端的实时视频监控。 关键词:视频监控,嵌入式l i n u x ,v 4 1 ,王 2 6 4 ,r t p r t c p ,嵌入式w e b 服务 器 江苏大学硕士学位论文 a b s t r a c t a sa ni n t e g r a lp a r to fs e c u r i t y & d e f e n s es y s t e m v i d e os u r v e i l l a n c es y s t e mi s s e e i n gar a p i dd e v e l o p m e n tw i t ht h et e c h n o l o g yi n n o v a t i o no fe m b e d d e ds y s t e m , m u l t i m e d i aa n dc o m p u t e rn e t w o r k t h ec u r r e n te m b e d d e d s y s t e mb a s e dn e t w o r k v i d e os u r v e i l l a n c es y s t e mh a sag r e a tp r o s p e c td u et oi t sb e t t e rp o r t a b i l i t y , l o w e r c o s t , h i g h e rs t a b i l i t ya n db e t t e rr e a l - t i m ef e a t u r e ,c o m p a r e d 谢t ht h et r a d i t i o n a lv i d e o s u r v e i l l a n c es y s t e m a tt h eb a s i so fd e s c r i b i n gt h ed e v e l o p m e n ts t a t u sq u oa n dt r e n do fv i d e o s u r v e i l l a n c e ,as o l u t i o no f3 2 b i tr i s cp r o c e s s o rb a s e de m b e d d e dn e t w o r kv i d e o s u r v e i l l a n c eh a sb e e nr a i s e di n t h i sp a p e r i nt h es o l u t i o n ,t h ef u n c t i o no fr e a l t i m e v i d e oc a p t u r e ,e n c o d i n ga n dt r a n s f e rh a sb e e ni m p l e m e n t e do nt h ee a x - 4 0 0 p l a t f o r m , ap r o d u c to fe f l a gc o m p a n yi nb e i ji n g t h ep a p e rs t r e s s e so nt h eo v e r a l ld e s i g na n ds p e c i f i ci m p l e m e n t a t i o no ft h e s y s t e m o nt h ep a r to fh a r d w a r e ,ab r i e fi n t r o d u c t i o no ft h ef e a t u r ea n da d v a n t a g eo f a r ma r c h i t e c t u r ea n dt h eo v e r a l ls t r u c t u r eo fe a x 一4 0 0 ,a sw e l la si t sm a i n c o m p o n e n t ,h a v eb e e nm a d e a n df o rs o f t w a r e ,t h ee m b e d d e ds y s t e md e v e l o p m e n t p l a t f o r mh a sb e e nb u i l t ,o nw h i c ht h ep r o g r a m so fv i d e oc a p t u r eb a s e do nv 4 1a n dt h e v i d e oc o m p r e s s i o nb a s e do no p t i m i z e dx 2 6 4h a v eb e e nd e s i g n e d w h e ni tc o m e st o v i d e ot r a n s f e r , t h es t r u c t u r eo fr t p r t c pp a c k e t sh a v eb e e ns i m p l i f i e d ,s oh a v et h e i m p l e m e n t a t i o no fr t s pa n dt h er t pp a c k e t i z a t i o no fh 2 6 4v i d e o a tl a s t ,a n e m b e d d e dw e bs e v e rh a sb e e np o r t e dt ot h ep l a t f o r mf o rc o n n e c t i o nf r o mt h eb r o w s e r o nt h ew e bc l i e n tt or e a l i z er e a l t i m ev i d e os u r v e i l l a n c e k e y w o r d s :v i d e os u r v e i l l a n c e ,e m b e d d e dl i n u x ,v 4 1 ,h 2 6 4 ,r t p r t c p ,e m b e d d e d w e bs e r v e r 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进 行研究工作所取得的成果。除文中已经注明引用的内容以外,本论文 不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的 研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人 完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期:3 o l9 年易月c ,9 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权江苏大学可以将本学位论文的全部 内容或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 保密口, 在年解密后适用本授权书。 本学位论文属于 不保密凹。 一虢懈 新虢膨殍 签字日期帅年多月澎日 签字日期3 弼b 年6 月【矿日 江苏大学硕士学位论文 1 1 研究的背景和意义 第一章绪论 随着多媒体技术和网络技术的发展,及图像较之其他信息形式的直观性,视 频监控业务得到了广泛的应用。据悉,世博会期间,为全面构建“社会防控体系” 上海就于市区内安装2 0 余万个监控摄像头。社会防控体系只是视频监控的应用 之一,但这足以说明视频监控市场规模之大。市场调查显示,2 0 0 7 年中国网络 视频监控业务市场规模达到2 6 3 6 亿元人民币,预计2 0 11 年达到8 6 6 1 亿元人民 币。未来3 年之内,网络视频监控都将保持约3 8 的年增长率,会有越来越多的 视频监控系统采用完全数字化的技术,特别是在一些行业市场,如交通、城市监 控、工业和零售业等等。此外,以数字化视频监控为基础的智能视频监控技术也 将获得长足的发展i l j 。 视频监控系统主要用于完成现场点的数据采集、处理、实时监控等功能。传 统的视频监控系统采用自动控制技术、计算机技术,并己广泛地应用于工业自动 化、工业控制领域。然而,由于传统的视频监控系统没有或无法解决实时大数据 量处理远程通信等问题,或者其成本等原因,其应用受到很大的限制。随着网络 通讯技术和图像压缩处理技术以及传输技术的快速发展,数字视频通信技术得到 越来越广泛的应用,采用这些先进技术的网络视频监控系统开始逐渐替换传统的 视频监控系统。 然而借助于p c 机来实现的视频监控服务器注定要面临先天的弊端:1 、体积 大,便携性差。2 、电源依赖性强,无法实现自主供电。3 、操作复杂。4 、成本 较高。这对视频监控技术的广泛应用造成了障碍。随着嵌入式技术的不断成熟, 这些问题迎刃而解。借助以太网和i n t e m e t 技术,把嵌入式系统连接至i n t e r n e t 上,就可以方便、低廉的把信息传送到世界的任何一个地方,实现资源的共享, 从而使人们有能力解决以前在极有限的资源下很难解决的问题,为远程网络视频 监控系统的发展提供了有利的条件。由此可见,嵌入式网络视频监控系统必将有 良好的应用和发展前景,由它替代当前普遍应用于p c 的视频远程监控系统己成 为必然趋势。而目前在我国基于嵌入式技术的网络化视频监控系统刚刚起步,所 以对基于嵌入式技术的网络视频监控系统进行研究极具现实意义。 江苏大学硕士学位论文 1 2 视频监控的发展历史及现状 视觉是人类最重要的感觉,也是人类获取信息的主要来源。据统计,在人类 从外界获取的信息中,有7 0 以上来自视觉。图像与其他的信息形式相比,具有 直观、具体、生动等诸多显著的特点。视频监控系统的发展大致经历了三个发展 阶段【2 】【3 】: 1 ) 模拟视频监控系统。 主要是以模拟设备为主的闭路系统,称为第一代监控系统。 2 ) 数字监控系统。 2 0 世纪9 0 年代中期,随着计算机处理能力的提高和视频技术的发展,计算 机的高速数据处理能力被用来进行视频的采集和处理,这大大提高了图像质量, 增强了视频监控能力。此为第二代视频监控系统。 3 ) 网络数字视频监控系统。 2 0 世纪9 0 年代末,随着网络带宽、计算机处理能力和存储容量的迅速提高, 以及各种使用视频信息处理技术的出现,视频监控进入了全数字化得网络时代, 称为第三代视频监控系统。 目前一般远程视频监控系统,其视频数据的解压缩一般基于p c 的视频卡来 完成,这样视频前端比较复杂,价格高昂,所占空间较大,便携性差,不易布控。 新近出现的基于嵌入式视频服务器技术的远程视频监控,由于视频采集前端的高 度一体化,可方便实现广阔区域的布控。系统扩展能力也很强,只要有网络的地 方增加监控点设备就可扩展新的监控点。另外,采用基于嵌入式系统的硬件是一 个处理器和操作系统捆绑紧密、功能专一的独立设备,因此不像插卡系统那样易 受通用计算机系统中其它软硬件的影响,性能上更稳定。 现阶段,嵌入式网络视频监测系统的解决方案主要有以下几种: 1 ) 视频采集芯片+ d s p 处理器。该方案中由视频采集芯片完成图像的预处理, 由d s p 完成图像的编码:基于h 2 6 4 或m p e g 标准的压缩,经以太网网络传输。 方案的主要缺点是控制不够灵活,不适合作系统控制,因为通d s p 通常没有强 大的操作系统。 2 ) d s p 处理器+ 嵌入式处理器。该方案采用由d s p 完成基于h 2 6 4 或m p e g 标准的图像压缩,在嵌入式处理器上运行嵌入式操作系统,( 如嵌入式l i n u x ) 进行系统控制和网络传输。方案的主要缺点是:由于有两个主要的芯片,设计、 调试、使用较难,系统成本偏高。 3 ) 图像采集芯片+ 嵌入式处理器。该方案中,在嵌入式处理器上运行嵌入式 操作系统( 如嵌入式l i n u x ) 进行系统控制和网络传输。方案的主要缺点是缺乏 江苏大学硕士学位论文 强大的图像处理能力,不能满足高实时性要求,但具有开发容易,成本低的优点。 因此,本文采用基于图像采集芯片+ 嵌入式处理的方案来完成嵌入式网络视频监 控系统的实现的。 1 3 论文主要研究工作 1 ) 针对a r mx s c a l ep x a 2 5 5 处理器的e a x 4 0 0 平台设计基于w e b 的网络视 频监控方案。 2 ) 针对e a x 4 0 0 平台,构建嵌入式交叉开发环境,移植l i n u x 2 6 2 7 内核, 创建文件系统。 3 ) 开发l i n u x 下基于v 4 1 的视频采集程序,研究h 2 6 4 编码标准,并针对应 用特点优化编码器。对采集和编码模块采用并发程序设计。 4 ) 研究r t p r t c p 相关协议,简化r t p r t c p 分组的封装,简化实现r t s p 协议,分析h 2 6 4 的网络传输标准,并优化h 2 6 4 的r t p 封装策略,实现视频 传输。 5 ) 构建嵌入式w e b 服务器,通过客户浏览器和视频服务器的交互来实现对 服务器的相关设置,在客户端用浏览器调用v l c 播放器进行系统监控测试。 江苏大学硕士学位论文 第二章嵌入式视频监控系统的总体方案 2 1 嵌入式视频监控系统总体方案 嵌入式视频监控系统应用到了嵌入式技术、视频压缩技术和视频传输技术等 多个方面,一个良好的总体方案设计是系统开发成功的关键。本章根据嵌入式系 统的一般构成,给出了系统设计的总体方案,这包括硬件和软件两个部分。系统 可分为硬件层、b o o t l o a d e r 引导程序、操作系统层、应用软件层,整个系统整体 设计框架如图2 1 所示,最终通过作为视频监控客户端p c 机将能对监控现场实 现实时监控。 图2 - 1 视频监控系统总体设计 2 2 嵌入式视频监控系统硬件 嵌入式微处理器是整个系统的核心,因此首先要确定系统的嵌入式微处理器。 a r m ( a d v a n c e dr i s cm a c h i n e s ) 架构的微处理器具有体积小、低功耗、低成本、 高性能等特点,因而在嵌入式领域得到广泛应用。嵌入式网络监控系统要求能够 实时采集压缩视频数据并通过网络实时传输,数据运算量大对处理器要求高。本 课题使用北京亿旗公司的e a x 4 0 0 嵌入式开发系统为硬件开发平台。e a x 4 0 0 嵌 入式开发系统采用i n t e l 公司x s c a l e 系列的p x a 2 5 5c p u 为核心处理器,这里给出 了与课题相关的硬件,其框图如图2 2 所示。 4 江苏大学硕士学位论文 图2 - 2 系统硬件结构 图中各硬件模块的介绍如下: 1 ) p x a 2 5 5 处理器 英特尔x s c a l ep x a 2 5 5 是基于i n t e lx s c a l e 微体系结构的i n t e lp c a 处理器【4 1 , 具有先进的集成功能、领先的多媒体性能和卓越的节电能力。x s c a l e 呋j 核采用带 有一个增强型存储器管道的超级流水线r i s c 处理器架构的体系结构。这款新型 高性能、低功耗的微构架兼容a r m v s t ei s a 指令集( 不支持浮点指令集) 。这种 微构架在a r m 核的周围提供了指令与数据存储器管理单元,指令、数据和微小 数据c a c h e ,写缓冲、全缓冲、挂起缓冲和分支目标缓冲器,电源管理,性能监 控、调试和j t a g 单元以及协处理器接口,m a c 协处理器和内核存储总线。 p x a 2 5 5 性能比a r m l 0 内核更加优越,频率高达4 0 0 m h z ,内核扩充许多 d s p 指令极大提高了多媒体处理能力,同时了提供l c d ( 液晶显示器) 控制器、 无线局域网( 8 0 2 1 l b ) 、蓝牙、高速红外、u s b 等多种功能模块,其结构框图如 图2 3 所示。作为便携移动设备的首选嵌入式处理器,p x a 2 5 5 内核具有i n t e l 最 先进的动态电源管理术,可以根据处理器所执行的任务情况动态调整工作频率和 多种节电模式,实现无与伦比的低功耗高性能的技术【5 】。 扛苏太学硕士学位论支 图2 - 3p x a 2 5 5 系统结构框图 p x a 2 5 5 处理器符合工业产品应用标准,符合工业上倡导的m i p s m v 性能 设计要求。这个处理器将一个复杂集成电路合成在块芯片上,采用i n t c l x s e a l e t m 微结构体系框架,具有许多外围接口,功能强大。p x a 2 5 5 具有嵌入 式处理器的优点,主要用于下一代高性能的s m a r t p h o n e 、p d a 的设计,支持多 种流媒体格式、无线互联网存取以及其他边缘领先技术,同时还支持 s e e u r e d i g i t a l m m c 和c o m p a c t f l a s h 扩展技术为大数据量存储提供有效方案。 2 ) 存储系统 e a x - 4 0 0 嵌入式开发系统的存储子系统由可高速随机访问的r a m 、非易失 性的f l a s h 存储器组成,包括:6 4 m b y l es d r a m 、3 2 m b y t en o rf l a s h 、 3 2 m b y t e n a n d f l a s h 6 1 。s d r a m 采用韩国现代的h y 5 7 v 5 6 1 6 2 0 c t - h 芯片,每 片容量为4 b a n k s * 4 m * 1 6 b i t ,共2 5 6 m b r ,3 2 m b y t e 。h y 5 7 v 5 6 1 6 2 0 c t - h 的位宽为 1 6 ,e a x - 4 0 0 系统用两片拼接为3 2 位宽度的6 4 m i l y t er a m 存储器。 n o rf l a s h 采用的是美国i n t e l 公司的s l r a t a f l a s h 2 8 f 1 2 8 j 3 ,每片容量为 1 6 m b y m ,芯片内部分为1 2 8 块,每块1 2 8 k b y t e 。2 8 f 1 2 8 j 3 的位宽也是1 6 ,e a x - 4 0 0 系统用两片拼接为3 2 位宽度的3 2 m b y t en o rf l a s h 存储器。n o rf l a s h 带有 s r a m 接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节, 因d 七n o r f l a s h 的传输效率很高,读速度比n a n d n 础稍快一些。n o r f l a s h 具有 芯片内执行( x me x e c u t ei np l a c e ) 的特点,这样应用程序可以直接在f l a s h 芯片内 运行,不必再把代码读到系统r a m 中。n o r f l a s h 的不足是写堞除的速度太大慢 于n a n df l a s h ,且价格较贵,擦除次数低于n a n df l a s h ,为1 0 万次。e a x - 4 0 0 系统中n o rf l a s h 用于存茄b o o t l o a d e r 、l i n u x 核及根文件系统。 江苏大学硕士学位论文 n a n df l a s h 采用韩国三星的k 9 f 5 6 0 8 ,每片容量为3 2 m b y t e ,位宽为8 。 n a n df l a s h 的优点是写擦除的速度快,价格低,能够复用指令、地址和数据 总线,从而节省了引脚数量;能够利用同样的硬件设计和电路板,支持更大容量 的n a n d 器件;n a n df l a s h 的擦除次数可达百万次。但它的缺点也是明显的: 使用复杂的i o 口来串行地存取数据,且各个产品或厂商的方法可能各不相同。 因此使用n a n d 器件时,必须有驱动程序支持,才能继续执行其他操作。n a n d f l a s h 还会产生坏块和位交换( 比特位发生反转) 的现象,因此可靠性稍差, 需要结合e d c e c c 算法以确保数据的可靠性。 3 ) 网络接口 e a x 4 0 0 嵌入式开发系统外扩一个r j 4 5 以太网接口。以太网控制器采用 c i r r u sl o g i c 公司的c s 8 9 0 0 a ,最大速率为1 0 m b p s 。通过双绞线可以实现网 络通讯和数据传输功能。可以通过交叉网线同p c 机连接或通过直联网线同集线 器连接。 4 ) u s b 接口 e a x 一4 0 0 嵌入式开发系统配有1 个标准u s bb 型插座和2 个标准u s ba 型 插座。其中u s bh o s t 采用p h i l i p s 公司生产的i s p l l 6 1 a 1u s b 主机控制器。 i s p l1 6 1 a 1 是一款可以支持主从模式的嵌入式u s b 控制器,支持两种传输模式: 1 2 m b p s 全速传输模式和1 5 m b p s 低速传输模式。i s p l l 6 1 a 1 遵循u s b1 1 规范。 5 ) 其它接口 e a x 4 0 0 嵌入式开发系统具有三个外接的u a r t 串口和一个g p r s 通讯串口, 其中p x a 2 5 5 处理器自身提供的f f u a r t ( 全功能u a i 汀) 可以通过交叉串口线同 p c 机进行通信,主要用于系统调试,作为b o o t l o a d e r 的信息输出口和l i n u x 内核的 控制台端口。e a x 4 0 0 嵌入式开发系统还有一个2 0 针的j t a g 调试口,可实现两 个作用:连接a r m 仿真器进行在线调试;连接j t a g 下载线,直接对e a x 4 0 0 开 发系统的n o rf l a s h 进行烧写编程。 2 3 嵌入式视频监控系统软件 2 3 1 系统软件设计 鉴于嵌入式l i n u x 的稳定性、强大的网络支持功能和完全免费的特性,本 课题选取l i n u x 作为系统软件平台。课题中选取最新的( 本课题研究 时) l i n u x 2 6 2 7 内核版本来做移植。与l i n u x 2 4 相比,l i n u x 2 6 具有很多有利于 嵌入式应用的新特性,如实时性能的增强,更方便的移植性、共享内存的改性和 i o 系统的改进等。构建嵌入式l i n u x 系统的工作主要包括建立交叉编译环境、 江苏大学硕士学位论文 b o o t l o a d e r 移植、l i n u x 内核移植、根文件系统的构建。 2 3 2 应用软件设计 系统的应用软件设计基于嵌入式l i n u x 操作系统平台,应用软件模块见图 2 4 。 h t t p _ w e b 服务器 p 卜、 c g i 程序 嘲 络 令令令 连 接 高 要 视视 视 r t p 3 l 频 卜 频 卜 频 _ r t r p 卜 采 编 传 l g 集码 输 模模 模 块块 块 图2 - 4 应用软件模块 整个系统根据功能分为以下几个独立的模块:视频采集模块、图像压缩编码 模块、视频传输模块、w e b 服务器模块,各功能模块说明如下: 1 ) 视频采集模块。l i n u x 下视频采集是通过v 4 l ( v i d e of o rl i n u x ) t 。7 1 来实现的, 课题中使用的是w e b e y ev 2 0 0 0u s b 摄像头,它采集到的视频数据有r g b 2 4 和 y u v 4 2 0 两种格式,这里取y u v 4 2 0 格式,以方便视频压缩模块对其进行直接处 理。 2 ) 视频编码模块:经过采集模块获得的原始码流保存到缓冲区中,然后编 码模块对该缓冲区码流进行h 2 6 4 格式的编码并负责交给传输模块。这里采用了 多线程程序设计,采集模块和编码模块的同步采用的生产者和消费者模型。 3 ) 视频传输模块:该模块对由编码模块产生的h 2 6 4 码流进行r t p 格式的封 装和传输。对传输质量的控制是通过利用r t c p 反馈包信息实现的,这里对 r t p r t c p 协议进行了简化实现。 4 ) 服务器端会话模块:这个模块是通过建立w e b 服务器来实现的,w 曲服 务器通过h t t p 协议与监控端浏览器软件进行信息交互,提供其他应用程序模块 的接口以及视频数据浏览界面它包括会话建立、会话控制,也包括一些用户设置 等。系统提供t r t s p 8 】会话模式,建立会话线程等待客户端的连接。 8 江苏大学硕士学位论文 2 4 本章小结 本章首先介绍了视频监控系统总体框架设计,接着描述了监控系统硬件开发 平台的主要构成,然后设计了基于嵌入式l i n u x 操作系统的应用软件框架,具体 描述了系统所要完成的功能。 9 江苏大学硕士学位论文 第三章嵌入式l i n u x 系统构建 嵌入式l i n u x 是目前嵌入式系统中发展势头最猛的嵌入式操作系统,已经应用 在多媒体设备、手持设备、车载导航系统、智能手表、机械控制等领域中。这主 要是因为嵌入式l i n u x 操作系统具有以下的优势【9 】【1 0 】: 1 ) l i n u x 内核精简,各部分的功能明确,可扩展性强,容易剪裁。 2 ) l i n u x 上有丰富的驱动程序,支持各种主流硬件设备和最新的硬件技术, 随着l i n u x 的广泛应用,许多芯片厂家开始提供l i n u x 上的驱动。 3 1 大小功能可以定制,l i n u x 继承了u n i x 的设计思想,内核与用户界面完 全独立,各部分的可定制性都很强。 4 ) l i n u x 符合i e e ep o s i x 编程标准,有非常好的可移植性。它本身是u n i x 系统的一种克隆,支持商业u n i x 的全部功能,u n i x 平台上众多的应用程序稍加 修改就可以应用到嵌入式环境中l i n u x 平台。 5 1 强大的网络功能,l i n u x 支持所有标准的因特网协议,几乎所有的协议和 网络接口都定制在其中。 6 ) 很高的稳定性,l i n u x 的内核是非常可靠和稳定的,并且由于内核的稳定 性使得l i n u x 在移植到特定平台后与通用平台一样具有高稳定性。 3 1 嵌入式l i n u x 开发环境的建立 由于多数嵌入式目标系统未能提供足够的资源供编译过程使用,因而只好将 编译工作转移到高性能的p c 机中进行,这样就需要进行交叉编译。交叉编译本 身在宿主机上进行,编译产生的二进制代码则运行于目标机上,一般把生成代码 的平台称为宿主机,把执行代码的平台称为目标机。 宿主机p c 通过串口c o m l 、并口l p t l 、以太网络接口与目标机e a x 4 0 0 嵌入式开发系统的f f u a r t 串口、j t a g 口、以太网络接口分别连接。如图3 1 所示。 1 0 江苏大学硕士学位论文 图3 1 交叉开发的硬件连接图 本课题中宿主机安装的是w i n d o w sx p 操作系统,宿主机的l i n u x 环境是通 过在虚拟机软件v m w a r e 中安装了f e d o r ac o r e4 提供的,在这上面主要进行编 译工作,编译成功后拷贝到w i n d o w s 系统,再经网络、串口等方式下载到目标 机。这种交叉开发环境既可以同时工作在两种完全不同的操作系统平台,无需频 繁地重启计算机进行系统切换,又具有真实l i n u x 发行版的运行环境。 课题中交叉工具链式是通过c r o s s t o o l 开源软件项目建立的。c r o s s t o o l 是一 组脚本的结合,通过这些脚本,使得基于g c c 、g l i b c 、l i n u x 的交叉开发工 具链的创建能够自动执行。本课题使用的处理器是i n t e l 公司设计生产的x s c a l e 系列的p x a 2 5 5 ,在制作交叉开发工具链时,使用的主脚本文件是 d e m o a r m x s c a l e s h ,其中的核心命令改为: e v a l c a ta r m x s c a l e d a tg c c - 4 0 1 - g l i b c - 2 3 5 一h d r s - 2 6 11 2 d a t 、s ha 1 1 s h 一一n o t e s t , 在等待了大约两个小时后,一套名为“a n n x s c a l e 1 i n u x g n u - 的交叉工具链就制 作成功了。编译结束后,在$ ( r e s u l tt o p ) 目录下会新建一个目录 g c c 4 0 1 g l i b c 2 3 5 ,就是编译好的交叉工具链。将该目录拷贝至u u s r l o c a l ,再修 改r o o t b a s hp r o f i l e 文件,增加下列命令行: p a t h = $ p a t h :$ h o m e b i n :u s r l o c a l g c c - 4 0 1 一g l i b c 一2 3 5 a r m - x s c a l e l i n u x g n u b i n 保存退出后,在终端窗e l 执行命令:s o u r c e r o o t b a s hp r o f i l e 至此,交叉工 具链安装结束。以后使用这个工具链时,就不必指定绝对路径,系统会自动寻找 到它。 3 2b o o t l o a d e r 的构建 3 2 1b o o t l o a d e r 的启动 图3 2 是个典型的嵌入式应用系统固态存储设备的空间分配示意图。 b o o t l o a d e r 是系统加电后所执行的第一个程序,在操作系统内核或用户应用程序 江苏大学硕士学位论文 运行之前运行。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图, 从而将系统的软硬件环境带到一个合适的状态,为最终调用操作系统内核或用户 应用程序准备好正确的环境。 图3 - 2 固态存储设备的空间分配结构示意图 从操作系统的角度看,b o o t l o a d e r 的总目标就是正确地调用内核来执行。 b o o t l o a d e r 的启动过程大多数分为阶段l 和阶段2 。阶段1 主要包含依赖于c p u 体 系结构的硬件初始化代码,通常用汇编语言来实现的。这个阶段通常包括以下步 骤【1 1 1 : 1 ) 硬件设备初始化。目的是为阶段2 的执行以及随后内核的执行准备好基本 的硬件环境。 2 ) 为加载b o o t l o a d e r 的阶段2 准备r a m 空间。为了获得更快的执行速度,通 常把阶段2 加载到删空间来执行。 3 ) 拷贝b o o t l o a d e r 阶段2 的代码到洲空间中。 设置好堆栈。 4 ) 跳转到阶段2 的c 程序入口点。 b o o t l o a d e r 的阶段2 通常用c 语言来实现,这样可以实现更复杂的功能,而且 代码会具有更好的可读性和可移植性。通常包括以下步骤: 1 ) 初始化本阶段要使用到的硬件设备。 2 ) 检测系统内存映射。 3 ) 将内核映像和根文件系统映像从f l a s h 上读到r a m 空间中。 4 ) 为内核设置启动参数。 5 ) 调用内核。 3 2 2b o o t l o a d e r 的移植 e a x 4 0 0 嵌入式开发系统提供了已经移植好的b l o b 作为b o o t l o a d e r 。同一 个b o o t l o a d e r ,可以引导不同版本的内核。但因内核和根文件系统的下载与烧写 是由b l o b 直接读写f l a s h 对应的偏移地址实现的,因此b l o b 就决定了内核和根 文件系统的存储起始地址和大小,它们与内核中对f l a s h 的分区应相一致。由于 1 2 江苏大学硕士学位论文 后文所移植的l i n u x 2 6 2 7 内核映像大小超过了现有b l o b 所允许的内核大d 、( 1 m b y t e ) ,所以要对b l o b 中有关内核和根文件系统的存储起始地址和大小的代码作 相应的改动。 在e a x 一4 0 0 嵌入式开发系统中,n o rf l a s h 有3 2 mb y t e ,原来的分配是: 表3 - 1n o rf l a s h 原分配表 b l o b 内核根文件系统 所占空间大小 2 5 6 k 1 m3 2 m 一1m 2 5 6 k 起始地址 c s 0 b a s ec s o b a s e + 0 x 4 0 0 0 0c s 0 b a s e + 0 x i4 0 0 0 0 新的分配是: 表3 - 2n o rf l a s h 新分配表 b l o b 内核根文件系统 所占空间人小 2 5 6 k2 m3 2 m 2 m 2 5 6 k 起始地址 c s 0 b a s ec s 0 b a s e + 0 x 4 0 0 0 0c s 0 b a s e + 0 x 2 4 0 0 0 0 在i n c l u d e f l a s h h 中改动后的代码如下: # d e f i n eb l o b s t a r t c s 0 b a s e # d e f i n eb l o b l e n0 x 4 0 0 0 0p2 5 6 k ,s h o u l db ef l a s hb l o c ka l i g n e d 囊| # d e f i n en u m b l o b b l o c k s2 # d e f i n ek e r n e l s t a r t ( c s 0 _ b a s e + b l o b l e n ) # d e f i n ek e r n e ll e no x 2 0 0 0 0 0 严2 m ,原来是0 x l0 0 0 0 0 * # d e f i n en u m k e r n e l b l o c k s16 # d e f i n ei n i t r d s t a r t ( k e r n e l s t a r t + k e r n e l l e n ) # d e f i n ei n i t r dl e n0 x l d c 0 0 0 0 3 2 m 2 m 2 5 6 k ,原来是0 x l e 0 0 0 0 03 0 m * # d e f i n en u mi n i t r db l o c k s 2 3 8 严原来是2 4 0 ,部分f l a s h 空间空闲事 这部分代码决定了内核和根文件系统在f l a s h 中的存储起始地址和大小。 在i n c l u d e m a i n h 中改动后的代码如下: # d e f m ek e r n e l r a m b a s e 0 x a 010 0 0 0 0 | 1m | # d e f i n ek e r n e l b l o c k o f f s e t 0 x 0 010 0 0 0 0 以上代码决定了内核在r a m 中的虚拟存储起始地址和相对虚拟基地址的偏 移量。 # i f d e f i n e de p l 2 5 5 l i d e f i n e de e s 2 5 5 # d e f i n er a m d i s kr a mb a s e ( o x a 0 2 0 0 0 0 0 ) * 2 m 原来的定义,已被注 释掉 # d e f i n er a m d i s kr a mb a s e ( o x a 0 3 0 0 0 0 0 ) * 3 m 修改后的定义木 # e n d i f 1 3 江苏大学硕士学位论文 以上代码决定了根文件系统在r a m 中的虚拟存储起始地址和相对虚拟基地 址的偏移量。 完成上述修改后,重新编译b l o b ,并烧写到f l a s h 中,实现了新的f l a s h 空 间分配。内核映像最大可以到2 m ,根文件系统相应地从新起始地址开始存放。 要注意在l i n u x 移植时,对f l a s h 的分区要与此相对应,才能使l i n u x 系统正确 运行。 3 3l i n u x 2 6 2 7 内核的移植 本课题使用从l i n u x 官网上下载的最新版本l i n u x 内核l i n u x 2 6 2 7 t a r b z 2 来进行移植l i n u x 内核源码非常庞大,其顶层有许多子目录,简要说明如表3 3 。 表3 - 3l i n u x 内核源码顶层目录说明 目录说明 a r c h l i n u x 所支持的所有体系结构特定的内核代码 d d v e r s 各种设备驱动程序 d o c u m e n t a t i o n 内核文档 f s 文件系统 i n c l u d e内核头文件 i n i t l i n u x 初始化代码 l p c 进程间通信的代码 k e m e l l i m u x 内核核心代码 l i b 各种库的程序 m m 存储管理程序 n e t 网络相关代码 s o u n d 声音驱动的支持 s c f i p t s 各种脚本 u s r 用户的代码 本次移植的目标体系结构是a r m ,首先要修改l i n u x 内核源码顶层目录下 的m a k e f i l e 文件,将内核的目标体系结构设为a r m ,同时可以设置交叉编译器。 具体设置方法是修改顶层目录下m a k e f i l e 文件中的a r c h 和 c r o s s c o m p i l e 这两个变量,如下所示: a r c h? = a r m 1 4 江苏大学硕士学位论文 c r o s s c o m p i l e ? = a r m - x s c a l e l i n u x g n u - 在本课题中,所用交叉编译工具链是在前文中用c r o s s t o o l 编译建立的 a r m - x s c a l e 1 i n u x - g n u - g c c 等,其前缀为a r m - x s c a l e l i n u x g n u - 。 设置完成后,执行m a k em e n u c o n f i g ,进入配置界面。 1 ) 选择参考板 在配置界面中,s y s t e mt y p e - a r ms y s t e mt y p e 所选的是“p x a 2 x x b a s e d ”, 即选择了基于a r m 体系结构的i n t e l 公司的x s c a l e 系列处理器“p x a 2 x x ”。此 时,在s y s t e m t y p e i n t e lp x a 2 x xi m p l e m e n t a t i o n s 一 s e l e c tt a r g e tb o a r d 子菜单下, 有六个选项可供选择,表明l i n u x2 6 2 7 支持六种采用“p x a 2 x x 处理器的目 标板。 i n t e ld b p x a 2 5 0d e v e l o p m e n tp l a t f o i - i n ,又称为i n t e lp x a 2 5 0l u b b o c k 开发 板( 后面简称为l u b b o c k 板) ,它支持i n t e l 推出的基于x s c a l e 微架构的系列 处理器,如应用处理器p x a 2 10 、p x a 2 5 0 、p x a 2 5 5 、p x a 2 6 3 ,网络处理器i x p 4 2 0 、 i x p 4 2 1 、i x p 4 2 2 等2 7 1 。其主要特点是提供了插卡式的处理器和闪存以方便重新 配置开发板,并且它的可扩展底盘能实现所有开发板的特征。 l u b b o c k 板主要集成部件有: o i n t e lp x a 2 5 54 0 0 m h zc p u 6 4m b y t e ss d r a m 3 2m b y t e sb o o tr o m 3 2m b y t e sf l a s hm e m o r y 一组i n t e ls a 1 l1 l 芯片组,包括p c m c i a 、c f 卡、u s bh o s t 的插槽 标准m

温馨提示

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

评论

0/150

提交评论