(计算机应用技术专业论文)基于嵌入式linux的远程监控系统设计.pdf_第1页
(计算机应用技术专业论文)基于嵌入式linux的远程监控系统设计.pdf_第2页
(计算机应用技术专业论文)基于嵌入式linux的远程监控系统设计.pdf_第3页
(计算机应用技术专业论文)基于嵌入式linux的远程监控系统设计.pdf_第4页
(计算机应用技术专业论文)基于嵌入式linux的远程监控系统设计.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

(计算机应用技术专业论文)基于嵌入式linux的远程监控系统设计.pdf.pdf 免费下载

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

文档简介

江苏大擘硕士擘位论文 摘要 随着多媒体技术、视频压缩编码技术、网络通信技术的发展,数字视频监控系 统迅速堀起。前端一体化、视频数字化、监控网络化j 系统集成化是视频监控系统 公认的发展方向,其中以嵌入式视频w e b 服务器为核心的视觌监控系统最具发展 潜力,它采用嵌入式实时多任务操作系统,具有布控区域广,可组成非常复杂的监 控网络,性能稳定可靠,无需专人管理等优点。本文就是j 须应这种发展趋势,以计 算机机房监控为应用背景,进行嵌入式远程监控系统的研究。 该系统是基于嵌入式硬件平台和嵌入式l i n u x 操作系统设计的,对实时采集的 图像采用m p e g - 4 视频压缩标准压缩;内置流媒体服务器,提供实时视频监控:采 用高精度的数字温湿度传感器对监控环境的温度湿度实时监测;构建了嵌入式 w e b 服务器为客户提供方便友好的操作界面。该系统还具有自动监控报警功能, 在温湿度超限或现场画面有异常时能及时有效的以多种方式报警并可通过嵌入式 数据库保存报警记录,实现了一种通用性强且成本低的远程监控解决方案。 论文的主要工作包括:嵌入式l i n u x 系统的构建;l i n u x 下的视频采集;m p e g - 4 视频压缩标准的算法分析及编码实现;在嵌入式l i n u x 上简化实现流媒体协议栈: l i m m 设备驱动程序的开发:嵌入式数据库的移植应用;嵌入式w e b 服务器的构 建;智能图像识别的研究与应用。最后对该监控设备进行了应用测试和评价并对该 课题的后续工作进行了展望。 关键词:嵌入式l i n u x ,m p e g - 4 ,流媒体,嵌入式w e b ,图像识别 江苏大擘硕士学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to fm u l t i m e d i at e d a n o l o g y , v i d e oc o m p r e s s i o nc o d i n g t e c h n o l o g ya n dn e t w o r kc o m m u n i c a t i n gt e c h n o l o g y , d i g i t a lv i d e om o n i t o rs y s t e mg r o w s u pr a p i d l yt h ei n t e g r a t i o no ft h es y s t e m , d i 咖lv i d e oa n dn e t w o r k i n gm o n i t o ra 把t h e a c k n o w l e d g e dd e v d o p i n gd i r e c t i o n so f t h ev i d e om o n i t o rs y s t e m ,a m o n ga l lt h e s ef i e l d s t h es y s t e mt h a tt a k et h ee m b e d d e dv i d e ow e bs e r v e r 鹪t h ec o l eh a st h em o s td e v e l o p i n g p o t e n t i a l , w h i c ha d o p t se m b e d d e dr e a l - t i m em u l t i t a s k i n go p e l 碰o l ls y s t e ma n dh a st h e a d v a n t a g eo f w i d em o n i t o r i n gr e g i o n , s t e a d ya n dr e l i a b l ep e r f o r m a n c e , f r e em a n a g e m e n t a n dc b u i l dc o m p l i c a t e dm o n i t o rn e t w o r k t h ep a p e rc o m p i l e sw i t ht h ed e v e l o p i n g t m l d , t a k i n gt h ec o m p u t e r - r o o ma st h ea p p f i c a t i o nb a e h ;r o u n d , a n dr e s e a r c ho nt h e e m b e d d e dr e m o t em o n i t o rs y s t e n l 硼1 ed e s i g no f t h es y s t e mw a sb a s e d t h ee m b e d d e dh a r d w a r ef o u n d a t i o na n dt h e e m b e d d e dl i n t o p e r a t i o ns y s t e m i ta d o p t e dt h em p e g - 4c r i t e r i o nt oc o m p r e s st h e r e a l - t i m ei m a g e sa n dp r o v i d e dr e a l - t i m ev i d e om o n i t o rw i t he m b e d d e dr e a ls t r e a r r l i l l g m e d i as e r v e r , a tt h es 硼! n el i m ei tu s e dt e m p e r a t u a n dh u m i d i t ys e n s o rw i t hh i g h p r e c i s i o nt om o n i t o rt h et e m p e r a t u r ea n dh u m i d i t yo ft h em o n i t o r i n ge n v i r o n m e n to n r e a l - t i m e a ne m b e d d e d 嘞s e r v e rw a sc o n a g l l u c t e di no l d e rt oo f f e rac o n v e n i e n ta n d f r i e n d l yo p e r a l j n gi n t e l f l t c et ot h ec l i e n t i na d d i t i o n , t h es y s t e mh a dt h ef u n c t i o no f a u t o m a t i ca l a r m w h i c hc o u l do f f e rt i m e l ya n de f f e c t i v ea l a r mw h e nt h et e m p e r a t u r eo r h u m i d i t yw o se x c t 积i i i l go rt h em o n i t o r i n gi m a g ew a sa b n o r m i t y , t h u sr e a l i z e dal o w - c o s t u n i v e r s a lr e m o t e m o n i t o r s o l u t i o n t h em a i nt a s k so ft h ep a p e ri n c l u d ef o l l o w s :t h eb u i l do ft h ee m b e d d e dl i n u x ;t h e c o l l e c t i o no ft h ev i d e ob a s e do nl i n u x ;t h ea r i t h m e t i ca n a l y s i so ft h em p e g - 4v i d e o c o - - i o nc r i t e r i o n ;t h ec l i pa n di m p l e m e n to f t h es t 略蛐1 i 1 1 9m e d i as e r v e rb a s e do f f t h e e m b e d d e dl i n u x ;t h ee x p l o i t a t i o no ft h ed r i v e ro ft h el i n u xd e v i s e ;t h ep o r ta n d a p p l i c a t i o no ft h ee m b e d d e dd a t a b a s e ;t h eb u i l do ft h ee m b e d d e dw e bs e r v e ra n dt h e s t u d ya n di m p l e m e n to ft l a ei n t e l l i g e n ti m a g l er e c o g n i t i o n f i n a l l y , f u n c t i o nt e s l i n ga n d p e r f o r m a n c ee v a l u a t i o nw a sc a r r i e do u to nt h ed e v i c ea sw e l la st h ef u t u r er e s e a r c ht o p i c s w e r ed i s c u s s e d k e y w o r d s :e m b e d d e dl i n u x , m p e g - 4 , s t r e a m i n gm e d i a ,e m b e d d e dw e b , i m a g er e c o g n i t i o n 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权江苏大学可以将本学位论文约全部 内容或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 保密 口在年解密后适用本授权书。 本学位论文属于 不保密 团。 学位论文作者签名;导师签名; 荔穗 签字日期:2 0 0 7 年? 月,_ 日签字日期;2 0 0 7 年月,珀 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已经注明引用的内容以外,本 论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本 文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:孑1 森 日期:2 0 0 7 年;月f v 日 江苏大学硕士学位论文 l 。l 研究目的与背景 第一章绪论 随着社会电子信息化进程的不断发展,许多行业部门的计算机( 或网络) 中心 机房的设备和规模日趋扩大,与其配套的环境设各也日益增多,倘若机房的环境设 备一旦出现故障,就会直接影响计算机系统的安全运行,严重时会造成机房内的计 算机设备损坏,甚至使网络系统瘫痪,后果不堪设想。因此,为了保证计算机系统 的安全可靠运行,对机房的环境设备进行自动监控是及其重要的。同时机房的安全 防范要求也越来越高,视频监控系统作为安全防范系统的重要组成部分,是一种防 范能力较强的综合系统,视频监控以其直观、方便、信息内容丰富而广泛应用于许 多场合。因此构建机房环境视频监控系统作用巨大。 在国内外市场上,主要推出的是数字控制的模拟视频监控和数字视频监控两类 产品。前者技术发展已经非常成熟、性能稳定,并在实际工程应用中得到广泛应用; 后者是新近崛起的以计算机技术及图像视频压缩技术为核心的新型视频监控系统, 该系统解决了模拟视频监控系统的部分弊端而迅速崛起,但仍需进一步完善和发 展。目前,视频监控系统正处在数控模拟系统与数字系统混合应用并将逐渐向数字 系统过渡的阶段。 数字信号控制的模拟视频监控系统 数字信号控制的模拟视频监控系统现在分为两种类型,一个是基于微处理器的 视频切换控制加p c 机的多媒体管理,另一个是基于p c 机实现对矩阵主机的切换控 制及对系统的多媒体管理。基于微处理器的视频切换控制加p c 机的多媒体管理利 用微处理器固件发展的矩阵切换嚣,将原来分散的全硬件视频监控系统集中化,如 将视频切换、对前端的控制等功能集合一起,一机处理。基于p c 机的视频监控系 统采用软件设计,实现摄像机到监视器的视频矩阵切换,云台和镜头的控制,通过 串口连接报警设备的报警信息,并通过程序编程自动完成视频切换、云台控制、报 警联动、报警录像等各项控制功能。系统能充分利用p c 机的资源,使视频监控系 统随机算计技术的发展而不断进步,同时其开放性的结构特性更可使之与其它多种 系统如与消防报警系统、出入口管理系统、楼字自控系统等实现互动集成。 数控模拟视频监控系统随着微处理器、微机性能的增强和提高,多媒体技术的 应用,系统在功能、性能、可靠性、结构方式等方面都发生了很大的变化,视频监 控系统的构成更加方便灵活,与其它技术系统的按口趋于规范,人机交互界面更为 友好。但由于视频监控系统中信息流的形态没有变,仍为模拟的视频信号。系统的 江苏大学硕士学位论文 网络结构主要是一种单功能、单向、集总方式的信息采集网络,且介质专用,系统 已发展到很高的水平,但是由于信号的传输是基于模拟信号,所以系统的改进受到 了很大的限制。 数字视频监控系统。 9 0 年代末,随着多媒体技术、视频压缩编码技术、网络通讯技术的发展、数 字视频监控系统迅速崛起,现今市场上有两种数字视频监控系统类型,一种是以数 字录像设备为核心的视频监控系统,另一种是以嵌入式视频w e b 服务器为核心的视 频监控系统。以数字录像设备为核心的视频监控系统采用p c 机作为多媒体监控主 机,综合了视频矩阵、图像分割器、录像机等的众多功能,使系统结构大为简化, 采用计算机网络技术,数字多媒体远程网络监控不受距离限制,采用大容量磁盘阵 列存盘器或光盘存储器,可以节省大量的磁带介质,同时有利于系统实现多媒体信 息查询。但随着基于p c 机的视频监控录像系统的发展,在实际工程使用过程中, 也暴露出一些不足,主要是系统工作的不稳定性。 以嵌入式视频w e b 服务器为核心的视频监控系统,采用嵌入式实时多任务操作 系统。摄像机送来的视频信号数字化后由高效压缩芯片压缩,通过内部总线送到内 置的w e b 服务器,网络上用户可以直接用浏览器观看w e b 服务器上的由摄像机采集 的图像,授权用户还可以控制摄像机、云台、镜头的动作或对系统配置进行操作。 由于把视频压缩和w e b 功舱集中到一个体积很小的设备内,可以直接连入局域网, 达到即插即看,省掉多种复杂的电缆,安装方便,用户也无需安装任何硬件设备, 仅用浏览器即可观看。同时还具有如下优点: 布控区域广阔。嵌入式视频w e b 服务器监控系统的w e b 服务器直接连入网络, 没有线缆长度和信号衰减的限制,同时网络是没有距离概念的,彻底抛弃了地域的 概念,扩展布控的区域。系统具有几乎无限的无缝扩展能力。所有设备都以i p 地 址进行标识,增加设备只是意味着i p 地址的扩充。 可组成非常复杂的监控网络,采用基于嵌入式w e b 服务器为核心的监控系统, 在组网方式上与传统的模拟监控和基于p c 平台的监控方式有极大的不同,由于 w e b 服务器输出已完成模拟到数字的转换并压缩,采用统一的协议在网络上传输, 支持跨网关、跨路由器的远程视频传输。 性能稳定可靠,无需专人管理。嵌入式w e b 服务器实际上基于嵌入式微处理 器技术,采用嵌入式实时多任务操作系统,又由于视频压缩和w e b 功能集中到一 个体积很小的设备内,直接连入局域网或广域网,即插即看,系统的实时性、稳定 性、可靠性大大提高,也无需专人管理,非常适合于无人值守的环境。当监控中心 需要同时观看较多个摄像机图像时,对网络带宽就会有一定的要求。 现在监控系统已经发展到第三代,前端一体化、视频数字化、监控网络化、系 2 江苏大学硕士学位论文 统集成化成为视频监控系统公认的发展方向,它以网络为依托,以数字视频的压缩、 传输、存储和播放为核心,以智能实用的图像分析为特色,并与报警系统、门禁系 统完美的整合到一个使用平台上,引发了视频监控行业的一次技术革命。 i 2 研究意义 嵌入式系统是以应用为中心,软硬件可裁减的,具有高可靠性、低成本、严要 求、综合性强的专用计算机系统,它主要由嵌入式微处理器、相关支撑硬件、嵌入 式操作系统及应用软件系统等组成。集软硬件于一体,能够独立工作。同时,嵌入 式系统具有实对佳好,稳定性强等特点【2 l 。 随着网络技术的广泛应用和以计算机技术、通信技术为主的信息技术的高速发 展,信息家电、医疗仪器、智能汽车、工业控制、通信设备等各个领域,都已和嵌 入式系统息息相关。在视频监控领域,嵌入式网络视频监控系统是目前研究的重点, 它采用嵌入式实时多任务操作系统,性能稳定可靠。有着无比广阔的市场需求和发 展前景。 目前,在嵌入式操作系统中,嵌入式l i n u x 具有相当多的优点,它内核稳定, 功能强大并且可裁减,完全开放源代码便于进行二次开发。在3 2 位嵌入式应用中, a r m 微处理器因其低功耗,高性能等突出优点已成为移动通讯、手持计算、多媒 体数字消费等嵌入式解决方案实事上的标准。 贩应趋势开发基于嵌入式l i n u x 的远程监控系统,该系统以嵌入式l i n u x 和 a r m 嵌入式硬件平台等主流技术为基础,以嵌入式视频w e b 服务器为应用核心,提 供了一种通用性强且成本低的远程监控解决方案,这种方案不仅应用前景广阔,而 且对推广嵌入式l i n u x 的应用有积极的意义。 l - 3 主要工作 1 嵌入式l i n u x 操作系统软件平台的构建。在以a r m 微处理器$ 3 c 2 4 1 0 为 核心的硬件平台上构建嵌入式l i n u x 操作系统,为上层应用软件的开发提供 统一的接口,方便系统功能的进一步扩展升级。 2 视频数据采集与压缩。实现嵌入式l i n u x 下实时图像数据采集,静态图像的 j p e g 压缩,视频数据的m p e g - 4 压缩。深入研究m p e c 标准的压缩算法, 选取适合嵌入式微处理器的m p e g - 4 编码方案和编码器。通过对m p e g - 4 标准的研究,为以后m p e g - 4 视频流的实时传输做好理论上的准备。 3 嵌入式流媒体服务器实现。深入研究r 1 唧p 、r t s p 等协议并针对嵌入 3 江苏大学硕士学位论文 式l i n u x 进行简化,对m p e g - 4 视频的r t p 封装技术进行深入研究,提出 一种有效的载荷格式,在嵌入式l i n u x 上构建一个实时传输m p e g - 4 视频 流的流媒体服务器。 4 l i n u x 设备驱动开发。研究l i n u x 设备驱动工作原理、开发方法,设计温湿 度传感器的驱动程序。 5 嵌入式w e b 服务器。在嵌入式l i n u x 平台上构建w e b 服务器,通过动态 嘲页技术为用户提供一个友好的操作平台。 6 自动图像报警。针对传统视频监控系统的不足,开发自动图像报警系统, 设计适合嵌入式系统的图像识别算法,提供多种报警方式并保存报警记录。 7 嵌入式数据库移植与应用。移植一款适合嵌入式l i n u x 的数据库,主要用于 保存用户注册信息、系统配置信息、温湿度数据、报警信息等。 4 江苏大学硕士学位论文 第二章系统总体方案设计 2 1 总体框架设计 在不同的应用场合,嵌入式系统呈现出的外观和形式各不相同。但一个嵌入式 系统一般都由嵌入式微处理器系统和被控对象组成,大致分为硬件层、中间层、软 件层和功能层。其中嵌入式微处理器是整个系统的核心,被控对象可以是各种传感 器等,可以接受嵌入式微处理器系统发出的控制命令,执行所规定的操作或任务 3 1 。 嵌入式机房监控系统的设计分为硬件平台9 2 f l ,系统软件平台设计和应用软件 设计,整个系统架构如图2 1 所示。 i 嵌入式啪服务器 i 数据管理 通信协议 高级应用 f; 嵌入式l i i l l引导程序蛳i d c r l 硬件平台( a r m s 3 c 2 4 1 0 ) i lu s b 摄像头测控设备 测控设备 2 2 硬件系统概述 图2 - l 嵌入式机房监控系统整体框图 嵌入式微处理器是整个系统的核心,因此首先要确定系统的嵌入式徼处理器。 a r m ( a d v a n c e dr i s cm b c 垃蟠) 架构的微处理器具有体积小、低功耗、低成本、高 性能等特点,因而在嵌入式领域得到广泛应用, 嵌入式网络监控系统要求能够实时采集压缩视频数据并通过网络实时传输,数 据运算量大对处理器要求高。根据上述的基本要求,系统微处理器芯片采用三星公 司的a r m 微处理器s 3 c 2 4 1 0 x ,该芯片采用了a r m 9 2 0 t ( 1 6 3 2 b i tr i s cc a t 0 内 江苏大学硕士学位论文 核,内部带有全性能的m m u ( m e m o r ym a n a g e m e n tu n i t ) ,适用于设计移动手持产 品设备,具有高性能、低功耗、接口丰富和体积小等优良特性。 根据设计要求,本系统采用杭州期待公司e x p e a - i 开发板为硬件平台。开发板 以s 3 c 2 4 1 0 为核心,配备了大量的硬件资源,包括3 2 m bn a n d f t a s h 和6 4 m b 的 s d 鼬m ,两个h o s tu s b 接口,3 通道u 越h 等。通过以太网控制器芯片c s 8 9 0 0 a 扩展了一个1 0 m 以太网口。外加模块:s i m l 0 0g s m g p r s 模块,o v 5 1 1u s b 摄像 头、温湿度传感器等。 s 3 c 2 4 1 0 x 处理器内部分别集成1 6 k 指令c a c h e 和数据c a c h e 并采用3 2 位精 简指令集,它外部接口单元丰富,包含l c d 驱动器、n a n d f l a s h 驱动器、s d i 渔m 接口、u s b 主从接口、i i c 总线接口、触摸屏接口以及丰富的g p i o 口等。整个系 统硬件原理图如图2 - 2 所示。 2 3 软件系统设计 图2 - 2 系统硬件原理图 2 3 1 系统软件设计 鉴于嵌入式l i n u x 强大的网络支持功能,选用其作为系统软件平台。构建嵌入 式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 3 。 整个系统根据功能分为以下几个独立的模块:视频采集模块、图像压缩编码模块、 图像识别模块、报警处理模块、流媒体服务器模块、数据库模块、w e b 服务器模 块,各功能模块说明如下: 1 视频采集模块。通过u s b 摄像头实时采集图像数据,供其它模块使用。 2 图像压缩编码模块。实现静态图像j p e g 格式压缩并保存成文件,用于图 像报警。将视频进行m p e g 4 格式压缩并保存成文件,用于监控录像。重 6 江苏大学硕士擘往论文 点是将视频数据压缩成m p e g - 4 视频码流,放入缓冲区供流媒体服务器模 块使用。 3 流媒体服务器模块。简化实现了r t p r t c p 、r t s p 等流媒体协议。r t p 用于实时视频数据的传输,r t c p 用流量控制等。采用实时流控制协议 r 1 靶实现播放器及流媒体服务器之间的交互。 4 ,图像识别及报警处理模块。图像识别模块将采集到的图像信息做识别处理 发现异常时或温湿度超出规定时报警处理模块则通过e m a i l 、短信、电话 等方式报警,并利用嵌入式数据库存储报警信息。 5 实时温湿度数据采集处理模块。该模块在操作系统启动时加载。在服务器 运行期间始终驻留内存运行,定时采集温湿度数据。 6 w e b 服务器模块。w e b 服务器通过i - h t p 协议与监控端浏览器软件进行 信息交互,提供其他应用程序模块的接口以及视频数据浏览界面,它还要 对监控端的访问权限进行控制,过滤监控端的请求和控制信息。 2 4 小结 图2 - 3 应用软件模块 本章首先介绍了监控系统总体框架设计,接着描述了监控系统硬件开发平台的 主要构成,并阐述了基于该硬件平台的依据和优势。然后设计了基于嵌入式l i n u x 操作系统的应用软件框架,详细设计了系统所要完成的功能。 7 江苏大学硕士学位论文 第三章嵌入式l if l u x 操作系统及开发环境的建立 3 1 嵌入式l i n u x 操作系统 内核开放的嵌入式l i n u x 操作系统以其自身诸多的优势嗍,在嵌入式这个r r 产 业的新领域中,越来越得到广大电子设计工程师的认可。l i n u x 用于嵌入式领域的 优势具体表现如下: 1 l i n u x 内核精简,各部分的功能明确,可扩展性强,容易剪裁。在内核模块 中,进程管理、内存管理和文件系统是其三个最基本的子系统。用户程序可 以直接通过系统调用或者函数库来访问内核的资源。 2 l i n u x 上有丰富的驱动程序,支持各种主流硬件设备和最新的硬件技术,而 且随着l i n u x 的广泛应用,许多芯片厂家开始提供l i n u x 上的驱动,这进一 步促进了l i n u x 在各种硬件平台上的应用。 3 大小功能可以定制,l i n u x 继承了u n i x 的设计思想,内核与用户界面完全 独立,各部分的可定制性都很强。 4 l h n m 符合i e e ep o s i x 编程标准,有非常好的可移植性。它本身是u n i x 系 统的一种克隆,支持商业u n i x 的全部功能,i n 平台上众多的应用程序 稍加修改就可以应用到嵌入式环境中l i n u x 平台。 5 强大的网络功能,l i n u x 支持所有标准的因特网协议,几乎所有的协议和网 络接口都定制在其中。 6 很高的稳定性,l i n u x 的内核是非常可靠和稳定的,并且由于内核的稳定性 使得l i n u x 在移植到特定平台后与通用平台一样具有高稳定性。 当然,嵌入式l i n u x 也存在其不足之处,在实时领域内其实时性存在不足。l i n u x 是一个分时系统,虽然实现了软实时性,在很多的情况下还是无法满足满足实时的 需求。对于一些实时性要求强的环境需要改进。 3 2 嵌入式l i n u x 系统的交叉编译环境 1 交叉编译的概念 交叉编译:在一个平台下编译出为其它平台工作的代码,比如在x $ 6c p u 平 台( 即宿主机h o s t ) 编译出能运行在a r mc p u 平台( 即目标板t a r g e t ) 上的程序a 2 交叉编译工具 交叉编译工具的获取,一般从网上下载一套免费的针对a r m 的g n u 交叉编 8 江苏大学硕士学位论丈 译工具链 h t t p j w w w m i z l c o m d c v c l o p c d s 3 c 2 4 1 0 x d o w u o a d s d k d o w n l o a d h u n l b n p :,n n 【d 伽阢d e m d b ,b i n m e w d i _ g ,e i d k a 呵1 址d l i t y 却:,邱h a n d h e l d s o w j p r o j c c t s t o o l c h a n 交叉编译工具链包括:g c c 编译器、汇编器、链接器、g l i b c 库、g d b 调试工具 3 交叉编译开发环境的建立 - 在进行嵌入式开发前,第一步的工作就是要安装一台装有指定操作系统的 p c 机作宿主机。对于嵌入式l i n u x ,一般使用r c d h a tl i m m 作为宿主机p c 操作系统,然后安装交叉编译工具,接下来就可以用这些工具来编译我们的 b o o t l o a d e r 、内核和应用程序源代码了。 - 开发时使用宿主机上的交叉编译、汇编及连接工具形成的可执行二进制代码 直接下载到目标板上或者通过n f s m o u n t 方式就可以在目标板上运行了 3 3b o o t l o a d e r 的移植 3 3 1b o o t l o a d e r 概述 图3 1 是一个典型的嵌入式应用系统固态存储设备的空间分配示意图。 b o o t l o a d e r 是系统一加电所执行的第一个程序,在操作系统内核或用户应用程序运 行之前运行。通过这段小程序,可以初始化硬件设备、建立内存空问的映射图,从 而将系统的软硬件环境带到一个合适的状态,为最终调用操作系统内核或用户应用 程序准备好正确的环境。b o o f l o a f l e r 是严重依赖于硬件而实现的,所以在嵌入式世 界里建立一个通用的b o o f l o a d e r 几乎是不可能的,通常都需要对已有的b o o t l o a d e r 进行移植工作,如b l o b 、v i v i 和u b o o t 等【5 】。 图3 - ib o o t l o a d e r 以及系统各个部件所处的层次 3 3 2b o o t l 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 的启动过程大多数分为阶段l 和阶段2 。阶段l 主要包含依赖于c p u 9 江苏大学硕士学位论文 体系结构的硬件初始化代码,通常用汇编语言来实现的。这个阶段通常包括以下步 骤: 1 硬件设备初始化。目的是为阶段2 的执行以及随后内核的执行准备好基本 的硬件环境。 2 为加载b o o t l o a d e r 的阶段2 准备r a m 空间。为了获得更快的执行速度, 通常把阶段2 加载到r a m 空间来执行。 3 拷贝b o o t l o a d e r 阶段2 的代码到r a i v l 空间中。 4 设置好堆栈。 5 跳转到阶段2 的c 程序入口点。 b o o t l o a d e r 的阶段2 通常用c 语言来实现,这样可以实现更复杂的功能,而且 代码会具有更好的可读性和可移植性。通常包括以下步骤: i 初始化本阶段要使用到的硬件设备。 2 检测系统内存映射。 3 将内核映像和根文件系统映像从f l a s h 上读到r a m 空间中。 4 为内核设置启动参数。 5 调用内核。 3 3 3v i v i 的代码分析与移植 v i v i 是韩国m i z i 公司开发的b o o t l o a d e r , 适用于a r m 9 处理器。 一、v i v i 的代码分析 主要目录结构简介如下, 1 a r c h :此目录包括了所有v i v i 支持的目标板的子目录,例如$ 3 c 2 4 1 0 目录。 2 d r i v e r s :其中包括了引导内核所需的m t d 设备和串口驱动程序。m t d 目录 下分m a p s 、h a n d 和n o r 三个目录,实现对n a n df l a s h 和n o rf l a s h 的读写 控制。s e r i a l 目录下的文件实现对串口的控制,并支持x r a o d e m 和y m o d e m 协议。 3 i n c l u d e :头文件的公共目录,其中的s 3 c 2 4 1 0 h 定义了处理器的一些寄存 器配置,以及n a n df l a s h 的一些寄存器配置等。p l a t f o r m s m d k 2 4 1 0 h 定 义了与目标板相关的资源配置参数,修改波特率、引导参数和物理内存映 射等参数就可适用于自己的目标板。 4 s c r i p t s :主要在编译配置时用到,存放了编译配置所需的脚本文件,如 m e n u c o n f i g 和c o n f i g u r e 文件,以方便对v i v i 的配置。 二、v i v i 移植 进入v i v i 源代码目录后,执e - 。m a k em e n u c o n t i g 命令开始编译配置,根据目 1 0 江苏大学硕士学位论文 标板建立自己的配置文件。本目标板采用n a n df l a s h 存储器,配置时各选项如下 j 阱刁r : s y s t e mt 咖一 c o n f i ga r c hs 3 c 2 4 1 0 = y g e n e r a ls e t u p - c o n f i g $ 3 c 2 4 1 0 一m d k 习 c o n f l gs 3 c 2 4 l on a n d _ b o o t = y c o n f i gv i 田巳1 a 【:a d d 捌 c o n f i gp m = y p r i v a t ed a t a - c 哪p r n 内r c o n f i gb u 塔ep r i vd a t a f f i y c o n f i gu s eb 蛆l a m _ b l k = y s e r i a lp o r t - c o n f i gs e r i a l = y c o n f l gs e r l 址t e r m = y c o n f i gs e r i a lg e t c m de b r c o n f i gs e r k 也田巳r mp r o m i 叮_ “a r m 9s 3 c 2 4 1 0 x ” c o n f i gs e r 队lu a r t o w c o n f i gs e r l a lx m o d e m f y m e m o r yt e c h n o l o g yd e v i c e s ( m t d ) - c o n f i gm t d = y c o n f i g d $ 3 c 2 4 1 ( b - - - y n a n df l a s hd e v i c ed r i v e r s - c o n f i g dn a n d = y c o n f i gm 册n a n de c c = y c o n f l 0 ds m c ;v c o n f i gk 盯db o n f s = y c o n f i gm 1 dn a n d y = y a d db u i l t - i nc o m m a n d s - c o n f i gc m dm e m = y c o n f i gc n ) p a r a m = y c o 虾i gc m d 鼢r 玛r c o n f i gc m db o n f s = y 蛐c f l e 文件中设置编译器c c 为本机上的交叉编译器。执行妣,命令编译 v i ,如果编译过程顺利,将会在当前目录下生成v 淅二进制镜像文件。当v i v i 烧入f l a s h ,并能正常启动,就可以使用它来加载内核了。 江苏大学硕士学位论文 3 4l i n u x 操作系统的移植 在交叉编译环境和b o o t l o a d e r 建立后,下面的工作就是对l i n u x 操作系统的移 植。使某一平台代码运行在其它平台上的过程就叫做移植。因为不同的硬件平台体 系结构不同、硬件电路不同,要结合体系结构和硬件电路对已有的内核代码进行修 改。在x 8 6 平台上的l i n u x 系统,可以通过移植,使之运行在a r m 、p o w e r p c 等 等多种硬件平台上。 l i n u x 系统移植可分为内核部分和系统部分。通常启动一个l i n u x 系统的过程 是:一个不隶属于任何操作系统的加载程序将l i n u x 部分内核调入内存,并将控制 权交给内存中l i n u x 内核的第一行代码,加载程序的工作就完成了。此后l i n u x 内 核要将自己的剩余部分全部加载到内存,初始化所有的设备,在内存中建立好所需 的数据结构( 有关迸程、设备、内存等) 。到此为止,l i n u x 内核的工作告一段落, 内核已经控制了所有硬件设备。至于操作和使用这些硬件设备,则轮到系统部分登 场了。内核加载设备并启动i n i t 守护进程, n i t 守护进程会根据配置文件加载根文 件系统、配置网络、服务进程、终端等。至此整个l i n u x 系统启动完毕。简而言之, 内核部分初始化并控制大部分硬件设备,为内存管理、进程管理、设备读写等工作 做好一切准备;系统部分加载必需的设备、配置各种环境以便用户可以使用整个系 统【6 l 忉。 l i n u x 操作系统的移植主要是内核移植,移植第一步获得针对a r m 的l i m u x 的内核源码。首先到l i m l x 内核下载官方网站h t l p :w w w k e r a e l o l g r - f 载l i n u x 内核 源代码;然后到a r m 平台内核树维护者r u s s e l lr d n g 的网站 h t t p :l l w w w a r m l i n u x o r g u l d d c v e l o p e r 上下载到关于该版本内核的补丁程序 l i n u x - 2 4 1 8 - p a t c h - r i n k 7 t a r g z 。实际过程中要下载的软件包有: l i n u x - 2 4 1 8 t a r b 砼版本为2 4 1 8 的l i n u x 内核 l i n u x - 2 4 1 8 - p a t c h - r i n k 7 t a r 野有关l i n u x 内核在a r m 9 平台上的补丁包 得到合适的内核源码后,关键是怎么编译内核。下面先对l i n u x 内核结构进行 分析。 1 内核目录简介 一a r c h :所有与硬件结构相关的特定代码,如i 3 8 6 、黜等处理器相关的代码。 一i d r i v e r s :内核中所有的设备驱动程序。 - 凰:所有文件系统的代码,如c x t 2 、v f a t 等 - i n c l u d e :建立内核代码所需的库文件及不同平台需要的库文件,如醐n 伽 是锄平台需要的库文件 - m i t :内核的初始化代码。 江苏大学硕士学位论文 - n e t :网络相关代码,如i p v 4 、8 0 2 等 2 。移植要点 - 如果l i n u x 内核没有对我们所用的处理器提供支持,则移植时需要添加对这 款处理器的支持。 一l i n u x 是个开放源代码的操作系统,已经有打了支持$ 3 c 2 4 1 0 补丁的内核下 载地址h t t p :w w w m i z i c o m d e v e l o p e r s 3 c 2 4 1 0 x d o w n l o a d k e m 圮1 h m a l 。 3 仍需做的工作 在m a k e f i l e 文件中指定目标平台和交叉编译器 - 内核只是对处理器的基本信息提供了支持,有关开发板的外设驱动,如u s b 、 l c d 等都需要用户自己添加,涉及许多选项。在这里列举u s b 摄像头驱动 的添加。 本系统选用u s b 摄像头网眼v 2 0 0 0 ,摄像头的配套芯片是0 v s i i 系列的,o v 5 1 1 是数字摄像i c 到u s b 的接口芯片,用于将摄取的数字视频图像直接通过u s b 接口送入 开发板进行处理。为确保o v 5 l l 接口芯片在l i n u x 下的正常驱动,在对l i n u x 内核进 行编译时,应配置为支持u s b ,使能“p r e l i m i n a r yu s bd e v i c e f i l es y s t e m ”和 u s b 控制器驱动,再添加o v 5 l l 芯片驱动,相应的配置如下: s u p p o r tf o ru s b 4 。1 m i s c e l l a n e o u su s bo p t i o n s 宰 p r e l i m i n a r yu s bd e v i c ef i l e s y s t e m u s bc o n t r o l l e r s $ 3 c 2 4 1 0o h c i c o m p a t i b l eh o s ti n t e r f a c es u p p o r t u s bm u i t i m e d i ad e v i c e s u s bo v 5 1 1c a m e r as u p p o r t 3 5y a f f s 文件系统移植 3 5 1 文件系统概述 文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构,即在磁 盘上组织文件的方法。嵌入式文件系统是建立在m t d ( m c m o r yt e c h n o l o g yd e v i c e s ) 基础之上的。m t d 是用于访问f l a s h 设备的l i m m 子系统,其主要目的是使h a s h 设备的驱动程序更简单。m t d 在硬件和上层之间提供了一个抽象的接口,它相当 予f l a s h 设备的驱动程序,它向上主要提供两个接口:字符设备和驱动

温馨提示

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

评论

0/150

提交评论