本科毕业设计---基于linux系统的远程视频监控说明书.doc

上传人:知****量 文档编号:91611583 上传时间:2023-05-27 格式:DOC 页数:67 大小:11.41MB
返回 下载 相关 举报
本科毕业设计---基于linux系统的远程视频监控说明书.doc_第1页
第1页 / 共67页
本科毕业设计---基于linux系统的远程视频监控说明书.doc_第2页
第2页 / 共67页
点击查看更多>>
资源描述

《本科毕业设计---基于linux系统的远程视频监控说明书.doc》由会员分享,可在线阅读,更多相关《本科毕业设计---基于linux系统的远程视频监控说明书.doc(67页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、II英文摘要毕业设计说明书基于linux系统的远程视频监控第 II 页 共 III 页基于linux系统的远程视频监控摘要随着科学技术的不断发展,以及人对安全防范意识的逐渐加强,视频监控系统已经成为人们在生产、生活中必不可少的一个部分。特别是近年来,随着计算机技术的发展、宽带的普及、图像处理技术的提高,视频监控在越来越广泛地渗透到教育、娱乐、医疗、运动等各个领域。视频监测系统已经成为当今可视化领域的一个新的开发热点。视频监控系统正在向嵌入式、数字化、网络化方向发展。嵌入式视频监控系统充分利用大规模集成电路和网络的科技成果,实现了体积小巧、性郁稳定、通讯便利的监控产品。本文以S3C2440为核心

2、硬件平台开发了基于嵌入式的远程视频监控系统,并对关键技术进行了论述和研究。首先给出了系统总体软硬件设计方案,针对本系统硬件对vivi进行了修改和移植,对编译和移植Linux内核以及制作yaffs2文件系统也做了深入的研究,重点讨论了在嵌入式Linux操作系统下利用Linux提供的Video4LinuxAPI函数实现视频数据采集;接着研究了通过MJPEG-4压缩算法来压缩视频数据,并通过TCP/IP协议发送视频数据。最后着重论述了嵌入式Web服务器的设计,编写了视频监控浏览器界面程序,并最终实现了整个视频监控系统结构。本系统采用模块化设计方法,使得设计更加简洁、高效,具有良好的扩展性和易用性,有

3、利于系统升级。另外采用嵌入式的方法,系统成本较低。关键词:ARM,嵌入式Linux ,video4Linux,嵌入式web服务器中北大学2008届毕业设计说明书Remote Video Monitoring System Based On Linux AbstractWith increasing development of science technology and the peopleS sense of safety precaution gradual strengthening,video Surveillance System has become all indispensa

4、ble part of people in production and daily lifeEspecially in recent years,with the development of computer technology,broadband penetration and the improvement of Image processing technology,video surveillance IS becoming more and more widely infiltrated into education,entertainment,medical care and

5、 sports fieldsVideo monitoring system has become a new hot spot in the visual field The embedded of video monitoring system makes full use of large-scale integrated circuits and scientific and technological achievements of network, realizing compact, stable, convenient monitoring products.In this pa

6、per, the embedded of remote video monitor system based on S3C2440 of core hardware platform has been successfully developed, and the key technologies have been researched and discussed. Firstly, the overall hardware and software system design are given; vivi has been modified and transplanted for th

7、e hardware. The transplantation of the compiler and production of Linux kernel, file system of Yaffs2 also be studied in detail. It is focused on gathering video data used Video4Linux API function and Webcam-Server works under the embedded Linux operating system. Secondly, video data compression whi

8、ch used MJPEG algorithm is implement, and then the video data which based on TCP/IP protocol of the socket programming sent over in the network. Finally, the paper focuses on the realization of the embedded Web server design, compiling the home page program of video surveillance, and acheived the al

9、l system of video monitoring.The modular design approach is used in the system which makes the design more compact, efficient, and ease to upgrade. the method of embedded for the system makes lower cost.Key Words:ARM, Embedded Linux, Embedded Web server,video4Linux清华大学2012届毕业设计说明书目 录 1 绪论11.1 引言11.2

10、 研究背景、目标和意义11.2.1 课题研究的背景11.2.2 视频监控发展现状和趋势21.2.3 研究意义41.2.4 研究目标及内容41.3 本文主要研究内容51.4 本章小结52 视频监控系统总体设计62.1 嵌入式系统概况62.2 视频监控系统硬件选型设计62.2.1 ARM概述62.2.2 S3C2440A体系结构72.2.3 系统硬件选型设计82.3 视频监控系统软件设计92.3.1 软件总体框架92.3.2 BootLoader选择102.3.3 嵌入式操作系统的选择112.3.4 嵌入式文件系统类型选择122.3.5 CMOS摄像头驱动以及视频监控应用软件的开发设计132.4

11、本章小结133 系统硬件平台的简单介绍143.1 mini2440开发板主要硬件资源介绍17143.2 主要芯片接口介绍143.2.1 SDRAM 存储系统143.2.2 FLASH 存储系统153.2.3 CMOS CAMERA 接口163.3 本章小结164 嵌入式linux操作系统的构建174.1 嵌入式交叉编译环境搭建174.2 Bootloader移植184.2.1 BootLoader基本概念184.2.2 vivi代码结构分析194.2.3 vivi启动过程194.2.4 配置和编译vivi204.3 嵌入式Linux内核移植224.3.1 Linux内核结构224.3.2 Li

12、nux内核的移植234.4 根文件系统建立244.4.1 根文件系统结构244.4.2 文件系统制作264.5 Linux下调试技术274.6 本章小结285 服务器端应用软件平台的设计295.1 CMOS摄像头设备驱动程序设计295.1.1 Linux设备驱动程序概述295.1.2 设备驱动与文件系统关系305.1.3 驱动程序的模块化设计315.1.4 S3C2440的摄像头接口325.1.5 OV9650的操作355.2 基于Video4Linux的视频采集模块375.2.1 Video4Linux概述375.2.2 视频编程所涉及的数据结构375.2.3 视频采集程序的实现385.3

13、视频数据压缩425.3.1 JPEG图像压缩原理425.3.2 数据压缩流程425.4 网络发送视频流445.4.1 SOCKET网络编程445.4.2 视频数据发送465.5 嵌入式Web服务器的设计485.5.1 boa移植495.5.2 CGI技术505.6 本章小结516 系统调试及运行结果526.1 调试平台及硬件526.2 系统调试过程526.3 实验结果546.3.1 远程显示图像547 总结与展望557.1 工作总结557.2 研究工作展望55参考文献56致 谢58附录A OV9650芯片驱动程序59第 III 页 共 III 页清华大学2012届毕业设计说明书1 绪论1.1

14、引言 在信息时代的今天,随着人们对于系统性能和成本控制要求的不断提高,嵌入式系统以其优良的性价比和独特的便利性越来越赢得人们的青睬。网络技术的日新月异,更使得嵌入式系统不仅可以通过网络获得各种资源,而且也方便了网络的控制与维护与此同时,多媒体应用技术的飞速发展也使得多媒体信息已成为人类获取信息的主要载体,使得人们越来越多地在日常生活、学习和工作中使用多媒体手段来解决问题。尤其是视频监控系统,在银行、港口监控、城市交通管理、酒店安全保卫等各个领域都有着广泛的应用,由于以往各种系统的种种局限性,集成化的视频监控系统仍然有着广阔的市场前景1。正是基于这样的需求背景,确定了本论文的研究内容-基于Lin

15、ux系统在远程视频监控方面的应用。1.2 研究背景、目标和意义1.2.1 课题研究的背景视频监控系统是需要信息广泛交流的企业生产与管理的必备系统。比如,对于银行系统而言,通过监控系统,可以对一些突发事件进行回放,很容易找到事件的相关责任人;在制造企业中,可以通过监控系统实现无人生产等。随着国民经济的发展,视频监控系统的应用己经越来越广泛。目前视频监控系统主要在以下领域中使用2:(l)对机要部门的监视、控制和报警,如档案室、文件室、金库、博物馆等;(2)工厂、市场等的监视,如工厂生产过程、市场、展览厅、货场等的监视;(3)对交通运输的监视,如公共交通、铁路车站、铁路调度等的监视;(4)用于安全报

16、警,如防盗、防火等的报警;(5)家庭用户,随着人民生活水平的提高以及计算机的家庭普及率提高,家庭小型监控系统的需求量也变得越来越大。在计算机未被广泛应用以及数字视频等理论研究尚未成熟以前,传统模拟监控系统占据了监控领域的主要位置。传统的模拟监控,通常是利用录像机将镜头的画面录下来以备查,而录像机录下来的图像,一是清晰度不够,二是查询麻烦,而且录像带的保存也是问题,尽管有着种种不足,但因为前几年的技术限制,这种模式的监控系统还是被普遍使用。随着网络、通信和数字信息技术的不断进步,监控系统的组成模式也在快速变化和发展中,当前网络技术与嵌入式系统技术的结合催生了全新的基于嵌入式web的监控系统。它向

17、人们展示的是现代高科技的结晶,是网络技术与嵌入式系统技术的完美结合。基于嵌入式web监控系统由于把视频处理和web功能集成到一个体积很小的设备内,可以直接连入以太网,达到即插即看,省掉很多复杂的电缆,安装方便,用户无需专用软件。这些优点将使得基于嵌入式视频监控系统获得更广泛的应用3。1.2.2 视频监控发展现状和趋势近三十年来,视频监控系统的发展十分迅速,总体来看分为以下三代4 :第一代是模拟监控时代。模拟监控技术发展较早,在20世纪90年代以前,系统以模拟设备为主。模拟视频监控系统一般由监控前端、传输设备、控制设备以及显示设备几个部分组成。监控前端一般为模拟摄像机、声光电报警设备和雨刷等。传

18、输设备一般为传输视频的同轴电缆,远距离传输可采用模拟光纤或者利用光端机进行传输。控制设备主要是视频切换矩阵,采用键盘进行切换和控制,将需要监控的图像在指定的显示设备进行显示。显示设备主要包括图像的监视器、报警指示设备等。这类系统主要应用于小范围内的监控,如大楼监控等。监控图像一般只能在控制中心查看。有线模拟视频监控无法联网,只能以点对点的方式监视现场,并且布线工程量极大。第二代是半数字时代。20世纪90年代视频监控进入数字化阶段,随着计算机和多媒体处理技术的发展,人们利用多媒体控制主机或硬盘录像主机(DvR)进行数字化处理与存贮,将原来的磁带存储方式转变成数字存储录像,进行模拟数字转换并录像和

19、显示,集合了录像机、画面分割器等功能,跨出数字监控的第一步,基于PC的多媒体监控系统由此产生。由于传输依旧采用传统的模拟视频电缆,所以就叫做第二代半模拟半数字本地视频监控系统。而该系统视频前端(如CCD等视频信号的采集、压缩)较为复杂,稳定性、可靠性不高,功耗高,结构复杂,价格高昂。PC机需专人管理,操作较为繁琐。图像传输仅局限在局域网内传输,传输距离明显受限,并且模拟视频信号的衰减严重,传输距离不能超过1000m,否则必须采用光纤传输,图像质量受环境干扰也较大5。第三代是全数字时代6。从2004年开始,随着网络带宽的提高和成本的降低、硬盘容量的加大和中心存储成本的降低,以及各种实用视频处理技

20、术的出现,视频监控步入了全数字化的网络时代。近两年随着远程监控系统被越来越多的应用于各个领域,对视频监控系统的要求也越来越高:操作简单、实时可靠、多功能、数字化、经济实用的视频监控系统的开发和设计正越来越多地受到人们的瞩目,基于嵌入式技术的网络化视频监控系统应运而生。目前市场上的数字视频监控系统主要有三种:一种是基于PC机的远程视频监控系统,现场放置插有视频卡的PC机,视频的压缩与解压缩由视频卡来负责完成。其优点在于能实现在网上互联互通及授权客户直接访问,便于构建系统及方便联网,缺点是实用性较差,系统稳定性差,费用高,而且现场不能脱离PC机;另一种是通过在现场设置视频网络编码器,将模拟视频编码

21、后上网传输,并在监控端设置的对应解码器上将网上传输的数字视频信号解码后进行监控。其优点在于现场不需要PC机支持,系统稳定性提高;随着技术的进步,市场上出现了一种新型的网络化远程视频监控,即基于嵌入式视频服务器技术的远程网络视频监控。现场采用的网络监控产品主要包括:网络摄像机、网络服务器、网络视频接入器等。网络视频服务器解决了视频流在网络上的传输问题,从图像采集开始进行数字化处理、传输,这样使得传输线路的选择更加多样性,只要有网络的地方,就提供了图像传输的可能,现场无需PC机支持。可采用流媒体技术实现视频在网上的多路复用传输。经过授权的监控者均可随时随地对其进行访问和管理,充分利用了网络资源,是

22、视频监控系统的发展趋势的代表。嵌入式远程视频监控系统的国内外研究现况如下7:在国外,视频监控业务主要为个人用户提供安全系统方案,基本定位在个人和住宅应用方面。国外研究的起步较早,并处于领先水平,己有成熟的嵌入式WEB摄像机产品。比如索尼公司的SVC-VLION,松下公司的KX-HCM130,三星公司的SNC-100P,瑞典的AXIx系列等,这些产品性能普遍较好,但是价格也很昂贵,国内用户大多无法承受。国内在这方面的研究起步较晚,但是很多公司都投入了很大的科研资金,经过这么多年的发展,国内的视频监控已经踏上了一个台阶,尽管和国外相比还是有一定的差距,但是基本的要求以及功能实现可以与国外的相媲美了

23、。国内的视频监控业务主要集中在行业应用,如公安、交通、金融、楼宇等领域,行业应用已成为国内视频监控市场的主要增长点。 目前,国内视频监控系统已经进入了一个高速的、全面发展的新时期,行业竞争日益激烈。尤其在当今的社会,平安城市建设已经成为社会治安防控体系的重头戏之一,也是构建“和谐社会”的重要举措。随着“3111”工程的深入开展,全国各地都在进行平安城市建设,有条件的地方和城市都在投资兴建城市社会治安视频监控系统,北京、上海、深圳、广州、昆明等城市都已经安装监控摄像头20万只以上8。广阔的市场前景伴随着各项新技术的日益发展与成熟,这使得嵌入式视频监控系统的研究与开发具有重大的现实意义。1.2.3

24、 研究意义 现在我们国家把信息安全放到越来越重视的位置,与此同时,信息安全建设对监控系统市场也提出了巨大需求,而且对产品的技术要求也越来越高。在许多安防场合,诸如电力、银行、交通、铁路、军事设施等安全性较高的企业生产与管理中,远程视频监控系统的应用,可方便地监测和控制突发事件的发生。当前的国内视频监控系统中存在以下几点问题: a大多数监控系统仍在采用第二代甚至第一代监控系统,系统硬件软件维护升级维护困难,成本也高; b监控范围小,不适应于远程管理尤其不适宜于在环境恶劣的情况下工作; c视频图像质量较差,影响监控效果,用户界面也不友好,使用不方便。 基于ARM和Linux的远程监控系统正好克服了

25、这些局限性9: I数字视频采用硬件编解码,大大提高了图像压缩质量和稳定性。 II数字视频通过计算机网络传输,距离基本不受限制,便于集中监控和控制。 III数字化存储成为可能,经过压缩的视频数据可存储在磁盘上,方便查询。1.2.4 研究目标及内容 本文研究的目标是:研究并开发一种基于ARM和Linux的视频监控系统。数字视频监控系统所包含的核心技术可以归纳为以下三个方面:数字视频编解码技术,高效大容量存储技术和网络技术因此研究方向主要集中在以下几个方面: MPEG-4视频压缩编码技术的研究。MPEG-4标准采用基于对象的编码理念,将一幅场景分成若干在时间和空间上相互联系的视频音频对象。分别编码后

26、,再经过复用传输到接收端,然后再对不同的对象解码,最后组合成所需的视频和音频。这样方便对不同的对象采用不同的编码方法和表示方法。 高效率实时网络视频传输技术。由于目前的网络不能为视频传输提供稳定的带宽保障,所以MPEG-4视频的实时传输面临很多困难,总结起来主要有:带宽限制,延迟和传输数据包的丢失及差错。 网络传输技术需要解决在局域网和广域网环境下的视频编码数据包的可靠传输问题,数据包定序,低延迟传输,音视频同步,低码率传输,实时解码软件技术等问题。同时,在多用户的网络环境里,还需要考虑应用组播协议,保证网络传输的高效率。1.3 本文主要研究内容本课题的思路是结合视频监控的发展趋势,开发一套基

27、于嵌入式ARM的远程视频监控系统,在嵌入式设备终端上主要完成CMOS摄像头驱动设计、视频图像采集、图像压缩、图像数据的网络发送、嵌入式Web服务器的设计,并通过客户端实时监控。本文主要内容:(l)嵌入式Linux平台的构建(2)CMOS摄像头驱动的开发(3)基于Video4Linux的视频采集程序的开发(4)基于TCP/IP协议的Socket编程,实现了视频数据的网络发送(5)嵌入式Web服务器的设计1.4 本章小结本章详细地对视频监控系统的历史背景到发展趋势,以及当前国内外发展现状的深入剖析,从而提出自己对于嵌入式视频监控系统的要求,并结合本课题的要求,搭建起一个可行的视频监控系统。最后总结

28、了本课题将要研究的重点内容以及需要实现的结果。2 视频监控系统总体设计2.1 嵌入式系统概况 嵌入式系统是以应用为中心、以计算机技术为基础、软硬件均可剪裁,满足应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统10。嵌入式系统是硬件和软件的有机结合体,并以硬件的形式表现出来。嵌入式系统以其体积小、实时性高、稳定性好、接口丰富等优点,成为工业控制领域和消费类电子的新热点。嵌入式系统是一种特殊的计算机系统,具有与通用计算机不同的特点11: i、嵌入式系统通常是面向特定应用的:嵌入式CPU与通用型的最大不同就是嵌入式CPU大多应用在为特定用户设计的系统中,它通常都具有低功耗、体积小、

29、集成度高等特点,能够把通用CPU中许多由板卡成的功能集成在芯片内部。 ii、嵌入式系统的硬件和软件都必须高效率地设计,力争在同样芯片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。 iii、为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片中,而不是存贮于磁盘等载体中。 iv、嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。 嵌入式系统硬件的发展也提出了对嵌入式操作系统的需求。随着计算机技术和多媒体技术的发展,嵌入式系统已经广泛应用到科学研究、工业控制以及各种消费类电子产

30、品当中。大量功能强大的RISC嵌入式处理器的出现,多媒体视频标准的推出都使得嵌入式系统向集成化,网络化,多媒体化发展。视频监控领域就是其发展的一个重要方向。2.2 视频监控系统硬件选型设计2.2.1 ARM概述ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,己遍及工业控制、消费类电子产品、通信系统、网络系统等各类产品市场,基于ARM技术的微处理器应用约占

31、据了RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。采用RISC架构的ARM微处理器一般具有如下特点:l 体积小、低功耗、低成本、高性能;l 支持Thumb(16位)/ARM双指令集,能很好的兼容8位/16位器件;l 大量使用寄存器,指令执行速度更快;l 大多数数据操作都在寄存器中完成;l 寻址方式灵活简单,执行效率高;l 指令长度固定。 目前常见ARM处理器系列有:ARM7系列、ARM9系列、ARM11系列、 SecureCore SC100、Strong ARM、XScale。在此,我们主要讲解ARM7系列、ARM9系列。 ARM7系列:0.9MIPS/M

32、HZ 、3级流水线、冯.诺依曼结构;其内核主要有ARM7TDMI和ARM720T;T支持16位THUMB指令,D支持在片调试,M增强型乘法器,产生全64位结果,I嵌入式ICE硬件提供片上断点和调试点支持。 ARM9系列:1.1MIPS/MHz 、5级流水线、哈佛结构;其内核主要有ARM920T、ARM922T和ARM940T。此外,ARM芯片还获得了许多实时操作系统(Real Time Operating System)供应商的支持,比较知名的有:Windows CE、Linux、VxWorks、Nueleus、uCOS、BeOS等。2.2.2 S3C2440A体系结构 三星公司推出的16/3

33、2位RISC微处理器S3C2440A, 为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。 为了降低整体系统成本,S3C2440A 提供了一下丰富的内部设备12 。S3C2440A 采用了 ARM920t 的内核,0.13um 的 CMOS标准宏单元和存储器单元。其低功耗,简单,优雅,且全静态设计特别适合于对成本和功率敏感型的应用。它采用了新的总线架构Advanced Micro controller Bus Architecture (AMBA)。S3C2440A 的杰出的特点是其核心处理器(CPU),是一个由 Advanced RISC Machines 有限公司

34、设计的 16/32 位 ARM920T 的 RISC 处理器。ARM920T 实现了 MMU, AMBA BUS 和Harvard 高速缓冲体系结构。这一结构具有独立的 16KB 指令 Cache 和 16KB 数据 Cache。通过提供一套完整的通用系统外设,S3C2440A减少整体系统成本和无需配置额外的组件。综合对芯片的功能描述,S3C2440A 集成的以下部分片上功能: 1.2V 内核供电, 1.8V/2.5V/3.3V存储器供电,3.3V 外部I/O供电,具备16KB的 I-Cache和16KB DCache/MMU微处理器 LCD 控制器(最大支持4K色STN和256K色TFT)提

35、供1通道LCD 专用DMA 3通道UART(IrDA1.0, 64字节Tx FIFO,64字节Rx FIFO) 1通道IIC-BUS接口(多主支持) 1通道IIS-BUS音频编解码器接口 2端口USB主机/1端口USB 设备(1.1版) 4通道PWM定时器和1通道内部定时器/看门狗定时器 相机接口(最大40964096像素的投入支持) 130 个通用I/O口和24通道外部中断源 2.2.3 系统硬件选型设计根据课题的要求,我们选择了S3C2440ARM处理器,在处理器丰富资源的基础上,还进行了相关的配置和扩展。我们采用256MB的16位Flash-K9F2G08,该芯片是Samsung公司生产

36、的采用NAND技术的大容量、高可靠Flash存储器,用来存放系统的启动代码、内核代码及根文件系统。RAM是2片HY57V561620共64MB的SDRAM。网卡芯片采用DM9000芯片。DM9000是一款完全集成的和符合成本效益的,单芯片快速以太网MAC控制器。DM9000提供了介质无关的接口,来连接所有提供支持介质无关接口功能的家用电话线网络设备或其他收发器。该DM9000支持8位,16位和32 -位接口访问内部存储器,以支持不同的处理器。摄像头采用CMOS摄像头。其中主要芯片是OV9650。OV9650是OmniVision公司的COMS摄像头,能实现基本的摄像头功能。硬件功能框图见图2.

37、1:图2.1 系统硬件功能框图开发板实物如图2.2所示:图2.2 mini2440开发板实物图2.3 视频监控系统软件设计视频监控软件是工作的核心部分。本文研究的主要内容分为两个方面:一是软件平台的构建,二是视频监控软件中的CMOS摄像头驱动模块和应用程序模块的设计与实现。设计软件应遵循软件工程的方法:首先根据软件的功能,对软件进行模块划分和抽象,然后逐步求精,由抽象到具体地分析和构造出软件的层次结构,提高软件的可理解性。2.3.1 软件总体框架该视频监控系统软件是基于“ARM+Linux”平台开发的。软件的层次结构关系如图2.3所示。图2.3 软件系统层次结构根据图2.3所示,本系统软件主要

38、是服务器端的实现。服务器端包括系统软件和应用软件两部分组成。系统软件主要包括BootLoader的移植、嵌入式Linux操作系统移植、文件系统建立、CMOS摄像头驱动模块设计;应用软件主要包括图像数据的采集、图像输入检测、图像压缩、图像数据的网络发送等。2.3.2 BootLoader选择简单地说,BootLoader就是在操作系统内核或用户应用程序运行之前运行的一段小程序。它对开发板上的主要部件如CPU,RAM,FLASH,串口等基本硬件进行初始化,建立内存空间的映射图(包括设置系统堆栈和系统启动参数区等),从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境

39、。然后跳转到操作系统内核的入口。 表2.1 目前各种BootLoader的比较14BootLoader说明LILO, GRUBX86平台上Linux的BootLoaderRedboot基于cCos的BootLoaderBlobLART项目中的BootLoaderU-boot支持体系结构最多的通用BootLoadervivi专门为ARM9设计,支持S3C2440目前,BootLoader的开发通常都是基于一些开源的BootLoader(如vivi,u-boot,Blob,Redboot等)设计的。表2.1列出了几种比较流行并且支持Linux操作系统的BootLoader并对它们进行了简单的比较。

40、本文采用的BootLoader是vivi,已经在嵌入式ARM板上移植成功。详细的移植过程将在第三章阐述。2.3.3 嵌入式操作系统的选择 嵌入式操作系统主要指支持嵌入式系统应用的操作系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理复杂的系统资源、能够提供高效率的库函数、驱动程序、工具集以及应用程序。到目前为止,国际上已经出现的嵌入式操作系统多达十几种,从市场占有率来看,目前常用的嵌入式操作系统有以下几种:(l)、嵌入式Linux嵌入式 Linux(Embedded Limix)是指对标准Linux

41、经过小型化裁剪处理之后,能够固化在容量只有几KB或者几MB的存储器芯片或者单片机中,是适合于特定嵌入式应用场合的专用Linux操作系统。在目前已经开发成功的嵌入式系统中,大约有一半使用的是Linux。这与它自身的优良特性是分不开的。嵌入式Linux同Linux一样,具有低成本、支持多种硬件平台、优异的性能和良好的网络支持等优点。(2)、VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS)。VxWorks的实时性做得非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,使得它们造成的延迟很短。另外

42、VxWorks提供的多任务机制,对任务的控制采用了优先级抢占和轮转调度机制,这充分保证了可靠的实时性,并使同样的硬件配置能满足更强的实时性要求。另外VxWorks具有高度的可靠性,从而保证了用户工作环境的稳定。但是,由于VxWorks的开发和使用都需要交高额的专利费,因此大大增加了用户的开发成本。同时,由于VxWorks的源码不公开,造成它部分功能的更新(如网络功能模块)滞后。(3)、WindowsCEWindowsCE是微软开发的一个开放的、可升级的嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统。它是精简的Windows95。WindowsCE的图形用户界面相当出色。WindowsCE

43、具有模块化、结构化和基于Win32应用程序接口以及与处理器无关等特点。它不仅继承了传统的Windows图形界面,并且用户在WindowsCE平台上可以使用Windows上的编程工具(如VisualBasie、VisualC+等)、也可以使用同样的函数、使用同样的界面风格,使绝大多数Windows上的应用软件只需简单的修改和移植就可以在 WindowsCE平台上继续使用。但与VxWorks相同,WindowsCE也是比较昂贵的。(4)、Palm OSPalm OS在PDA和掌上电脑有着很大的用户群。Palm OS最明显的特点在精简,它的内核只有几千个字节,同时用户也可以方便地开发定制,具有较强的

44、可操作性。因此,基于以下原因我们选择了嵌入式Linux作为开发平台的操作系统13:l Linux系统是层次结构且内核完全开放。l 嵌入式Linux内核性能高效、稳定,小巧灵活,易于裁剪。l 具有良好的开发环境。l Linux具有广泛的硬件支持特性。l 开发成本低廉。2.3.4 嵌入式文件系统类型选择目前为止在嵌入式系统中常用的根文件系统的类型有Cramfs、JFFS2、YAFFS、RAMFS等类型,下面将分别介绍这些文件系统。(1)Cramfs:一种只读的压缩文件系统,它也基于MTD驱动程序。在Cramfs文件系统中,每一页(4KB)被单独压缩,可以随机页访问,其压缩比高达2:1,为嵌入式系统

45、节省大量的Flash存储空间,使系统可通过更低容量的FLASH存储相同的文件,从而降低系统成本。Cramfs文件系统以压缩方式存储,在运行时解压缩,所以不支持应用程序以XIP(片内运行)方式运行,所有的应用程序要求被拷到RAM里去运行,但这并不代表比Cramfs需求的RAM空间要大一点,因为Cramfs是采用分页压缩的方式存放档案,在读取档案时,不会一下子就耗用过多的内存空间,只针对目前实际读取的部分分配内存,尚没有读取的部分不分配内存空间,Cramfs文件系统自动计算压缩后的资料所存的位置,再即时解压缩到RAM中。(2)JFFS2:是RedHat公司基于JFFS开发的闪存文件系统,最初是针对

46、RedHat公司的嵌入式产品 eCOS开发的嵌入式文件系统,所以JFFS2也可以用在Linux,uCLinux中。日志闪存文件系统版本JFFS2主要用于NOR型闪存,基于MTD驱动层,特点是:可读写的、支持数据压缩的、基于哈希表的日志型文件系统,并提供了崩溃/掉电安全保护,提供“写平衡”支持等。缺点主要是当文件系统已满或接近满时,因为垃圾收集的关系而使JFFSZ的运行速度大大放慢15。JFFS2不适合用于NAND闪存主要是因为NAND闪存的容量一般较大,这样导致JFFS为维护日志节点所占用的内存空间迅速增大,另外,JFFSZ文件系统在挂载时需要扫描整个FLASH的内容,以找出所有的日志节点,建

47、立文件结构,对于大容量的NAND闪存会耗费大量时间。(3)YAFFS:YAFFS/YAFFS2是专为嵌入式系统使用NAND型闪存而设计的一种日志型文件系统。与JFFS2相比,它减少了一些功能(例如不支持数据压缩),所以速度更快,挂载时间很短,对内存的占用较小。YAFFS/YAFFS2自带NAND芯片的驱动,并且为嵌入式系统提供了直接访问文件系统的API,用户可以不使用Linux中的MTD与VFS,直接对文件系统操作16。本文选择Yaffs文件系统,Yaffs文件系统以速度快,效率高,占用内存少,其只读的特点有利于保护文件系统免受破坏,提高了系统的可靠性。2.3.5 CMOS摄像头驱动以及视频监控应用软件的开发设计由于我们采用的是CMOS摄像头,该款摄像头在linux系统中没有为之实现的驱动代

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁