




已阅读5页,还剩54页未读, 继续免费阅读
(计算机应用技术专业论文)基于嵌入式系统图像采集与传输设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着嵌入式系统、半导体和i n e t n r e t 技术的飞速发展,基于i n t e n r e t 的嵌入式远 程图像传输系统正成为新的研发热点。 本文将嵌入式系统开发技术与网络技术相结合,介绍了一种基于嵌入式l i n u x 和 $ 3 c 2 4 1 0 平台的图像采集传输系统。该系统通过u s b 摄像头采集图像数据,采用 v i d e 0 4 l i n u x 模块提供的接口进行视频采集程序的设计,通过网络实时传输,实现图片 的网络发送和接收、多线程同步等功能,同时为了满足实时性的要求,本系统在接收端 开发了接收端的交互界面。 本论文主要包括硬件实现和软件实现两大部分。硬件部分采用支持u s b 的摄像头 采集图像,然后通过以太网控制器c s 8 9 0 0 a 将采集的图像数据通过网络传送到接收端; 软件部分实现了对l i n u x 的目标板的修改移植,同时利用了t c p b p 协议,引入了多线 程的编程手段,采用内存影射法完成图像数据的网络传送。在网络传输中,为了提高系 统传输可靠性,同时考虑到网络上可能有多种数据在传送,论文中还采用网络流量控制 的算法,并针对嵌入式系统中图像传送的需求进行了一定的改进,使得图像传送较为稳 定可靠,在一定程度上降低了系统开销,对于网络流量控制的算法改进给出了算法测试 的结果。论文还介绍了其图像采集端软件设计。 测试结果显示,系统运行可靠,图像获取流畅,达到了在局域网内对远程环境监控 的预期目标。系统在降低成本,提高了扩展性和持续升级能力,为适应瞬息变化的市场 奠定了良好的基础。 关键词:图象采集:网络编程:嵌入式系统:多线程同步:远程监控系统 a b s t r a c t w i t ht h e r a p i dd e v e l o p m e n t o fe m b e d e ds y s t e m , s e m i c o n d u c t o ra n di n t e r n e t t e c h n o l o g y , t h ee m b e d e ds y s t e mr e m o t ei m a g eg a t h e rs y s t e mb a s e do ni n t e m e ti sb e c o m i n g t h er & df o c u s t h ep a p e ra b o u tav i d e oi m a g es y s t e mb a s e do nt h ee m b e d d e dl i n u xa n d $ 3 c 2 410b y c o m b i n i n ge m b e d d e dd e v e l o p m e n tt e c h n o l o g yw i t hi n t e m e tt e c h n o l o g yi si n t r o d u c e t h e s y s t e mc a t c ht h ev i d e oi m a g e t h r o u g ht h eu s bc a m e r a t h ed e s i g nu s et h et r a n s l a t ea n de d i t i n t e r f a c ep r o v i d i n gb yv i d e 0 4 l i n u xm o d u l et od e s i g nt h ec o l l e c t i o np r o g r a m m eo fv i d e o i m a g e b yc o m p r e s s et h es t r e a mm e d i u mb et r a n s m i t t e db yi n t e r a c t i ti n c l u d e st h ed e s i g no f s o f t w a r eo nt h e s e r v e rm a i n l y , i n c l u d i n gr e a l i z a t i o no ft h ed r i v i n ga n di m a g e g a t h e r i n g a p p l i c a t i o n so ft h ec a m e r a , i m a g es e n d i n ga n dr e c e i v i n ga p p l i c a t i o nb yi n t e m e t , m u l t i p l e - t h r e a ds y n c h r o n i z i n ga n ds oo n t or e a l i z et h er e a lt i m es y s t e mm u t u a li n t e r f a c ew a s d e v e l o p e di nr e c e i v i n ge n d t h ed e s i g nh a st w op a r t s ,t oh a r d w a r e ,w i t hu s bc a m a r ac a p t u r e i n gi m a g e ,c s 8 9 0 0 a w a sa d o p t e dt od e l i v e rt h ei m a g et or e c e i v ee n d ,s o f t w a r ei n t r o d u c t i o nw i l lb eg i v e nf r o mt h e b o t t o m1a y e rt ot h et o p1a y e r ,t ok e e pa w a yf r o ms o f t w a r ec o p y r i g h tt r o u b l e ,l i n u x o sw a s a d o p t e da n dw a st r a n s l a t e dt ot h ed e v e l o p m e n tb o a r db e c a u s ei ti sf r e eo fc h a r g e ,m e a n w h i l e m a k i n gu s eo fp r o t o c o l t c p i pa n dm u l t i t h r e a d i n gi m p r o v e st h et r a n s m i s s i o nr e a l i t y g r e a t l y , t h ea p p 1i m e n to fm m a pi nd e a l i n gw i t ht h ei m a g e sd e c r e a s e ds y s t e ms p e n d i n g , w h i l ec o n s i d e r i n gt h et r a n s m i s s i o no fa l ls o r t so fd a t ap a c k a g e ,s oi nt h ep a p e raa r i t h m e t i c a b o u tf l u xc o n t r o li sd e s c r i b e dd e t a i l e d l y 。a g a i n s td e m a n do fe m b e d d e ds y s t e m ,t h e a r i t h m e t i cw a si m p r o v e ds ot h a tas t e a d yi m a g et r a n s m i s s i o nw a so f f e r e d t oae x t e n t , t h e s y s t e ms p e n d i n gw a sd e c r e a s e d f i n a l l y ,ar e s u l ta b o u tf l u xc o n t r o li sg i v e n t h ep a p e ra l s o i n t r o d u c e dt h ed e s i g no fi m a g ec a p t u r e i n ge n ds o f t w a r e t e s t i n gr e s u l t ss h o wt h a tt h es y s t e mi sr e l i a b l e ,a n di tc a nc a p t u r ea n dt r a n s f e ri m a g e f l u e n t l y ,w h i c hm e a n t h a tt h es y s t e ms u c c e s s f u l l ya c h i e v e st h ee x p e c t a n tg o a l a n db e c a u s et h e e x t e n d i b i l i t ya n dc o n t i n o u su p g r a d eh a v eb e e nr a i s e dw h i l er e d u c i n gc o s t s ,i tl a y s ag o o d f o u n d a t i o nt oa d o p tt h er a p i d l yc h a n g i n gm a r k e t k e y w o r d s :i m a g eg a t h e r i n g ;n e t w o r k i n gp r o g r a m m i n g ;e m b e d d e ds y s t e m : m u l t i p l e t h r e a ds y n c h r o n i z i n g :l o n g d i s t a n c em o n i t o rs y s t e m 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取 得的研究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文 中不包含其他人已经发表或撰写过的研究成果,也不包含本人为获得江南 大学或其它教育机构的学位或证书而使用过的材料与我一同工作的同志 对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意 签名: 期: 关于论文使用授权的说明 本学位论文作者完全了解江南大学有关保留、使用学位论文的规定: 江南大学有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允 许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文, 并且本人电子文档的内容和纸质论文的内容相一致 保密的学位论文在解密后也遵守此规定 签 名: 趁 导师签名: e l 期: 第一章绪论 第一章绪论 当前信息时代发展到后p c 时代,嵌入式系统正是后p c 时代的主体。由于嵌入式 系统具有体积小、性能好、功耗低、可靠性高以及面向行业应用的突出特征,目前可以 说是无处不在。具体的说嵌入式系统分为嵌入式硬件、嵌入式操作系统和嵌入式应用软 件。嵌入式技术的核心思想就是最大限度地在硬件和软件上量身定做,以提高效率和实 时性。 图像信息作为人类最重要的信息源之一,图像采集技术和改善图像质量的图像处理 技术也开始向数字化方向转变。在数字计算机问世之前,图像处理的共同特点是把图像 信息用传统的模拟方式来处理。从第一台数字计算机问世以来,随着计算机技术的发展 与成熟,数字图像采集处理成为一个迅速发展的学科。 图像采集传输系统大部分均采用实时图像采集技术,实时图像采集与传输在现代多 媒体技术中占有极其重要的地位从数码相机、可视电话、多功能移动电话等消费产品到 门禁、数字视频监视等工业控制及安防产品,图像采集和传输已成为重要的组成部分之 o 本项研究是设计一种基于a r m 的嵌入式图像采集系统与传输系统。由于这种系统 的硬件是一个处理器和操作系统捆绑较为紧密、功能专一的设备,不像插卡系统那样受 通用计算机系统中其它软件硬件的影响,因此性能上更稳定,易于实现系统的模块化设 计,便于安装和维护。嵌入式结构的图像采集与传输系统对于图像的传输性能的提高也 有着很大意义。其中图像采集和传输是最核心的技术。图像采集的质量、传输的速度直 接影响到产品的整体效果。采用u s b 接口的摄像头在一定程度上突出了采样速率高、图 像质量高、通用性好的特点。并且利用网络进行远程传输。本论文提出了一种采集和传 输的方案。 1 1 课题研究的现状和意义 自2 0 世纪7 0 年代末以来,微电子技术和计算机技术迅猛发展给数字图像处理提供 了先进的技术手段,“图像科学 也就从信息处理、自动控制理论、计算机科学、数据 通信、电视技术等学科中脱颖而出,成长为旨在研究“图像信息的获取、传输、存取、 变换、理解和综合利用 的崭新学科。目前图像处理与分析技术已广泛应用于办公自动 化、工业机器人、地理数据处理、医学数据处理、地球资源、遥感、交互式计算机辅助 设计等领域。图像处理与分析涉及到数学、计算机科学、模式识别、人工智能、信息论、 生物医学等多种学科,是一门多学科交叉应用技术。 图像采集和传输技术随着计算机技术的发展获得了广泛的应用,在工农领域,图像 技术的应用大幅度的提高了产品的质量和可靠性,保证了生产的速度。如产品包装印刷 质量的检测、饮料行业的容器质量检测、饮料填充检测、饮料品封口检测、木材厂木料 检测、半导体集成块封装质量检测、卷钢质量检测和水果分类检测。 嵌入式技术、网络技术、多媒体技术的发展使得远程监控功能的数字化、智能化及 江南大学硕士学位论文 微型化成为可能,不仅解决了图像在远程传输过程中的易受干扰及失真问题。还使得设 备的体积更加小型化、智能化、网络化。随着互联网的普及,利用网络作为传输媒介的 图像监控系统及数据采集及传输系统也越来越流行尤其随着芯片行业的迅猛发展及 l i n u x 系统的更加完善,越来越多的嵌入式系统告别资源较少的单片机时代。转而步人 a r m 化和l i n u x 化。 1 2 研究目标和主要内容 根据上述的研究思路,本文以基于嵌入式平台的图像采集和传输系统的设计为目 标,以图像的采集设计以及图像的传输的设计为轴线,分别探讨了系统中涉及到的主要 的硬件、软件的工程设计以及相应的理论基础。其中重点叙述了图像的局域网传输。 为解决嵌入式l i n u x 构成的图像采集传输系统存在的速度不匹配和资源共享问题, 采用多线程算法和信号量的方法控制线程。实现了图像采集线程和图像传输线程的核心 算法,建立了多线程。使用信号量控制线程同步,解决了资源的竞争和共享。应用结果 达到了多线程速度的匹配和资源共享。 本论文主要的研究内容有: 1 总体的方案设计及其相应的器件选型。 2 外围硬件电路的选型与介绍其中主要是对网络传输元器件c s 8 9 0 0 a 的描述。 3 软件系统设计主要是v i d e 0 4 1 i n u x 图像采集程序和相应图像网络传输程序设计。 4 针对网络传输可能发生的问题,提出了网络流量控制的算法。 5 总结与展望。 第二章系统总体架构设计提出了课题的总体设计方案,详细介绍了硬件开发平台嵌 入式系统和软件开发平台嵌入式操作系统各自的定义和特点。 第三章图像采集系统的硬件电路,在其中主要是对于网络传输硬件c s 8 9 0 0 a 的分 析,包括其工作原理,网络的驱动分析设计。 第四章图像采集传输系统的软件设计,介绍了对于图像采集和传输的应用程序进行 设计开发。最主要阐述对于网络传输程序的设计开发,并且给出了在局域网中的测试结 果。 第五章对于图像的网络传输存在的问题,并在此基础上提出了一个控制网络传输流 量算法,给出算法测试的结果。 第六章总结与展望对全文的一个总结,提出所存在的不足,并对后续的工作作了进 一步的展望。 1 3 本章小结 本章从本项目的研究背景及意义出发,对嵌入式系统做了简单介绍,最后给出本论 文的内容及相应的章节安排。 2 第二章系统总体架构选型与介绍 第二章系统总体架构选型与介绍 2 1 嵌入式系统简介 2 1 1 嵌入式系统的定义 嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”。“嵌入性”、“专用性” 与“计算机系统”是嵌入式系统的三个基本要素。对象系统则是指嵌入式系统所嵌入的宿 主系统。主要分为嵌入式软件系统和嵌入式硬件系统,类似于b i o s 的工作方式。这种 系统具有软件代码小,高度自动化,响应速度快等特点,特别适合于要求实时的和多任 务的体系。嵌入式设备是指应用了嵌入式系统的计算机设备。从某种意义上来讲确实是 大型计算设备的一个微缩,这一微缩肯定多少会带来相对性能上的减弱。但正是这一体 积的微缩带给人们的方便却是无法比拟的。拥有嵌入式设备,人们可以随时随地的阅览 电子书籍,预定机票,在任何一个陌生的城市都不会丢失,甚至可以在最短的时间内看 到任何一部想看到的电影。 嵌入式系统必须能够根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠 性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出 适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个 只有几k b 到几十k b 的微内核,需要根据实际的使用进行功能扩展或者裁剪。由于微 内核的存在,使得这种扩展能够非常顺利地进行。 2 1 2 嵌入式系统的特点 嵌入式系统的特点与定义不同,它是由定义中的三个基本要素衍生出来的。不同的 嵌入式系统其特点会有所差异。与“嵌入性”的相关特点:由于是嵌入到对象系统中,必 须满足对象系统的环境要求,如物理环境( 小型) 、电气环境( 可靠) 、成本( 价廉) 等 要求。与“专用性”的相关特点:软、硬件的裁剪性;满足对象要求的最小软、硬件配置 等。与“计算机系统”的相关特点:嵌入式系统必须是能满足对象系统控制要求的计算机 系统。与上两个特点相呼应,这样的计算机必须配置有与对象系统相适应的接口电路。 简而言之嵌入式计算机系统同通用型计算机系统相比具有以下特点: 1 通常是面向特定应用的嵌入式c p u 与通用型的最大不同就是嵌入式c p u 大多工 作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能 够把通用c p u 中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计 趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。 2 嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应 用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不 断创新的知识集成系统。 江南大学硕士学位论文 3 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同 样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争 力。 4 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进 行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。 5 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在内存芯片或 单片机本身中,而不是存贮于磁盘等载体中。 6 嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其 中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发【l 】。 2 2 系统总体硬件选型与介绍 本系统核心处理器采用a r m 9 2 0 t 芯片$ 3 c 2 4 1 0 a ,4 0 0 m h z 主频,内部带有全性能的 m m u 低功耗,高性能,适合于p d a ,便携媒体播放器,卫星导航仪等多媒体终端。本系 统设计有:5 1 2 mb i ts d r a m1 3 3 m h z ,3 2 b i t 宽度( 两片组成) ,1 6 m b i tn o rf l a s h1 6 b i t 宽度,l o m b p s 低功耗嵌入式专用以太网网络芯片c s 8 9 0 0 a ,接口为标准r j 4 5 插座,3 路串口,两路带握手信号,可接调制解调器g p r s ,a r m 标准2 0 芯j t a g 接口,2 个u s b h o s t 接口,u s bf u l ls p e e d 。可外接h u b 扩展,1 路u s bd e v i c e 接口,u s bf u l ls p e e d 。 采用有源晶振+ 无源晶振两种模式设计,用户可选用其中一种或者同时使用两个时钟, 方便评估,电路不采用任何加密措施,如c p l d 等器件,非常适合做嵌入式系统平台。 硬件结构见图2 1 图2 - 1 总体硬件结构 f i g u r e2 - 1c o l l e c t i v i t yh a r d w a r es t r u c t u r e 软件体系上采用l i n u x 操作系统,通过配置裁剪下载到a r m 硬件平台上,在l i n u x 平台上开发应用程序。 4 第二章系统总体架构选型与介绍 2 2 1 三星$ 3 c 2 4 1 0 处理器简介 a r m 9 2 0 t 核由a r m 9 t d m i 、存储管理单元( m m u ) 和高速缓存三部分组成。其中, m m u 可以管理虚拟内存,高速缓存由独立的1 6 k b 地址和1 6 k b 数据高速c a c h e 组成。 删9 2 0 t 有两个内部协处地器:c p l 4 和c p l 5 。c p l 4 用于调试控制,c p l 5 用于存储系 统控制以及测试控制【2 】。 a r m 9 系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、d s p , j a v a 应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。 a r m 9 系列微处理器的主要特点:支持d s p 指令集,适合于需要高速数字信号处理的 场合,5 级整数流水线,指令执行效率更高,支持3 2 位a r m 指令集和1 6 位t h u m b 指令 集,支持3 2 位的高速a m b a 总线接口,支持v f p 9 浮点处理协处理器,全性能的m m u , 支持w i n d o w s c e ,l i n u x ,p a l m 0 s 等多种主流嵌入式操作系统,m p u 支持实时操作系统, 支持数据c a c h e 和指令c a c h e ,具有更高的指令和数据处理能力,主频最高可达3 0 0 m i p s 。 a r m 9 系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、 存储设备和网络设备等领域。 2 2 2 三星8 3 c 2 4 1 0 的功能单元 $ 3 c 2 4 1 0 由a r m 9 2 0 t 内核( 1 6 一3 2 - b i tr i s cc p u ) ,独立的1 6 k b 指令和1 6 k b 数据 c a c h e ,删u 虚拟内存管理单元,l e d 控制器( 支持s t n 和t f t ) ,n a n d f l a s h ,b o o t l o a d e r , 系统管理单元( s d r a m 控制器等) ,3 通道u a r t ,4 通道d m a ,4 通道具备p w m 功能的定时 器,i o 口,r t c ( 实时时钟) ,8 通道l o b i t 精度a d c 和触摸屏控制器,i i c 总线接口,u s b 主机,u s b 设备,s d 瑚c 卡控制器,2 通道s p i 和p l l 数字锁相环组成。 $ 3 c 2 4 1 0 将系统的存储空间分成8 个b a n k ,每个b a n k 的大小是1 2 8 m 字节,共1 g 字节。b a n k o 到b a n k 5 的开始地址是固定的,用于r o m 或s r a m b a n k 6 和b a n k 7 用于r o m 。 s r a m 或s d r a m ,这两个b a n k 可编程,且大小相同。b a n k 7 的开始地址是b a n k 6 的结束地 址,灵活可变。所有内存块的访问周期都可编程,外部w a i t 扩展了访问周期。$ 3 c 2 4 1 0 采用n g c s 7 :0 8 个通用片选线选择8 个b a n k 区。 2 4 系统的软件平台介绍 2 4 1 嵌入式操作系统l i n u x 概述 l i n u x 操作系统,l i n u x 类似于u n i x ,是一种免费的、源代码开放、符合p o s i x 标 准规范的操作系统。l i n u x 拥有现代操作系统所具有的内容,真正的抢先式多任务处理、 支持多用户、内存保护、虚拟内存,支持对称多处理机s n a p ,符合p o s i x 标准,支持 t c p i p ,支持绝大多数的3 2 位和6 4 位c p u 。 与其它操作系统相比,l i n u x 具有以下特色: ( 1 ) 可靠性高。实践证明,l i n u x 是能够达到主机可靠性要求的少数操作系统之一, 许多l i n u x 主机和服务器在国内和国外大中型企业中每天2 4 小时,每年3 6 5 天不间断 的运行。这是n e t w a r e 、m i c r o s o f tw i n d o w s n t 、和o s 2 等操作系统所不能比拟的。 江南大学硕士学位论文 ( 2 ) 伸缩性强。l i n u x 系统是世界上唯一能够在嵌入式设备、个人计算机、服务器、 小型机直到大型机上运行的操作系统,没有其它操作系统能够做到这一点。 ( 3 ) 良好的开放性。这是l i n u x 系统最重要的特征之一,也是l i n u x 强大生命力之 所在。开放系统的概念已被计算机业界普遍接受,而且成为今后发展的主要趋势。 ( 4 ) 强大的网络功能。实际上,l i n u x 诞生于因特网,并且也是依靠互联网才迅速发 展起来的,因此l i n u x 具有强大的网络功能也就不足为奇了。它支持所有标准因特网协 议( 事实上,l i n u x 是第一个支持i p v 6 的操作系统) ,可以轻松地与t c p i p 、l a n m a n a g e r 、 w i n d o w sf o r w o r k g r o u p s 、n o v e l ln e t w a r e 或w i n d o w sn t 网络集成在一起,还可以通过 以太网或调制解调器连接到i n t e m e t 上。 ( 5 ) 强大的数据库支持。由于l i n u x 系统对各种数据库,特别是关系型数据库管理 系统提供了强大的支持能力,因此诸如o r a c l e 、i n f o r m i x 、s y b a s e 、d b 2 、m y s q l 、 p o s t g r e s q l 等主要数据库厂商都将l i n u x 作为首选的优质运行支撑平台,并且在此基础 上创造出极高的性能价格比。 2 4 2l i n u x 内核简介 可以从两个层次上来考虑操作系统,如图2 2 。 图2 - 2l i n u x 操作系统的基本体系结构 f i g u r e2 - 2 t h eb a s i ca r c h i t e c t u r eo f t h e1i n u xo p e r a t i o ns y s t e m 最上面是用户( 或应用程序) 空间。这是用户应用程序执行的地方。用户空间之下 6 第二章系统总体架构选型与介绍 是内核空间,l i n u x 内核正是位于这里。 g n ucl i b r a r y ( g l i b c ) 也在这里。它提供了连接内核的系统调用接口,还提供了 在用户空间应用程序和内核之间进行转换的机制。内核和用户空间的应用程序使用的是 不同的保护地址空间。每个用户空间的进程都使用自己的虚拟地址空间,而内核则占用 单独的地址空间。 l i n u x 内核可以进一步划分成3 层。最上面是系统调用接口,它实现了一些基本的 功能,例如r e a d 和w r i t e 。系统调用接口之下是内核代码,可以更精确地定义为独立于 体系结构的内核代码。这些代码是l i n u x 所支持的所有处理器体系结构所通用的。在 这些代码之下是依赖于体系结构的代码,构成了通常称为b s p ( b o a r ds u p p o r tp a c k a g e ) 的部分。 l i n u x 内核实现了很多重要的体系结构属性。在或高或低的层次上,内核被划分 为多个子系统。l i n u x 也可以看作是一个整体,因为它会将所有这些基本服务都集成到 内核中。这与微内核的体系结构不同,后者会提供一些基本的服务,例如通信、i o 、 内存和进程管理,更具体的服务都是插入到微内核层中的。每种内核都有自己的优点, 不过这里并不对此进行讨论。 2 4 3l i n u x 操作系统的主要构成及其功能 l i n u x 内核的主要体系结构如图2 3 。 图2 - 3 内核体系结构 f i g u r e2 - 3 t h ea r c h it e c t u r eo f t h ek e r n e l ( 1 ) 系统调用接e l 。s c i 层提供了某些机制执行从用户空间到内核的函数调用。s c i 实际上是一个非常有用的函数调用多任务和多路分解服务。 ( 2 ) 进程管理。在l i n u x 中,进程是资源分配的基础,l i n u x 设计了一系列的数据结 构,它们能准确地描述进程的状态和其资源使用情况,以便能公平有效地使用系统资源。 l i n u x 的调度算法能确保不出现某些进程过度占用系统资源而导致另一些进程无休止地 7 江南大学硕士学位论文 等待的情况。 ( 3 ) 进程问通信。l i n u x 提供了多种进程间的通信机制,其中,信号和管道是最基本 的两种。除此以外,l i n u x 也提供s y s t e mv 的进程间通信机制,包括消息队列、信号灯 及共享内存。 ( 4 ) 内存管理。l i n u x 采用页式存储管理机制,每个页面的大小随处理机芯片而异。 例如,i n t e l3 8 6 处理机页面大小可为4 l 和2 1 r i b 两种,而a l p h a 处理机页面大小可为 8 k b 、1 6 k b 、3 2 k b 和6 4 k b 。页面大小的选择对地址变换算法和页表结构会有一定的 影响,如a l p h a 的虚位元址和物理位元址的有效长度随页面尺寸的变化而变化,这种变 化必将在地址变换和页表项中有所反映。 ( 5 ) 虚拟文件系统文件系统。l i n u x 最重要的特征之一就是支持多个不同的文件系统, 前面已经看到,l i n u x 目前支持的文件系统多达十余种,随着时间的推移,这一数目还 在不断增加。 l i n u x 最初的文件系统是m i n i x 。为了支持多种文件系统,l i n u x 用一个被称为虚拟 文件系统( v f s ) 的接口层将真正的文件系统同操作系统及系统服务分离开。v f s 掩盖了不 同文件系统之间的差异,使所有文件系统在操作系统和用户程序看来都是等同的。v f s 允许用户同时透明地安装多个不同的文件系统。 ( 6 ) 网络堆栈。网络堆栈在设计上遵循模拟协议本身的分层体系结构。回想一下, i n t e m e tp r o t o c o l ( i p ) 是传输协议( 通常称为传输控制协议或t c p ) 下面的核心网络层 协议。t c p 上面是s o c k e t 层,它是通过s c i 进行调用的。s o c k e t 层是网络子系统的标 准a p i ,它为各种网络协议提供了一个用户接口。从原始帧访问到i p 协议数据单元, 再到t c p 和u s e rd a t a g r a mp r o t o c o lc l i d p ) ,s o c k e t 层提供了一种标准化的方法来管理 连接,并在各个终点之间移动数据。 ( 7 ) 设备驱动程序。l i n u x 内核中有大量代码都在设备驱动程序中,它们能够运转特 定的硬设备。l i n u x 源码树提供了一个驱动程序子目录,这个目录又进一步划分为各种 支持设备,例如b l u e t o o t h 、1 2 c 、s e r i a l 等。 ( 8 ) 依赖体系结构的代码。尽管l i n u x 很大程度上独立于所运行的体系结构,但是 有些元素则必须考虑体系结构才能正常操作并实现更高效率。l i n u x a r c h 子目录定义了 内核源代码中依赖于体系结构的部分,其中包含了各种特定于体系结构的子目录( 共同 组成了b s p ) 。对于一个典型的桌面系统来说,使用的是i 3 8 6 目录。每个体系结构子 目录都包含了很多其它子目录,每个子目录都关注内核中的一个特定方面,例如引导、 内核、内存管理等【3 培】。 2 5 嵌入式l i n u x 操作系统的移植 嵌入式操作系统是嵌入式系统重要的组成部分,通常包括与硬件相关的底层驱动软 件、系统内核、设备驱动接口、通信协议等。嵌入式操作系统具有通用操作系统的特点, 能够有效管理复杂的系统资源;把硬件虚拟化,使得开发人员从驱动程序移植和维护中 解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。在嵌入式应用中,只有 8 第二章系统总体架构选型与介绍 把c p u 嵌入到系统中,同时把操作系统嵌入进去,才是真正的计算机嵌入式应用【9 1 。 除了内核的移植,还需要在开发板上移植启动代码,即b o o t l o a d e r ,初始化硬件系 统并加载移植的l i n u x 内核,此外文件系统也不可缺少。在b o o t l o a d e r ,l i n u x 内核和文 件系统成功移植后,便可以在目标系统上进行程序开发了。简单的系统启动过程如图3 - 3 所示。 图2 - 4 嵌入式系统届动流程 f i g u r e2 - 4s t a r t - u pf l o wo fe m b e d d e ds y s t e m 2 5 1 交叉编译环境的建立 通常嵌入式系统的软件编译和执行是在两个不同平台上进行的,编译是在宿主机, 一般为桌面主机;执行是在目标端,即嵌入式系统的硬件平台。一般是在宿主机上通过 跨平台交叉编译器把源文件编译成目标平台上可执行的文件,再通过串口、并口或者网 络下载至目标平台上的f l a s h 或者其它存储介质,然后由目标机来运行这些软件。这 里所说的跨平台编译器和一般的编译器功能类似,都是把源代码通过编译器编译成目标 文件,然后通过链接器、可重定位器程序和定位器把目标文件重新定位成可执行文件, 和通用的编译器之问最大的差别就在于跨平台编译器编译出来的可执行程序通常只能 在特定c p u 所属平台上运行。所以一般来说每种c p u 都对应有不同的跨平台编译器。 本系统采用$ 3 c 2 4 4 0 微处理器,可以使用常用的a r m 交叉编译器。要成功构建完 整的交叉编译环境,需要在宿主机上创建一系列的工具,包括c c + + 编译器,汇编器, 链接器,嵌入式系统的标准c 库和g d b 代码级调试器。 9 江南大学硕士学位论文 2 5 2 系统引导代码b o o t l o a d e r b o o t l o a d e r 是系统加电后运行的第一段代码【l 们。一般只是在启动时运行很短的时 间,然而对一个嵌入式系统来说,这一部分却是整个系统的一个无比重要的组成部分, 不可缺少。在一般嵌入式系统中,系统复位或者加电后通常从地址o x 0 0 0 0 0 0 0 0 处开始 执行,而这个地址一般正是存放b o o t l o a d e r 启动代码。通过这段程序,可以初始化硬件 设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为 最终加载操作系统内核准备好正确的环境。 b o o t l o a d e r 一般情况下需要包含以下几个必备的功能: l 、初始化处理器。这个动作都是用汇编语言完成的,称为重置码( r e s e tc o d e ) 或 者称为b o o tc o d e ,而且对于每个c p u 都不一样的,当电源接通就会执行这个动作,通 常只有两三个汇编指令,目的是将c p u 的控制权转给硬件初始化的程序。 2 、初始化一些必要的硬件。这个动作也大都由汇编语言来完成,主要是初始化c p u 、 s d r a m 等,其他的硬件例如串口,可以由c 语言等比较高级的语言程序来完成后续动 作。 3 、设置处理器的寄存器以及内存,关掉所有的输入管脚( 包括中断管脚) ,以防止 突然有信号进入妨碍接下来的硬件初始化动作。然后初始化串口,以便后续运行的程序 能够同h o s t 端进行通信,便于调试。 4 、从特定的位置把内核和文件系统调入内存,并设置一些操作系统所必需的参数, 然后把c p u 控制权交给操作系统。有的b o o t l o a d e r 会先从串口或者网络等其他途径得 到内核的映像文件,然后把这些文件写入目标系统的f l a s h 或者其它存储介质,然后 把内核载入r a m 执行,交出控制权。 b o o t l o a d e r 的实现依赖于c p u 的体系结构,一般来说启动过程分为两个阶段。 第一阶段依赖于c p u 体系结构的代码,比如设备初始化代码等,通常都放在第一 阶段中,而且通常都用汇编语言来实现,运行效率比较高。这个阶段完成的任务一般如 下: 1 、硬件设备初始化( 屏蔽所有的中断、关闭处理器内部的指令数据c a c h e ) 。 2 、为第二阶段准备r a m 空间。 3 、若在某个固态存储介质中,则复制b o o t l o a d e r 的第二阶段代码到r a m 空间中。 4 、设置好堆栈并跳转到第二阶段的c 程序入口点。 而第二阶段则通常用c 语言来实现,这样可以实现复杂的功能,而且代码会具有更 好的可读性和可移植性。这个阶段主要任务有: 1 、初始化本阶段要使用到的硬件设备。 2 、检测系统内存映射。 3 、将内核映像和根文件系统从f l a s h 读到r a m 中。 4 、为内核设置启动参数。 5 、调用内核文件运行。 1 0 第二章系统总体架构选型与介绍 2 5 3l i n u x 内核移植 在l i n u x 系统内核代码中有a r c h 目录,其中包括了不同平台的代码,与体系结构相 关的代码都存放在a r c h 下面相应的目录下面【1 1 】。本系统采用a r m 开发平台,所以依 赖a r m 硬件平台的代码都在a r c h a r m 下面。根目录下面只需要修改m a k e f i l e 文件,该 文件主要任务是产生v m l i n u x 文件和内核模块。 配置命令可以选用m a k ec o n f i g ,m a k eo l d c o n f i g ,m a k em e n u c o n f i g 或m a k e x c o n f i g 其中一个【1 2 1 4 1 。 编译内核需要创建内核依赖关系、创建内核镜像文件和创建内核模块。首先执行 m a k ed e p 命令,读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而 决定哪些需要编译而那些不需要;接着执行m a k ec l e a n 命令删除前面步骤留下的文件, 以避免出现一些错误;然后便可以生成所需要的内核文件了,用m a k ez l m a g e 来实现得 到可移植的内核,内核文件传至开发板便可以通过b o o t l o a d e r 加载运行。 2 6 本章小结 本章从总体上介绍了a r m 9 的硬件平台,主要是a r m 9 的c p u s 3 c 2 4 1 0 的一系列 的工作参数,接着又详细的描述了a r m 9 的软件平台l i n u x ,并且从总体上对l i n u x 作 了一系列的分析介绍,最后介绍了嵌入式l i n u x 操作系统的移植。 江南大学硕士学位论文 第三章图像采集传输系统的硬件平台选型与介绍 本章具体阐述了图像采集传输系统的硬件部分,主要是对图像采集和网络传输元器 件进行了选型和功能特点的分析,然后对网络传输元器件c s 8 9 0 0 a 给出了详尽的驱动 的分析。 3 1 支持u s b 的图像传感器 3 1 i c m o s 图像传感器简介 c m o s 图像传感器,具有功耗低、摄像系统尺寸小、可将信号处理电路与m o s 图 像传感器集成在一个芯片上等优点。它适合大规模批量生产,适用于要求小尺寸、低价 格、摄像质量无过高要求的应用,如保安用小型微型相机、手机、计算机网络视频会 议系统、无线掌上型视频会议系统、条形码扫描仪、传真机、玩具、生物显微计数、某 些车用摄像系统等大量商用领域。 c m o s 图像传感器以象素化的金属氧化半导体构成。它们的每个象素通过积累与 入射光强成比例的信号电荷完成与空间一一对应的采样功能。当曝光结束以后,在 c m o s 图像传感器中,信号电荷到电压的转换在每个象素内部进行。c m o s 图像传感器 在象素内部完成电荷一电压的转换,并且大部分功能被集成在了传感器内部。从数组光 敏单元读出的信号也采用相关双抽样,经水平移位寄存器读出,然后送至片上m d 转换 器,产生视频数据流输出。 c m o s 工作原理如图3 1 : 相魄印舅电路簟a i 加6 母僚传艏 i _ _ _ 一 d口口io口 i 时州序 1 )口od昂 薯 善o 掣 产生l椁 爿 口口oo 口; 薯盼 霉 迎 口o o0o 篓 曩 i- p - :锵鼻叠l 型口oo0 啪 : li _ j i ,_ 馊jt 嚣 i p 一墨 一咿曼列勰触b 一! 一l - 丛 鼙 撂 警 士 雪 图3 - 1c m o s 图像传感器 f i g u r e3 - 1 s e n s o ro fc m o si m a g e c m o s 图像传感器主要特性:包括灵敏度,电子一电压转换率,分辨力,动态范围 响应均匀性,最小照度最小照度等。灵敏度主要指传感
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届江西省赣州市会昌中学化学高三上期中统考模拟试题含解析
- 广东省东莞外国语学校2026届高一化学第一学期期中预测试题含解析
- 幼儿园立夏节气的活动策划方案范本
- 幼儿园制作中秋月饼策划方案
- 岁青春主题班会方案内容
- 新中式婚礼女方答谢宴策划方案
- 幼儿园中班新学期教学方案
- 恶意返乡面试题及答案
- 狗狗培训考试题及答案
- 家电公司出国管理规定
- 2025年食品安全培训考试试题及答案
- 2025年长江证券港股通开通测试题及答案
- 2025西安亮丽电力集团有限责任公司招聘10人笔试备考题库及1套完整答案详解
- 2025河北唐山某国有企业单位招聘劳务派遣工作人员44人笔试参考题库附带答案详解(10套)
- 成都银行总行招聘考试真题2024
- 基孔肯雅热培训测试题含答案
- 留疆战士考试题库及答案
- 小额贷款公司贷款五级分类办法
- 2025公卫执业医师考试试题(附答案)
- 医院药品质量管理课件
- 2025年上海市中考招生考试数学真题试卷(真题+答案)
评论
0/150
提交评论