(电力系统及其自动化专业论文)嵌入式linux在网络视频监控中的应用.pdf_第1页
(电力系统及其自动化专业论文)嵌入式linux在网络视频监控中的应用.pdf_第2页
(电力系统及其自动化专业论文)嵌入式linux在网络视频监控中的应用.pdf_第3页
(电力系统及其自动化专业论文)嵌入式linux在网络视频监控中的应用.pdf_第4页
(电力系统及其自动化专业论文)嵌入式linux在网络视频监控中的应用.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(电力系统及其自动化专业论文)嵌入式linux在网络视频监控中的应用.pdf.pdf 免费下载

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

文档简介

匿南交通大学硕士研究生学位论文第1 i 页 a b s tr a c t w i t ht h ed e v e l o p m e n to fn e t w o r k t e c h n o l o g y , c o m m u n i c a t i o nt e c h n o l o g ya n d d i g i t a lv i d e ot e c h n o l o g y , t h ev i d e om o n i t o r i n gs y s t e ms t e p si n t ot h ec o m p l e t e l y d i g i t a ln e t w o r kt i m eg r a d u a l l y , a n de m b e d d e d n e t w o r kv i d e om o n i t o r i n gs y s t e mi s e x a c t l y a d e v e l o p i n gd i r e c t i o n o n eo ft h e m n o w , t h ea p p l i c a t i o no fl i n u xi n e m b e d d e df i e l di sm o r ea n dm o r ee x t e n s i v e b e c a u s ei t se x c e l l e n tk e r n e ld e s i g n a n d a p p l i c a t i o np e r f o r m a n c e ,l i n u xi sr u n n i n g o n m a n y k i n d so fh a r d w a r e l i n u x a l s oo w n so t h e rm e r i t ss u c ha si t sf r e es o u r c ec o d e ,i t si n h e r i t n e t w o r k i n g f u n c t i o n sa n di t sm o d u l a r i z a t i o nd e s i g ni nk e r n e l t h e r e f o r el i n u xi ss u i t a b l et ob e t h e o p e r a t i n gs y s t e m o fe m b e d d e ds y s t e m u c l i n u xi sab r a n c ho fe m b e d d e d l i n u x ,a n di t i s d e s i g n e df o rn o m m uc p u t h i st h e s i si n t r o d u c e sad e s i g no f n e t w o r kd i g i t a lv i d e om o n i t o r i n gs y s t e mb a s e do nu c l i n u x i ti sc o m p o s e do ft h e e m b e d d e dn e t w o r kc a m e r aw h i c hu s e da sv i d e oc o l l e c t t i n ge q u i p m e r i ti nt h e s c e n ea n dt h el o n g - r a n g ec l i e n tw h i c hm a d e u p o fc o n t r o ls o f t w a r e a t f i r s t ,p r i m a r yc h a r a c t e r sa n d r e a l i z a t i o no fu c l i n u xi ns 3 c 2 5 1 0 a p l a t f o r m i si n t r o d u c e di nt h e t h e s i s h e r e ,w e e m p h a s i z e o n p r o g r a mt r a n s p l a n t o f b o o t l o a d e rt h r o u g hm o d i f i n ga r m b o o t a n dt h e n ,a c c o r d i n gt ot h er e q u e s to f e m b e d d e ds o f t w a r e sd e v e l o p m e n t ,w ee s t a b l i s ht h ec r o s sc o m l i l i n ge n v i r o n m e n t f o ro u rp l a t f o r ma n dr e c o n f i g n r et h ek e r n e lo fu c l i n u xf o rr e d u c i n gt h eb u l ko f e m b e d d e d o p e r a t i n gs y s t e m i n o r d e rt o s i m p l i f y t h e d e s i g n o f a p p l i c a t i o n p r o g r a m m i n g ,w em a k eu s eo fs u c hf e a t u r e sa sm u l t i p r o c e s sa n dm u l t i t h r e a do f u c l i n u x t h e s i m u l t a n e i t yw o r k i n g o fm u l t i - m o d u l e si s a c c o m p l i s h e d w i t h m u l t i p r o c e s s ,w h i l em u l t i t h r e a d i su s e di nt h ec o m m u n i c a t i o no fn e t w o r kf o r p r o c e s s i n g e a c hc o n n e c t i o nw i t h s i n g l et h r e a d ,t h i st e c h n o l o g yi m p r o v e d t h e e f f i c i e n to fn e t w o r k ,r e d u c e dt h es p e n d i n go fs y s t e m t h em e t h o do fi pm u l t i c a s t t e c h n o l o g yi sa d o p t e di n a u d i o v i d e os t r e a mu a n s m i s s i o n ,a tt h es a m et i m et h e d e s i g na n dr e a l i z a t i o no fs y s t e m ss o f t w a r eb a s e do n t h i sm e t h o di sf i n i s h e d i ns t r u c t u r eo ft h eh a r d w a r ec i r c u i t ,d o u b l e - c p us y s t e mb a s e do n $ 3 c 2 5 1 0 a a n dg 0 7 0 0 7 s bi sa d o p t e d t h eh i g h l ye f f i c i e n tc h i p $ 3 c 2 5 1 0 ab a s e do nt h ec o r e o fa k m 9 4 0 ta c t sa st h eh o s tc p uo nw h i c hu c l i n u xa n d a p p l i c a t i o n p r o g r a m m i n gm n c o l l e c t i o n a n d c o m p r e s s i o no ft h ea u d i o v i d e o d a t a b yt h e s p e c i a lc h i pg o t 0 0 7 s b ,i t m a k e su s eo ft h en e w e s tm p e g - 4t e c h n o l o g yt o 西南交通大学硕士研究生学位论文第n i 页 c o m p l e t e v i d e os t r e a m c o m p r e s s i o n ,w h i c h h a st h e a d v a n t a g e s o ft h el o w e r r e q u e s to ft r a n s m i s s i o ns p e e d ,s m a l l e rd a t aa m o u n lo fi m a g e sa n dh i 曲e rq u a l i t y i m a g e s t h ev i d e om o n i t o r i n gs y s t e md e s i g n e di nt h et h e s i sh a st h ec h a r a c t e r so f c o n v e n i e n ti n s t a l l a t i o na n ds e t u p ,l o wd e m a n do fn e t w o r kb a n d w i d t h ,r e a l i z a b l e l o n g - r a n g er e a l - t i m em o n i t o r i n ga n ds oo n s o i th a sc e r t a i nv a l u ei np r a c t i c a l a p p l i c a t i o n k e y w o r d s :v i d e o m o n i t o r i n g e m b e d d e d s y s t e m u c l i n u x 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 1 1 视频监控系统的发展状况 视频监控系统,就是对被监控对象进行图像视频采集,然后由一定的设 备进行处理,以实现图像视频的再现,通过观测再现后的图像视频,掌握被 监控对象的信息并做出相应的反应。视频监控系统是安全防范系统的组成部 分,它是一种防范能力较强的综合系统。视频监控以其直观、方便、信息内 容丰富而广泛应用于许多场合。近年来,随着计算机、网络以及图像处理、 传输技术的飞速发展,视频监控技术也有长足的发展。 视频监控系统的发展大致经历了三个阶段。在九十年代初以前,主要是 以模拟设备为主的闭路电视监控系统,称为第一代模拟监控系统。九十年代 中期,随着计算机处理能力的提高和视频技术的发展,人们利用计算机的高 速数据处理能力进行视频的采集和处理,利用显示器的高分辨率实现图像的 多画面显示,从而大大提高了图像质量,这种基于pc 机的多媒体主控台系 统称为第二代数字化本地视频监控系统。九十年代末,随着网络带宽、计算 机处理能力和存储容量的快速提高,以及各种实用视频处理技术的出现,视 频监控步入了全数字化的网络时代,称为第三代远程视频监控系统。第三代 视频监控系统以网络为依托,以数字视频的压缩、传输、存储和播放为核心, 以智能实用的图像分析为特色,引发了视频监控行业的技术革命,受到了学 术界、产业界和使用部门的高度重视。 1 1 1 数字化视频监控产品现状 在国内外市场上,主要推出的是数字控制的模拟视频监控和数字视频监 控两类产品。前者技术发展已经非常成熟、性能稳定,并在实际工程应用中 得到广泛应用,特别是在大、中型视频监控工程中的应用尤为广泛;后者是 新近崛起的以计算机技术及图像视频压缩为核心的新型视频监控系统。该系 统解决了模拟系统部分弊端而迅速崛起,但仍需进一步完善和发展。从目前 来看,视频监控产品的主要差异在于视频数据压缩编码技术、操作系统和系 统硬件体系结构方面。 从视频压缩编码技术上看,主要分为m j p e g ,m p e g 1 ,m p e g 4 。 m j p e g 技术主要被韩国,台湾产品所采用,m p e g 一1 技术主要被国内厂家 所采用,而m p e g 4 技术目前真正做到的还没有几家。m p e g 1 与m j p e g 西南交通大学硕士研究生学位论文第2 页 压缩技术由于技术成熟,可供d v r 开发厂商的压缩板卡相对比较多,是目 前d v r 市场的主流技术。由于m p e g - 1 数据流量适中( 4 0 0 k b p s - - 1 5 m b p s ) , 核心硬件压缩芯片在市场上容易得到,软件开发技术也相对成熟简单,因此 大多厂商都推出相应的产品。目前市场上8 0 以上的产品都采用m p e g 1 的 压缩技术,但由于m p e g 1 标准的缺陷和m p e g 4 标准的逐渐成熟,市场上 也出现了m p e g 4 专用硬件压缩芯片,如本系统中用到的g 0 7 0 0 7 s b 就是一 款这样的芯片。这都为m p e g 4 成为数字视频监控应用开发中压缩标准主流 提供了良好的条件。 从操作系统和硬件体系来看,主要分为工控w i n d o w s 式和嵌入式两类产 品。工控w i n d o w s 产品采用工控p c 架构,运行w i n d o w s 操作系统平台,目 前以该类新产品为市场主流。嵌入式系统往往采用专用硬件系统,运行微内 核实时多任务操作系统,并将操作系统和应用程序固化在f l a s h 芯片上, 该产品发展较好,有取代工控产品之势。 工控w i n d o w s 产品的广泛使用,一方面由于该产品技术含量低,产品技 术成熟,在数字监控发展的初期被广泛使用;另一方面是其利用现有的操作 系统可进行多种功能的开发,可满足用户多元化的需求。但工控产品因其操 作系统内部执行的限制,造成产品运行不稳定,容易发生死机现象,不适用 于较高要求的某些安防领域的使用。 嵌入式产品有分为p c 嵌入式和非p c 嵌入式两种方式。p c 嵌入式采用 工控p c 的硬件架构,运行嵌入式操作系统( 如嵌入式l i n u x ) ,操作系统和应 用程序固化在f l a s h 电子盘上以保证操作系统和应用程序的运行稳定性。 非p c 的嵌入式产品采用专用的硬件架构,其成本较低,嵌入式操作系统也 是固化在f l a s h 芯片上。从特征来看,两者都是将操作系统和应用程序固 化在f l a s h 芯片上,避免硬盘存储的不可靠性,同时,采用嵌入式操作系统具 有效率高,资源占用少,系统稳定可靠的特点。早期的非p c 嵌入式的产品采用 的处理器较弱,导致系统的性能较低,扩充能力和对网络的支持能力也较差,在 一定程度上限制了该产品的应用。但随着高性能嵌入式微处理器以及专用的 视频图像处理芯片的相继问世,这些问题已经得到了很大程度上的解决,使 得非p c 嵌入式产品称为发展的主流。基于以上分析可以看出,嵌入式的产 品具有较好的发展趋势和应用前景。 1 1 2 视频监控系统的发展趋势 前端体化、视频数字化、监控网络化、系统集成化是视频监控系统公 西南交通大学硕士研究生学位论文第3 页 认的发展方向。其中,数字化是网络化的前提,网络化又是系统集成化的基 础,所以,视频监控发展的趋势是数字化、网络化和系统集成。 1 数字化 数字化是2 1 世纪的特征,是以信息技术为核心的电子技术发展的必然, 数字化是迈向成长的通行证,随着时代的发展,我们的生存环境将变得越来 越数字化。视频监控系统的数字化首先应该是系统中信息流( 包括视频、音 频、控制等) 从模拟状态转为数字状态,这将彻底打破”经典闭路电视系统是 以摄像机成像技术为中心”的结构,根本上改变视频监控系统从信息采集、数 据处理、传输、系统控制等的方式和结构形式。信息流的数字化、编码压缩、 开放式的协议,使视频监控系统与安防系统中其它各子系统间实现无缝连接, 并在统一的操作平台上实现管理和控制,这也是系统集成化的含义。 2 网络化 视频监控系统的网络化将意味着系统的结构将由集总式向集散式系统过 渡。集散式系统采用多层分级的结构形式具有微内核技术的实时多任务、 多用户、分布式操作系统以实现抢先任务调度算法的快速响应。组成集散式 监控系统的硬件和软件采用标准化、模块化和系列化的设计,系统设各的配 置具有通用性强、开放性好、系统组态灵活、控制功能完善、数据处理方便、 人机界面友好以及系统安装、调试和维修简单化,系统运行互为热备份,容 错可靠等优点。系统的网络化在某种程度上打破了布控区域和设备扩展的地 域和数量界限。 3 系统集成 系统集成是在数字化和网络化的基础上,为了更有效地保证监控效果, 将监控系统、报警系统等与安防相关的多个子系统进行集成利用软件技术, 通过开放式的协议,使视频监控系统与安防系统中其它各子系统间实现无缝 连接,并在统一的操作平台上实现集中、统一的监视、控制和管理,实现信 息资料和软硬件资源的充分共享。 1 2 嵌入式l _ i i l u x 的现状 1 2 1 嵌入式l i n u x 的主流版本 1 e m b e d i x e m b e d i x 是由嵌入式l i n u x 行业主要厂商之一l i n e o 推出的,是根据嵌 入式应用系统的特点重新设计的l i n u x 发行版本。e m b e d i x 提供了超过2 5 种 西南交通大学硕士研究生学位论文第4 页 的l i n u x 系统服务,包括w e b 服务器等。系统需要最小8 m b 内存,3 m br o m 或快速闪存。它基于l i n u x2 2 内核,并已经成功地移植到了i n t e lx 8 6 和 p o w e r p c 处理器系列上。如其他的l i n u x 版本一样,e m b e d i x 可以免费获得。 l i n e o 还发布了另一个重要的软件产品。它可以让在w i n d o w sc e 上运行的程 序能够在e m b e d i x 上运行。u i l e o 还将计划推出e m b o d i x 的开发调试工具包、 基于图形界面的浏览器等。可以说,e m b e d i x 是一种完整的嵌入式l i n u x 解 决方案。 2 u c l i n u x u c l i n u x 是u 1 1 0 0 公司在开放源代码的嵌入式l i n u x 中的个典范之作, 在i j n u x 内核2 o 的时候,u c l i n u x 就产生了。耳前,u c l i n u x 已经支持l i n u x 内核2 6 x 。它是面向不支持m m u 的硬件平台,目前支持m o t o r o l a6 8 k 、 m c f 5 、a r m 系列等。它秉承了标准l i n u x 的优良特性,经过各方面的小 型化改造,形成了一个高度优化的、代码紧凑的嵌入式i u 立n u x 。虽然它的体 积很小,却仍然保留了l i n u x 的大多数的优点:稳定、良好的移植性、优秀 的网络功能、对各种文件系统完备的支持和标准丰富的a p i 。 本文讨论的弼络视频监控系统就是使用u c l i n u x 作为前端机的嵌入式操 作系统,详细的分析见第2 章和第4 章。 3 r t l i r l u x 由美国新墨西哥理工学院最早开发的硬实时l i n u x a p i ,在设计和实现时 力图遵循p o s i x1 0 0 3 1 3 标准。到日前为止,r t - l i n u x 已成功应用于航天飞 机的空间数据采集、科学仪器测控和电影特技图像处理等广泛领域。 r t - l i f l 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 内核的改动非常小,并且充 分利用了l i n u x 下现有的丰富的软件资源。r t - 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 普通进程之间的通信通过共享内存或者 f i t 0 通道来实现【1 l 。 4 红旗嵌入式l i n u x 由北京中科院红旗软件公司推出的嵌入式l i n u x ,是国内做得较好的一 款嵌入式操作系统。它秉承了开放的l i n u x 的诸多优秀性能,:并经过红旗软 西南交通大学硕士研究生学位论文第5 页 件公司的精心优化和裁减,从而更加适用于嵌入式设备。现在,可以在移动 计算平台、信息家电、工业控制等众多的嵌入式设备中看到红旗嵌入式l i n u x 的身影。 1 2 2 嵌入式l i n u x 发展方向 l i n u x 从出现到现在已经有十年的历史了,而嵌入式l i n u x 的实用化开 发是近来才出现的,虽然到目前为止。尚未出现完全成熟的嵌入式l i i i u x 操作系统,但这一领域开发的热潮已经到来。 目前国际上对嵌入式l i n u x 的开发主要集中在两个方向: 1 系统裁减 嵌入式系统硬件资源有限,对软件的体积有比较苛刻的要求。由于l i n u x 是单一模块结构,体积较大,不适合直接在嵌入式设备中应用。许多厂商致 力于开发符合原l i n l i x 接口标准的小体积的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 内核作为实时内核的一个任务来运行,这种方法可以实现硬实时。 1 3 系统的总体介绍 本文设计的嵌入式网络视频监控系统由前端网络摄像机( 以下简称前端 机) 、监控中心服务器、远程监控客户端三部分构成。其中监控中心服务器的 主要功能为:接收前端机的视频编码数据,保存在本地硬盘上,同时进行解 码,并显示多路解码图像;点播保存视频数据,供客户端查询;控制前端机 的各项参数等。远程监控客户端的主要功能有:通过客户端工具对采集的图 像进行实时监控,查询和检索分析,控制前端机。 前端机通过摄像头采集现场图像得到模拟视频信号并采样,拾音器采集 现场声音得到模拟音频信号并采样,然后传递到美国w i s 公司专用音视频压 缩芯片g 0 7 0 0 7 s b ,压缩后得到m p e g 4 压缩标准的视频流和a d p c m 编码 西南交通大学硕士研究生学位论文第6 页 的音频流,经过网络接口发送到i n t e r a c t 。监控中心服务器和客户端软件接收 前端机传输来的压缩音视频数据流,实时解码显示,其中服务器保存音视频 数据以供日后查询,并实现动态检测功能,e - m a i l 报警等,以达到远程视 频监控的目的【2 1 。 由于本人的主要工作是负责网络视频监控系统前端机嵌入式软件的设计 和实现,而监控中心服务器软件、客户端的解码和播放模块由本组其他同学 完成,因此本论文主要讨论在u c l i n u x 操作系统上实现前端机的功能。 西南交通大学硕士研究生学位论文第7 页 第2 章u c l i n u x 系统简介 l i n u x 是一种很受欢迎的操作系统,它与u n i x 系统兼容,开放源代码。 它原本被设计为桌面系统,现在广泛应用于服务器领域,而更大的影响在于 其正逐渐的应用于嵌入式设备。u c l i n u x 正是在这种氛围下产生的。在u c l i n u x 这个英文单词中u 表示m i c r o ,小的意思,c 表示c o n t r o l ,控制的意思,所 以u c l i n u x 就是m i c r o c o n t r o l l i n u x ,字面上的理解就是“针对微控制领域 而设计的1 3 i i l i x 系统”。它专门针对没有m m u 的c p u ,并且专为嵌入式系 统做了许多小型化的工作。现今u c l i n u x 已经成功应用在很多产品中,例如: 基于c o l d f i m 的c i s c o2 5 0 0 1 3 0 0 0 1 4 0 0 0 路由器;基于a r m 7 t d m i 的a p l i o 公司的v o i c c - o v e r i p 电话:a x i s 公司的a x i s 2 0 0 1 网络数码相机;a d o m o 公 司的机顶盒以及各种开发板。 2 1 内存管理的特点 u c l i n u x 同标准l i n u x 的最大区别就在于内存管理。标准l i n u x 是针对有 m m u 的处理器设计的。在这种处理器上,虚拟地址被送到m m u ,m m u 把 虚拟地址映射为物理地址。通过赋予每个任务不同的虚拟物理地址转换跌 射,支持不同任务之间的保护。 对于u c l i n u x 来说,其设计针对没有m m u 的处理器,即u c l i n u x 不能使 用处理器的虚拟内存管理技术。u c l i n u x 仍然采用存储器的分页管理,系统在 启动时把实际存储器进行分页。在加载应用程序时程序分页加载。但是由于 没有m m u 管理,所以实际上u c l i n u x 采用实存储器管理策略,这一点影响 了系统工作的很多方面。u a i n u x 系统对于内存的访问是直接的( 它对地址的 访问不需要经过m m u ,而是直接送到地址线上输出) ,所有程序中访问的地 址都是实际的物理地址。操作系统对内存空间没有保护,各个进程实际上共 享一个运行空间。一个进程在执行前,系统必须为进程分配足够的连续地址 空间,然后全部载入主存储器的连续空间中。与之相对应的是标准l i n t l x 系 统在分配内存时没有必要保证实际物理存储空间是连续的,而只要保证虚存 地址空间连续就可以了。此外磁盘交换空间也是无法使用的,系统执行时如 果缺少内存将无法通过磁盘交换来得到改善。 u c l i n u x 对内存的管理减少同时就给开发人员提出了更高的要求。如果 从易用性这一点来说,u c j n u x 的内存管理是一种倒退,退回了到了u n i x 早 规或是d o s 系统时代,开发人员不得不参与系统的内存管理。从编译内核开 西南交通大学硕士研究生学位论文第8 页 始,开发人员必须告诉系统这块开发板到底拥有多少的内存,从而系统将在 启动的初始化阶段对内存进行分页,并且标记已使用的和未使用的内存。系 统将在运行应用时使用这些分页内存。 由于应用程序加载时必须分配连续的地址空间,而针对不同硬件平台的 可一次成块( 连续地址) 分配内存大小限制是不同,所以开发人员在开发应 用程序时必须考虑内存的分配情况并关注应用程序需要运行空间的大小。另 外由于采用实存储器管理策略,用户程序同内核以及其它用户程序在一个地 址空间,程序开发时要保证不侵犯其它程序的地址空间,以使得程序不至于 破坏系统的正常工作,或导致其它程序的运行异常。 虽然u c l i n u x 的内存管理与标准l i n u x 系统相比功能相差很多,但应该 说这是嵌入式设备的选择。在嵌入式设备中,由于成本等敏感因素的影响, 普遍采用不带有m m u 的处理器,这决定了系统没有足够的硬件支持来实现 虚拟存储管理技术。从嵌入式设备实现的功能来看,嵌入式设备通常在某一 特定的环境下运行,只要实现特定的功能,其功能相对简单,内存管理的要 求完全可以由开发人员考虑【3 】。 2 2u c l i n u x 的小型化方法 1 u c l i n u x 的内核加载方式 u c l i n u x 的内核有两种可选的运行方式:可以在f l a s h 上直接运行,也可 以加载到内存中运行。 f l a s h 运行方式:把内核的可执行映像烧写到f l a s h 上,系统启动时从 f l a s h 的某个地址开始逐句执行。这种方法实际上是很多传统嵌入式系统采用 的方法。 内核加载方式:把内核的压缩文件存放在f l a s h 上,系统启动时由 b o o t l o a d e r 读取压缩文件到r a m 里解压,然后开始执行。这种方式相对复杂 一些,但是运行速度可能更快( r a m 的存取速率要比f l a s h 高) ,同时这也 是标准l i n u x 系统采用的启动方式。这虽然会牺牲一些系统的启动速度,并 导致一些额外的系统内存开销,但是换来的是系统整体性能的提高,因此是 值得的。在本文设计的系统上就是采用该方法。 2 u c l i n u x 的根文件系统 u c l i n u x 系统采用r o t o r s 文件系统,这种文件系统相对于一般的e x t 2 文 件系统要求更少的空间。空间的节约来自于两个方面,首先内核支持r o m f s 文件系统比支持e x t 2 文件系统需要更少的代码,其次r o t o r s 文件系统相对简 西南交通大学硕士研究生学位论文第9 页 单,在建立文件系统超级块( s u p e r b l o c k ) 需要更少的存储空间。r o m f s 文件 系统不支持动态擦写保存,对于系统需要动态保存的数据采用虚拟r a m 盘的 方法进行处理( r a m 盘将采用e x t 2 文件系统) 。g e n r o m f s 工具用于创建r o t o r s 文件系统,它把所有的r o m f s 文件合并到一个文件中去,称之为文件系统映 像,一般名为r o t o r s i m g ,再和内核映像打包,就可以生成二进制映像供下载 使用。 3 u c l i n u x 的应用程序库 u c l i n u x 小型化的另一个做法是重写了应用程序库,相对于越来越大且越 来越全的g l i b c 库,u c l i b c 对l i b c 做了精简。u c l i n u x 对用户程序采用静态连 接的形式,这种做法会使应用程序变大,但是基于内存管理的阀题,也就是 基于没有m m u 的特性,只能这样做,同时这种做法也更接近于通常嵌入式 系统的做法。 常用的u c l i n u x 应用程序库有u c - l i b c 和u c l i b c 。u c - l i b c 是u c l i n u x 的原 始库,实现了标准l i b c 的大部分a p i 函数。目前稳定的支持m 6 8 k 、c o l d f i r e 系列和a r m ( 无m m u ) 体系的嵌入式微处理器。u c l i b c 提供大多数的类 u n i x 的c 程序调用,它更好的和g l i b c 兼容,支持的硬件平台更广泛。如果 应用程序需要用到u c l i b c 中没有提供的函数,这些函数可以加到u c l i b c 中、 或者作为一个独立的库、或者加到应用程序上面来进行链接。 2 3 可执行文件格式 先解释几种可执行文件格式: c o f f ( c o m m o n o b j e c t f i l ef o r m a t ) :一种通用的对象文件格式。 e l f ( e x c u t i v el i n k e d f i l e ) :一种为l i n u x 系统所采用的通用文件格式,支 持动态连接。 f l a t :e l f 格式有很大的文件头,f i a t 文件对文件头和一些段信息做了简化。 u c l i n u x 系统使用f l a t 可执行文件格式,g c c 的编译器不能直接形成这种 文件格式,但是可以形成c o f f 或e i f 格式的可执行文件,这两种文件需要 c o f f 2 f l t 或e l f 2 n t 工具进行格式转化,形成f i a t 文件。 f l a t 文件格式的引入是为了适应u c l i n u x 中独特的内存管理模式。它包含 以下几部分:可执行文件头t c l o c 段,紧接着是程序的文本段、数据段和未 初始化数据段。 西南交通大学硕士研究生学位论文第1 0 页 2 4 设备驱动 l i n u x 中的硬件设备通常可分为以下三种: 字符设备( c h a r ) ,以字节为单位,只能顺序访问,不能缓存。控制 台和并口。 块设备( b l o c k ) ,它的数据可以被随机访问,而且从用户的角度来看, 传送不同数据块所需的时间都是大致相同的。块设备的典型例子是硬盘、软 盘以及嵌入式系统中的吣h 和r a m 。 网络设备接口( n e t ) ,它可以是一个实际的网络设备,也可以是一个 类似于l o o p b a c k 接口样的软件工具。 l i n u x 系统采用设备文件统一管理硬件设备,从而将硬件设备的特性及 管理细节对用户隐藏起来,实现用户程序与设备无关性。设备驱动程序是操 作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的 细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象 操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它 完成以下的功能: 对设备初始化和释放 把数据从内核传送到硬件和从硬件读取数据 读取应用程序传送给设备文件的数据和回送应用程序请求的数据 检测和处理设备出现的错误 设备驱动程序是在“内核空间”中运行的,而一般应用程序则是在“用 户空间”中运行。在u c l i n u x 系统中,操作系统内核程序在最高级执行( 也称 为管理员态) ,在内核空间可以执行对硬件的任何操作,而一般的应用程序则 运行在最低级( 用户空间) 。在用户空间操作,系统禁止对硬件的直接访问和 对内存的末授权访问。 u c l i n u x 通过系统调用和硬件中断完成从用户空间到内核空间的控制转 移。执行系统调用的内核代码在进程的上下文上执行( 它代表调用进程操作, 而且可以访问进程地址空间的数据) 。但与此不同,处理中断的函数代码相对 进程而言是异步的,而且与任何一个进程都无关【4 1 。 2 5u c l i n u x 的进程与线程 进程是任何多道程序设计的操作系统中的基本概念。通常把进程理解为 程序执行的一个实例,包括程序和执行该程序所用到的资源。 匿南交通大学硕士研究生学位论文第1 1 页 u c l i n u x 没有m m u 管理存储器,在实现多个进程时( f o r k 调用生成子进 程) 需要实现数据保护。由子u c l i n u x 的多进程管理是通过v f o r k 来实现,因 此f o r k 等于v f o r k 。这意味着u c l i n u x 系统f o r k 调用完成后,要么予进程代替 父进程执行( 此时父进程已经s l e e p ) 直到子进程调用e x i t 退出:要么调用e x e c 执行一个新的进程这个时候将产生可执行文件的加载,即使这个进程只是 父进程的拷贝,这个过程也不能避免。当子进程执行e x i t 或e x e c 后,子进程 使用w a k e u p 把父进程唤醒,使父进程继续往下执行。 u c l i n u x 的这种多进程实现机制同它的内存管理紧密相关。u c l i n u x 针对 没有m m u 处理器开发,所以被迫使用一种f i a t 方式的内存管理模式,启动新 的应用程序时系统必须为应用程序分配存储空间,并立即把应用程序加载到 内存。缺少了m m u 的内存重映射机制,u c l i n u x 必须在可执行文件加载阶段 对可执行文件r e l o c 处理,使得程序执行时能够直接使用物理内存【”。 线程和进程是紧密相关的概念。一般来说,l i m i x 系统中的进程应具有 一段可执行的程序、专用的系统堆栈空间、私有的“进程控制块”( 即t a s ks t r u c t 数据结构) 和独立的存储空间。然而,l i n u x 系统中的线程只具备前三个组 成部分而缺少自己的存储空间。 线程可以看成是进程中指令的不同执行路线。例如,在文字处理程序中, 主线程负责用户的文字输入,而其他线程可以负责文字加工的一些任务。往 往也把线程称为“轻型进程”。l i n u x 系统支持内核空间的多线程。但它与大 多数操作系统不同,后者单独定义线程,而l i n u x 则把线程定义为进程的“执 行上下文”咖。内核线程的调度是由内核调度程序来完成的,因此每个线 程有自己的进程号。线程所消耗的系统资源比较少,相互闻的通信也比较容 易。在本文第五章将用多线程实现一个嵌入式c s 服务器程序,对每个连接 用一个线程去处理,以提高网络的利用效率。 u c l i n u x 的线程是通过使用p o s i x 线程库的a p l 来实现的,这些a p i 位 于l i b p t h r e a d a 和l i b p t h r e a d s o 库中,在编写程序对只要使用头文件 即可。当然在m a k em e n u c o n f i g 时要选择u c l i b c 库,编译时使用如下命令: a r i n e l f - g c c - - 0m y a p pm y a p p c - - l p t h r e a d 西南交通大学硕士研究生学位论文第1 2 页 第3 章系统硬件结构 该网络视频监控系统前端机硬件电路的结构主要分为两大模块: 以s 3 c 2 5 1 0 a 为核心的处理器模块 负责控制整个系统的运行,初始化g 0 7 0 0 7 s b ,硬件的驱动,网络通信。 以g 0 7 0 0 7 s b 为核心的音视频硬件压缩模块 主要作用是音视频数据的采集,对视频数据进行m p e g 4 标准压缩。 本章首先介绍了系统中用到的两个关键芯片s 3 c 2 5 1 0 a 和g 0 7 0 0 7 s b , 然后给出了硬件电路的设计方案。 3 1s 3 c 2 5 1 0 a 概述 $ 3 c 2 5 1 0 a 是s a m s u n g 公司推出的一款低成本、高性能的1 6 3 2 位r i s c 网络处理器,外设接口非常完备,主要应用于以太网h u b 、交换机、v o i p 、 x d s l m o d e m 、w l a n 产品、路由器、家庭网关等网络设备。它是基于高 性能的a r m 9 4 0 t 核设计,具有精简指令系统( m s c ) 和流水线结构。 3 1 1a r m 与触u v l 9 4 0 t 处理器 a r m 公司是专门从事基于r i s c 技术芯片设计开发的公司,作为知识产 权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具 特色的芯片。世界各大半导体生产商从a r m 公司购买其设计的a r m 微处 理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的 a r m 微处理器芯片迸入市场。目前,全世乔有几十家大的半导体公司都使 用a r m 公司的授权,因此既使得a r m 技术获得更多的第三方工具、制造、 软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接 受,更具有竞争力。 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 三种类型, 具有以下特点: 5 级整数流水线,指令执行效率更高; 支持3 2 位a r m 指令集和1 6 位t h u m b 指令集; 单一的3 2 位高速a m b a 总线接口; 全性能的m m u ,支持w i n d o w sc e 、l i n u x 、p a l mo s 等多种主流嵌 入式操作系统; m p u 支持实时操作系统; 西南交通大学硕士研究生学位论文 第1 3 页 支持数据c a c h e 和指令c a c h e ,具有更高的指令和数据处理能力。 a r m 9 系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶 盒、高端打印机、数字照相机和数字摄像机等。 a r m 9 4 0 t 是a r m 9 系列中带有高速缓存宏单元的处理器,结构如图3 l 所示。它的核心构架:一个a r m 9 t d m i 微处理器核心、一个4 k b 数据c a c h e 、 一个4 k b 指令c a c h e 、内存保护单元( m p u ) 、个a m b a 总线接1 5 1 。通过 程序化控制,经由微处理器核心中的寄存器去设置内存保护单元t 不需要在 内存中放置内存映射表数据。 b a l 3 t :0 1b c a l 州8 0 t 3 1 :0 1 图3 1a r m 9 4 0 t 的结构 a r m 9 4 0 t 具有以下的典型特点3 ”: a r m 9 t d m i 处理器核可以执行3 2 位a r m 和1 6 位t h u m b 指令集, 允许用户根据需要在高性能和高代码密度之间选择是用a r m 指令还是用 t h u m b 指令,使用t h u

温馨提示

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

评论

0/150

提交评论