ARM9和Linux在远程视频监控中的应用.pdf
-
资源ID:73191736
资源大小:1.73MB
全文页数:61页
- 资源格式: PDF
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
ARM9和Linux在远程视频监控中的应用.pdf
复旦大学硕士学位论文ARM9和Linux在远程视频监控中的应用姓名:高丽强申请学位级别:硕士专业:计算机系统结构指导教师:涂时亮20070525论文独创性声明本论文是我个人在导师指导下进行的研究工作及取得的研究成果。论文中除了特别加以标注和致谢的地方外,不包含其他人或其它机构已经发表或撰写过的研究成果。其他同志对本研究的启发和所做的贡献均已在论文中作了明确的声明并表示了谢意。作者签名:南因越日期:型2:!垡论文使用授权声明本人完全了解复旦大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其它复制手段保存论文。保密的论文在解密后遵守此规定。作者签名:为豳i 选导师签名作者签名:向纽i 竣导师签名澎搬日期:丝盟五!摘要随着计算机技术和多媒体视频技术的进步,远程视频监控系统也向集成化、网络化和多媒体化方向发展,并且被广泛应用于各种场合。视频监控发展到现在,以嵌入式视频监控技术发展最快,最具市场应用前景。与传统的视频监控系统不同,本论文研究开发了一种新的基于远程视频监控的嵌入式系统。该系统采用A R M 9 2 2 高速嵌入式处理器和M P G 4 4 0M P E G 4 视频编码芯片,并且使用L i n u x 操作系统作为软件平台,大大降低了系统的复杂性,同时提高了系统的稳定性和图像压缩的质量。另外该系统设计了视频硬盘存储模块,可有效地用于备份和监控分析。论文首先简述了研究的时代背景和本研究内容的理论与实践意义,并讨论了视频监控系统的发展动态及其相关的关键技术。并在此基础上提出了整个系统的硬件和软件总体结构设计。然后分别介绍了L i n u x 移植、M P E G 4 视频压缩模块以及I D E 硬件接口模块的设计,并对其中的实现过程做了详细的说明。最后是结束语部分。对A R M 和L i n u x 在远程视频监控中的发展进行了展望。关键词:嵌入式系统远程视频监控A R ML i n u xM P E G 4I D E中图分类号:T P 3 1 6;T P 3 6A b s t r a c tA nM v a n c e di n t e g r a t i o n,a n dn e t w o r ka n dm u l t i m e d i ad e v e l o p m e n th a sh a p p e n e di nr e m o t ev i d e os u r v e i l l a n c es y s t e ma l o n gw i t ht h eg r e a tp r o g r e s so ft e c h n o l o g yo fc o m p u t e ra n dm u l t i m e d i ap r o c e s s i n g T h e s es y s t e m sh a v eb e e nw i d e l yu s e di nal o to fo c c a s i o n s E m b e d d e dv i d e os u r v e i l l a n c es y s t e mh a sg o o dm a r k e tp r o s p e c t sw i t l li t sv e r yf a s ts p e e dd e v e l o p m e n t D i f f e r i n gf r o mt r a d i t i o n a ls y s t e m,t h i st h e s i sp u r p o s e san e we m b e d d e ds y s t e mf o rr e m o t ev i d e os u r v e i l l a n c es y s t e m T h i ss y s t e mi sd e v e l o p e do nA R M 9 2 2p r o c e s s o ra n dM P G 4 4 0i n l a g ec o n t r o l l e rc h i p L i n u xi si t ss o f t w a r ep l a t f o r m T h i sd e s i g nn o to n l yr e d u c e sc o m p l e x i t y,b u ta l s oi m p o v e ss y s t e mp e r f o r m a n c ea n di m a g eq u a l i t y T h es l o m g em o d u l ei sa l s od e s i g n e df o rd a t ab k u pa n da n a l y s i s F i r s t l y,t h i st h e s i si n t r o d u c e st h eb a c k g r o u n da n ds i g n i f i c a n c ei nb o t ht h e o r ya n dp r a c t i c e,a n dt h e ns u m n l a r i z c st h ed e v e l o p m e n tt r e n da n dk e yt e c h n o l o g yo fe m b e d d e dv i d e os u r v e i l l a n c es y s t e m B a s e do na b o v e,i ti n t r o d u c e ss y s t e mf r a m e w o r ko fh a r d w a r ea n ds o f t w a r e I nt h ef o l l o w i n gc h a p e r s,w ed e s c r i b eL i n u xp o r t i n g,M P E G 4m o d u l ea n dI D Em o d u l ei nd e t a i l s F i n a l l yi ti st h ee n do ft h i st h e s i s I nt h i sp a r tw ed i s c u s st h ed e v e l o p m e n tp r o s p e c to fA R Ma n dL i n u xi nt h er e m o t ev i d e os u r v e i l l a n c es y s t e m K e y w o r d s:E m b e d d e dS y s t e m,R e m o t eV i d e oS u r v e i l l a n c eS y s t e m,A R M,L i n u x,M P E(H,I D EC h i n e s eL i b r a r yC l a s s i f i c a t i o n:T P 316;T P 3 62第一章绪论1 1 引言在信息时代的今天,随着人们对于系统性能和成本控制要求的不断提高,嵌入式系统以其优良的性价比和独特的便利性越来越赢得人们的青睬。现在,嵌入式系统已经由模拟系统转向数字系统,由孤立系统转向网络互联。网络技术的日新月异,更使得嵌入式系统不仅可以通过网络获得各种资源,而且也方便了网络的控制与维护与此同时,多媒体应用技术的飞速发展也使得多媒体信息已成为人类获取信息的主要载体,使得人们越来越多地在日常生活、学习和工作中使用多媒体手段来解决问题。尤其是视频监控系统,在银行、港口监控、城市交通管理、酒店安全保卫等各个领域都有着广泛的应用,由于以往各种系统的种种局限性,集成化的视频监控系统仍然有着广阔的市场前景。正是基于这样的需求背景,确定了本论文的研究内容一A R M 9 和L m u x 在远程视频监控方面的应用。1 2 研究背景、目标和意义1 2 2 研究背景随着网络和多媒体视频技术的高速发展,人们己经不满足于简单的文字信息交换,对多媒体技术在网络上的应用提出了更高的要求。网络带宽的增加可以容纳越来越多的多媒体信息。信息技术与信息产品的发展也顺应了这个大的潮流,人们也越来越多地依赖网络和多媒体技术来解决生活和工作中的问题。传统的视频监控系统也正朝着监控网络化、数字化、集成化方向发展。计算技术的飞速发展和多媒体技术相关标准和协议的相继推出也为开发远程视频监控系统提供了保障。1 2 2 1 国内外远程图像监控系统发展和应用现状视频监控系统的产生和发展得益于多媒体视频技术和通信技术的发展。同时计算机技术的迅速发展,也将网络技术和多媒体技术融合到监控系统中来,促进了其更广泛的应用。视频监控系统的发展大致经历了三个阶段:第一代模拟监控系统产生于二十世纪九十年代以前的第一代模拟监控系统是随着摄像机的出现而发展起来的。系统主要由前端设备和监控中心两个部分组成。前端设备包括摄像机、云台、解码器等;监控中心设备包括监视器(电视墙)、视频分割器、切换矩阵、控制键盘、录像机等等【1】。模拟监控系统一般采用模拟方式使用视频电缆进行传输,传输距离不能太远,主要应用于小范围内的监控,如大楼内部监控等。监控图像也一般只能在本地控制中心观看。第一代模拟监控系统的特点为:设备品种多,视频、音频信号的采集、传输、存储主要为模拟形式,质量最高;监控系统不易扩展、录像资料不易保存和查找;只适用于较小的地理范围(通常为1 0 0 0 米内);维护成本过高,附届设备多易损坏;应用的灵活性较差。第二代基于P C 的视频监控系统九十年代中期产生的第二代视频监控系统利用计算机的高速数据处理能力进行视频采集和处理,采用高分辨率显示器进行图像的多画面显示。监控系统由P C 机插视频卡构成,在监控现场,有若干个摄像机、各种检测、报警探头与数据设备,通过各自的传输线路,连接到监控终端的P C 机上。除了处理各种信息外,系统利用视频压缩卡和通信接口卡,通过网络将信息传到一个或多个监控中心第二代监控系统的特点为:前端设备与第一代系统相同,不同的是通过视频卡将模拟信号数字化,在P C 上实现多画面显示、切换、控制、录像和录像回放功能,简化了监控中心的设备,系统功能较为强大和完善;音视频信号的采集、传输、存储主要为数字形式,质量较高;系统终端功能较强,便于现场操作,应用灵活性较好;P C 机需专人管理,不适合用于环境恶劣的监控场所【2】。尽管第二代视频监控系统初步实现了数字化,但由于图像质量、稳定性以及远程传输监控等技术方面的不足,使得这种系统仅应用于某些特定行业的同常监控。第三代嵌入式视频监控系统随着九十年代末计算机、网络、通信技术的日趋成熟,以及多媒体视频技术的不断发展完善,基于网络的第三代远程网络视频监控系统取得了长足的发展。新一代的监控系统以网络为依托,以数字视频的压缩、传输、存储和播放为核心。系统采用嵌入式多任务操作系统、高效的视频压缩芯片和功能强大的嵌入式处理器,将视频压缩和传输处理工作全部内置到芯片上,前端摄像机送来的视频信号数字化后经过压缩、打包等过程变成基本网络协议的视频流,通过网络的传输,视频流发送到接收端。视频接收端可利用软件进行解码,在P C 机上进行显示和处理,也可通过硬件解码,直接将解出的视频信号输出到监视器上。同时利用分布在网络上的服务器或网络存储设备根据需要进行录像。第三代监控系统采用高效的嵌入式芯片和实时操作系统,有效地提高了系统的实时性和稳定性,而且把视频压缩和网络传输功能集中到一个体积很小的设备内,直接接入网络,安装方便,而且无需人日常维护;同时可以把监控录像保存4到大容量硬盘上,方便长期保存和同后查询;压缩后的视频数据占用带宽小,可以方便地在网络中传输,不受距离限制,信号也不易受干扰,图像质量和稳定性大量提高。因此基于嵌入式系统的第三代视频监控系统必将有良好的应用与发展前景【3】。在国内外市场上,主要推出了数字控制的模拟视频监控和数字视频监控两类产品。前者技术发展己经非常成熟、性能稳定,在实际工程中得到广泛应用,特别是在大、中型视频监控工程中的应用比较广泛;后者是新近崛起的以嵌入式技术及视频压缩为核心的新型视频监控系统,该系统解决了模拟系统部分弊端,但仍需进一步完善和发展。在欧美等发达国家,视频监控的发展比较快,应用也十分广泛但是他们的产品价格较高、带宽要求较大、培训和维护也很不方便,而且从国外引进的产品本地化程度较差,在功能、接口、使用环境等方面均或多或少地存在一些与我国国情及现场需要不太吻合的地方。要使其最终成为实用的产品,还需大量的工作进行补充和改正。我国视频监控行业最初是由闭路电视监控逐渐发展起来的,从简单模拟视频监控到现在的纯数字化网络视频监控,监控系统在国内目前应用已经相当广泛。传统的模拟监控系统己经在我国发展得非常完善。我国视频监控系统正处在第二代监控系统已发展非常成熟,并在实际工程中得到广泛应用,第三代嵌入式监控系统迅速崛起的阶段。目前中国内地的数字化监控发展也呈现百家争鸣的现象,但技术水平参差不齐的情况,究其原因,一方面缺乏一种整体的综合技术实力,另一方面是仍片面的将产品和需求定位于基本监控功能,而远程视频监控J 下逐步发展成为一种远程办公信息系统。因此新一代的监控指纹,应按其技术特点,根据用户需求提出一套完整的解决方案。由此可以看出,视频监控系统正从传统的单纯监控向管理、监控发展,并逐步与管理信息系统相结合,达到资源共享,为管理者提供更直观、有效的决策信息。1 2 2 2 远程视频监控系统的关键技术1 视频压缩技术目前被广泛使用的视频压缩技术主要有M E P G 1、M P E G-2、H 2 6 3 和M P E G-4 1 4 1 M P E G o l 是由I S O 的M P E G 组织(运动图像专家组)于1 9 9 3 年制定的标准。M P E G o l 采用帧间压缩编码的技术,图像分辨率为3 5 2 X 2 8 8,视频码率为1 5M b p s,成为V C D 采纳的标准。M P E G 2 是由I S O 的M P E G 组织于1 9 9 5 年制定的视频编码标准。该标准针对高清晰数字电视制订,其基本原理与M P E G l 类似。编码图像的分辨率较高(7 2 05X5 7 6),视频码率为4 M b p s 10 M b p s。M P E G 2 标准被D V D 采纳。H 2 6 3 是由r r u 组织于1 9 9 5 年制定的一种视频会议系统标准。该标准针对远程视频传输应用而制定,图像分辨率为1 7 6 1 4 4,码率为6 4K b p s 以下,因此在低带宽,低码率条件下具有较好的适应性和性能M P E G-4 是由I S O 的M E P G 组于1 9 9 8 年制定的标准。与M P E G-l 和M P E G-2不同,M P E G-4 不只是具体的压缩算法,它是针对数字电视、交互式绘图应用、交互式多媒体等压缩技术的需求而制定的国际标准。M P E G-4 标准将众多的多媒体应用集成于一个完整的框架中,通过为多媒体通信及应用环境提供标准的算法和工具,建立一种能被多媒体传输、存储、检索等应用领域普遍采用的统一数据格式。图像分辨率为1 7 6 1 4 4,码率在4 8 K 6 4 K b p s 之间。2 嵌入式系统嵌入式系统是执行专用功能并被处理器芯片控制的设备或者系统。它是以应用为中心、以计算机技术为基础、软硬件均可剪裁,满足应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式系统是硬件和软件的有机结合体,并以硬件的形式表现出来。嵌入式系统以其体积小、实时性高、稳定性好、接口丰富等优点,成为工业控制领域和消费类电子的新热点。嵌入式系统是一种特殊的计算机系统,具有与通用计算机不同的特点 5 1:嵌入式系统通常是面向特定应用的:嵌入式C P U 与通用型的最大不同就是嵌入式C P U 大多应用在为特定用户设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用C P U 中许多由板卡成的功能集成在芯片内部。嵌入式系统的硬件和软件都必须高效率地设计,力争在同样芯片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片中,而不是存贮于磁盘等载体中。嵌入式系统本身不具备自举丌发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。嵌入式系统硬件的发展也提出了对嵌入式操作系统的需求。嵌入式操作系统主要指支持嵌入式系统应用的操作系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理复杂的系统资源;能够提供高效率的库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的兼容性以及应用的专用性等方面具有较为突出的特点6目前市场上有很多商用嵌入式操作系统,如V x W o r k s、p S O S、Q N X、N e c u l e u s和W m d o w s C E 等,这些操作系统虽然功能强大,但价格也昂贵。L i n u x 的出现打破了这一局面,这与L i n u x 系统的很多优良特性分不开【6】:广泛的硬件支持。L i n u x 能够支持x 8 6、A R M、M I P S、A L P H A、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 是开放源代码的自由操作系统,其开发都是在G P L(G N UP u b l i cL i c e n s e)的版本控制之下,内核的所有源代码都是采取开放源代码的方式,为用户提供了最大限度的自由度。优秀的开发工具。嵌入式L i n u x 为开发者提供了一套完整的工具链(T o o lC h a i n),能够很方便地实现从操作系统到应用软件各个级别的调试。完善的网络通信和文件管理机制。L i n u x 支持各种标准的I n t e m e t 网络协议,还支持e x t 2、f a t 3 2、r o m f s 等文件系统。随着计算机技术和多媒体技术的发展,嵌入式系统已经广泛应用到科学研究、工业控制以及各种消费类电子产品当中。大量功能强大的R I S C 嵌入式处理器的出现,多媒体视频标准的推出都使得嵌入式系统向集成化,网络化,多媒体化发展。视频监控领域就是其发展的一个重要方向。1 2 3 研究意义现在我们国家把信息安全放到越来越重视的位置,与此同时,信息安全建设对监控系统市场也提出了巨大需求,而且对产品的技术要求也越来越高,在许多安防场合,诸如电力、港口、邮电、银行、交通、铁路、军事设施等安全性较高的企业生产与管理中,远程视频监控系统的应用,可方便地监测和控制突发事件的发生。当前的国内视频监控系统中存在以下几点问题:1 大多数监控系统还是采用第二代甚至第一代监控系统,系统硬件软件维护升级维护困难,成本也高。2 监控范围小,不适应于远程管理尤其不适宜于在环境恶劣的情况下工作。3 视频图像质量较差,影响监控效果,用户界面也不友好,使用不方便。基于A R M 和L i n u x 的远程监控系统正好克服了这些局限性:71 数字视频采用硬件编解码,大大提高了图像压缩质量和稳定性。2 数字视频通过计算机网络传输,距离基本不受限制,便于集中监控和控制。3 数字化存储成为可能,经过压缩的视频数据可存储在磁盘上,方便查询。1 2 4 研究目标及内容本文研究的目标是:研究并开发一种基于A R M 和L i n u x 的视频监控系统。数字视频监控系统所包含的核心技术可以归纳为以下三个方面:数字视频编解码技术,高效大容量存储技术和网络技术因此研究方向主要集中在以下几个方面:视频压缩技术的研究。对于M P E G-4 视频压缩编码技术的研究。M P E G-4标准采用基于对象的编码理念,在编码时将一幅场景分成若干在时间和空间上相互联系的视频音频对象,分别编码后,再经过复用传输到接收端,然后再对不同的对象分别解码,最后组合成所需的视频和音频。这样方便对不同的对象采用不同的编码方法和表示方法,也有利于不同数据类型间的融合。高效率实时网络视频传输技术。由于目前的网络不能为视频传输提供稳定的带宽保障,所以M P E G-4 视频的实时传输面临很多困难,总结起来主要有:带宽限制,延迟和传输数据包的丢失及差错。因此实时传输视频必须跟踪当前网络的可用带宽,从而调整输出码率,避免网络过度拥塞m。网络传输技术需要解决在局域网和广域网环境下的视频编码数据包的可靠传输问题,数据包定序,低延迟传输,音视频同步,低码率传输,实时解码软件技术等问题。同时,在多用户的网络环境里,还需要考虑应用组播协议,保证网络传输的高效率。远程视频监控系统的研究及实现。主要进行远程视频监控系统的系统设计和功能实现。利用M P E G 4 技术实时压缩,网络采用先进的口多播技术(M u l t i e a s t),保证监控中心能实时察看监控点图像,进行实时远端控制,有效的预防事故的发生。1 3 论文主要完成的工作及创新点本论文的主要工作是设计并实现一套完整的视频监控系统,主要内容有:1 实现L i n u x 在A R M 9 处理器M C P 4 0 1 0 上的移植。2 研究M P E G 4 标准的组成及关键编解码技术,并实现在编码芯片M P G 4 4 0上M P E G-4 压缩模块的驱动编写。3 分析硬盘I D E 规范以及L i n u x 硬盘驱动,并且实现硬盘在M C P 4 0 1 0 上的硬件接口和驱动移植。本系统的设计有如下几个创新点:在基于A R M 9 和L i n u x 的平台上,实现了8远程视频监控,系统稳定并且集成度高;视频采用M P E G 4 实时硬件编码,编码效率和图象质量都有所提高;实现嵌入式系统上的硬盘接口,方便视频数据的实时存储,便于备份和日后查询。1 4 论文的组织结构本文共分为六章:第一章阐述了本文的研究背景、目标和内容,以及各章节的内容第二章阐述了硬件总体架构,介绍了A R M 系列处理器的主要特点,并对系统所采用的A R M 9 芯片M C P 4 0 1 0 作了详细的说明。第三章阐述了软件总体架构,介绍了L m u x 驱动的编写方法和过程,并详细介绍了L m u x 在M C P 4 0 1 0 上的移植以及具体的启动过程。第四章详细介绍了M P E G-4 标准的组成及其编解码技术,并且对视频压缩芯片M P G 4 4 0 作了详尽说明,最后具体介绍了M P E G-4 视频压缩模块驱动的编写。第五章详细介绍了硬盘I D E 规范及L m u x 的硬盘驱动,并且介绍了M C P 4 0 1 0系统上硬件接口及驱动移植情况。第六章对本文进行了回顾和总结,并提出了未来的改进和发展方向。92 1 硬件总体架构第二章硬件架构图2 1整个系统的硬件总体架构如图2 1 所示。硬件系统主要包括嵌入式处理器、视频压缩模块和I D E 接口模块三个部分。嵌入式处理器模块主要由处理器芯片M C P 4 0 1 0、F l a s h 和S D R A M(I)组成。其中,M C P 4 0 1 0 是一款A R M 9 2 2 微处理器,时钟频率可达2 0 0 M H z。它负责整个系统的数据采集与运算工作。A R M 处理器由于其低功耗高性能的特点,已经成为嵌入式系统首选的处理器。在下一节将详细介绍有关A R M 体系架构和M C P 4 0 1 0 的特性。F l a s h 中存放L i n u x 内核、根文件系统r o m f s 和应用软件。S D R A M(1)为M C P 4 0 1 0 使用的内存。视频压缩模块由视频数据采集芯片T V 5 1 5 0 A、M P E G-4 编码芯片M P G 4 4 0和S D R A M(2)组成,主要负责采集视频并压缩成M P E G-4 格式。T V 5 1 5 0 A 负责将模拟信号转换成数字信号,并传给视频压缩芯片。M P G 4 4 0 能够高效地进行M P E G-4 编码。S D R A M(2)主要用来在编码过程中暂存数据。I D E 接口模块负责硬盘正常的读写操作,具体I D E 接口硬件接线方式在后面的章节详细介绍。2 2 A R M 体系架构2 2 1A R M 体系架构的特点作为嵌入式系统处理器,A R M 具有低电压,低功耗和高性能等特点;并具有开放性和可扩展性,已经成为嵌入式系统首选的处理器架构【8】。1 R j S C 型处理器结构A R M 采用R I S C 结构,使一个机器周期执行1 条指令。A R M 采用L o a d S t o r e结构,即只有L o a d S t o r e 的存取指令与存储器有关,其余指令都不允许进行存1 0储器操作。为了进行一步提高指令和数据的存取速度,还增加指令快存l-C a c h e和数据快存D-C a c h e。同时还采用了多寄存器的结构,使指令的操作尽可能在寄存器之间进行。2 T h u m b 指令集A R M 为了弥补R I S C 指令功能相对弱的不足,在新型A R M 架构中定义了1 6位的T h u m b 指令集。T h u m b 指令集比通常的8 位和1 6 位S C,C 1 S C 处理器具有更好的代码密度。3 多处理器状态模式A R M 处理器分为管理(S u p e r v i s o r)、系统(s y g e m)、F I Q、I R Q、中断(A b o r t)、用户(U s e r)和未定义(U n d e f i n e d)7 种状态。除了U s e r 用户态外,其余的均为特权模式。4 嵌入式在线仿真调试A R M 架构的处理器芯片内嵌在线仿真I C E R T 逻辑,通过J T A G 进行仿真调试。另外,在处理核中还嵌入跟踪宏单元E T M(E m b e d d e d T r a c e M a c r o c e l l),用于监控内部总线,实时跟踪指令和数据的执行。5 灵活和方便的接口A R M 架构具有协处理器接口,既保证了A R M 处理器内核尽可能小,又可以方便地扩充各种功能。A R M 允许接1 6 个协处理器,如C P l 5 用于系统控制,C P l 4用于调试控制器。A R M 处理器核还具有片上总线O C B(O n C h i pB U S)的A M B A(A d v a n e e dM i e r o c o n t r o l l e rB u sA r c h i t e c t u r e)。A M B A 定义了3 组总线:先进高性能总线A H B(A d v a n c e dH i 曲p e r f o r m a n c eB u s)、先进系统总线A S B(A d v a n c e dS y s t e mB u s)和先进外围总线A P B(A d v a n e e dP e r i p h e r a l8 u s)。通过A M B A 可以方便地扩充各种处理器及I O。6 低电压低功耗的设计A R M 架构的处理器主要用于手持嵌入式系统之中,A R M 架构在设计中通过降低电源电压,减少门的数目和翻转次数,降低时钟频率的方式来减低功耗。2 2 2A R M 处理器架构1 A R M 处理器的寄存器结构A R M 处理器共有3 7 个寄存器,包括:3 1 个通用寄存器和6 个状态寄存器。其中每种处理器模式中都有一组相应的寄存器组。在任何时刻,可见的寄存器包括1 5 个通用寄存器(R 0 R 1 4),一个或两个状态寄存器及程序计数器(P C)。在所有的寄存器中,有些是各种模式公用一个物理寄存器,有一些寄存器各模式拥有自己独立的物理寄存器。其中通用寄存器又可分为备份寄存器、未备份寄存器和程序计数器P C。未备份寄存器未备份寄存器包括R 0-R 7。对于每一个未备份寄存器来说,所有处理器模式下都是使用同一个物理寄存器。未备份寄存器没有被系统用于特别的用途,任何可采用通用寄存器的场合都可以使用未备份寄存器。备份寄存器对于R 1 3 一R 1 4 备份寄存器来说,每个寄存器对应两个不同的物理寄存器。系统将备份寄存器用于任何的特殊用途,如中断处理。程序计数器P C(R 1 5)可以作为般的通用寄存器使用,但有一些指令在使用R 1 5 时有一些限制。状态寄存器C P S R 包含了当前处理器模式下的条件码标识(第2 7-3 1 位)、F I Q I R Q 允许位(第6 7 位)和当前处理器模式(第O-4 位)。2 A R M 处理器的指令结构。A R M 处理器支持两种指令集:A R M 指令集和T h u m b 指令集。其中,A R M指令为3 2 位的长度,T h u m b 指令为1 6 位长度。T h u m b 指令集为A R M 指令集的功能子集,但与等价的A R M 代码相比较,可节省3 0 4 0 以上的存储空间,同时具备3 2 位代码的所有优点。A R M 的指令集除了具有指令长度固定、使用单指令周期和流水线操作以及采用L o a d S t o r e 方式访问存储器等R I S C 架构指令集的特点外,还有以下特点:所有的指令都可根据前面的执行结果决定是否被执行,以提高指令的执行效率。可用L o a d S t o r e 指令批量传输数据,以提高数据的传输效率。可在一条数据处理指令中同时完成逻辑处理和移位处理。在循环处理中使用地址的自动增减来提高运行效率。3 A R M 处理器的异常类型A R M 处理器共支持7 种异常类型:复位(R e s e t):当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行。未定义指令(U n d e f i n e dI n s t r u c t i o n):当A R M 处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真。软件中断(S o f t w a r eI n t e r r u p t)i 该异常由执行S W I 指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现系统功能调用。指令预取中止(p r e f e t c hA b o r t):若处理器预取指令的地址不存在,或该地址不允许当I j f 指令访问,存储器会向处理器发出中止信号。数据中止(姒a A b o n):若处理器数据访问数据的地址不存在,或该数据地1 2址不允许当前指令访问时,产生数据中止异常。I R Q(外部中断请求):当处理器的外部中断请求引脚有效,且C P S R 中的I位为0 时,产生I R Q 异常。系统的外设可通过该异常请求中断服务。F l Q(快速中断请求):当处理器的快速中断请求引脚有效,且C P S R 中的F位为O 时,产生F I Q 异常。4 A I t M 处理器的存储系统A R M 处理器采用单一的平面地址空间。地址空间可以看作是2 3 0 个3 2 位的字单元地址,所以地址低两位为0 b 0 0。在A R M 系统中没有提供指令来选择存储器格式。如果系统中包含标准的A R M 控制协处理器C P l 5,则其寄存器C l 第7位复位时的值,决定系统中存储器的格式是大端(b i g-c n d i a n)还是小端(1 i t t l e-e n d i a n)。由于A R M 采用流水线处理机制,当正确读取了P C 值时,返回的是当前指令下面的第二条指令的地址,即当前指令地址值加8;对于T h u m b 指令来说,返回值为当前指令地址值加4。在A R M 中,F O 操作通常被映射为存储器操作。通常需要将存储器映射的F O 空间设置成非缓冲的,即v o l a t i l eu n s i g n e d。2 2 3A R M 的调试工具A R M 应用软件的编译、汇编、链接等工作全部在P C 机上由交叉编译工具链完成,调试工作则需要配合其他的模块或产品才可完成,目前常见的调试方法有以下几种【9】:1 指令集模拟器部分集成开发环境提供了指令集模拟器,可方便用户在P C 机上完成一部分简单的调试工作,但是由于指令集模拟器与真实的硬件环境相差很大,因此即使调试通过的程序也有可能无法在真实的硬件环境下运行,用户最终必须在硬件平台上完成整个应用的开发。2 驻留监控软件驻留监控软件(R e s i d e n tM o n i t o r s)是一段运行在目标板上的程序,集成开发环境中的调试软件通过以太网口、并行端1:3、串行端口等通讯端口与驻留监控软件进行交互,由调试软件发送命令通知驻留监控软件控制程序的执行、读写存储器,寄存器、设置断点等。驻留监控软件是一种比较低廉有效的调试方式,不需要任何其他的硬件调试和仿真设备。A R M 公司的A n g e l 就是该类软件,大部分嵌入式操作系统也是采用该类软件进行调试,不同的是驻留监控软件是作为操作系统的一个任务存在的。1 3驻留监控软件的缺点是它对硬件设备的要求比较高,一般在硬件稳定之后才能进行应用软件的开发,同时它占用目标板上的一部分资源,而且不能对程序的全速运行进行完全仿真。3 J T A G 仿真器J T A G 仿真器即几A G 调试器,是通过A 砌订芯片的J T A G 边界扫描端口调试设备。J T A G 仿真器比较便宜,连接比较方便,通过现有的几A G 边界扫插端口与A R I V lC P U 核通信,属于完全非插入式(即不使用片上资源)调试,它无需目标存储器,不占用目标系统的任何端口。另外,由于 T A G 调试的目标程序是在目标板上执行。仿真更接近于目标硬件。4 在线仿真器在线仿真器使用仿真头完全取代目标板上的C P U,可以完全仿真A R I V l 芯片的行为,提供更加深入的调试功能。但这类仿真器为了能够全速仿真时钟速率高于1 0 0 M H z 的处理器,通常必须采用极其复杂的设计和工艺,因而其价格比较昂贵。在线仿真器通常用在A R M 的硬件开发中,在软件的开发中较少使用。2 3 M C P 4 0 10 芯片架框孓霄霉一”#谫蚴。蝴惴掣炒嚣警瞎0 9 缈蛳lA R 掀-e o m p a t i b l eR I S CC o r eM M U!睦摩睁懿s t a t i cC I o 甜B q r i d o=M e m o r yl a t e m a lr d w a r e-n t e r r t o tC o n t r o l l e rS w i t c hM TC o n t J r o l l e rw 0 TD RS D R I 耵CC o n U o l l m tB u s a n dC o n t r o lL o g i cT i m e r sR e O u l 矾o r吡K q 1 一O C o n 由r o l l l e rM UC L H G e n 暑P o w e rM n o图2-2M C P 4 0 1 0 微处理器是I I I l a g i a 公司生产的一种A R M 9 2 2 微处理器,它