基于S3C2440Linux的图像.docx

上传人:b****3 文档编号:5054178 上传时间:2022-12-12 格式:DOCX 页数:12 大小:1.20MB
下载 相关 举报
基于S3C2440Linux的图像.docx_第1页
第1页 / 共12页
基于S3C2440Linux的图像.docx_第2页
第2页 / 共12页
基于S3C2440Linux的图像.docx_第3页
第3页 / 共12页
基于S3C2440Linux的图像.docx_第4页
第4页 / 共12页
基于S3C2440Linux的图像.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

基于S3C2440Linux的图像.docx

《基于S3C2440Linux的图像.docx》由会员分享,可在线阅读,更多相关《基于S3C2440Linux的图像.docx(12页珍藏版)》请在冰豆网上搜索。

基于S3C2440Linux的图像.docx

基于S3C2440Linux的图像

目录

中文摘要I

英文摘要II

1绪论1

1.1引言1

1.2国内外研究现状1

1.3论文的组织介绍1

2嵌入式开发板介绍3

2.1开发板概述3

2.2开发板接口资源3

2.3开发板的使用5

2.4MINI2440开发板接口布局8

3Linux嵌入式系统及相关平台的构建9

3.1U-BOOT的移植9

3.1.1U-boot的介绍9

3.1.2U-boot的编译10

3.2LINUX的移植10

3.2.1内核源码移植10

3.2.2配置和编译内核11

3.2.3USB摄像头驱动简单分析15

3.3QT的移植及编译平台的搭建16

3.3.1具体步骤16

3.3.2问题与总结17

3.4YAFFS文件系统的构建17

3.4.1Linux文件的存放规则17

3.4.2添加Busybox18

3.4.3添加程序动态库18

3.4.4添加设备文件18

3.4.5配置应用程序自动启动18

3.5小结19

4QT的使用20

4.1选择QT的原因20

4.2QT的相关知识20

4.2.1QtopiaCore与Qt、Qt/Embedded20

4.2.2FrameBuffer和qvfb21

4.2.3信号和槽22

4.3QT程序的编写24

4.4QT程序的注意事项30

4.5总结31

5图像采集的具体实现32

5.1程序设计思路32

5.2LINUX下如何进行采集32

5.3图像的处理39

5.3.1USB摄像头的打开、初始化40

5.3.2画面预览功能设计42

5.3.3图片保存功能的设计44

5.3.4视频保存功能的设计44

5.4程序的运行效果:

49

6相关程序的移植50

6.1WEBCAM的移植及使用50

6.2MPLAYER的移植50

6.3SMPLAYER的移植52

6.4小结53

7论文总结55

致谢56

参考文献57

基于S3C2440/Linux的图像处理模块设计

摘要

随着嵌入式技术的不断发展和视频监控系统及视频会议应用的日益广泛,视频程序的开发和数据采集传输技术成为了开发的热点。

本文论述了利用Mini2440开发板和嵌入式Linux系统开发图像处理模块的设计过程。

图像处理模块是以嵌入式微处理器S3C2440和Linux为核心平台。

采用USB摄像头作为图像采集设备,利用Linux下视频设备应用编程接口V4L2和Qt/Embedded实现图像的采集、实时显示和JPEG格式图片保存,利用Xvid库来实现视频数据的编解码。

论文首先介绍了嵌入式开发板的相关信息,详细说明了Linux嵌入式操作系统的移植;在重点分析了利用Qt的处理图像的基础上,实现了具有拍照和摄像功能的图像处理模块的设计;最后利用Webcam和Mplayer完善了系统的网络和视频播放方面的不足。

该系统可广泛用于监控系统、可视电话、工业控制等领域,有广阔的应用前景。

关键词图像处理/Mini2440/嵌入式/视频处理

IMAGEPROCESSINGMODULEBASEDON

THEDESIGNOFS3C2440/LINUX

 

ABSTRACT

 

Alongwiththedevelopmentofembeddedtechnologyandwidespreadingofvideomonitoringsystemandvideoconferencing,thedevelopmentofvideoprogramanddatagatheringtransmissiontechnologyhavebecomeahotspot.

ThisarticlediscussesthedesigningprocessofusingthedemoboardofMini2440andtheembeddedLinuxsystemdevelopmentofimageprocessingmodule.TheimageprocessingmoduleusesembeddedmicroprocessorS3C2440andLinuxasthecoreplatform.Theapplicationprogrammingin—terfaceV4L2andQt/Embeddedlibraryaretwokeytechnologiestorealizeimageacquisition.real—timedisplayandJPEGpicturesavingbyusingUSBcamera.Thisdesignofimageachievesencodingordecodingofimagesbyxvidlibrary.Firstlyarticleintroducestheinformationofembeddeddemoboard,andgoesintodetailaboutthetransplantationofembeddedsystems.ThenitanalysesthatonthebasisofusingQtimageprocesscompletesthedesignofvideoimageprocessingmodulewhichhasthefunctionoftakingthephotoandmakingthevideorecording.Finally,usingtheWebcamandMplayerperfectedthesystemnetworkandthedeficienciesinthevideoplayback.Thesystemcanbeusedinsurveillancesystems,videotelephony,industrialcontrolandotherfields,whichhasbroadapplicationprospects

KEYWORDSImageprocessing,Mini2440,embedded,videoprocessing

1绪论

1.1引言

进入20世纪90年代,嵌入式技术全面展开,目前已成为通信和消费类产品的共同发展方向[1]。

随着智能化、信息化、网络化的发展,嵌入式系统技术也将获得广阔的发展空间。

今天嵌入式系统带来的工业年产值已超过了1万亿美元,而且其发展还是一直保持很高的速度。

开发中国自主知识产权的嵌入式处理器,嵌入式操作系统和嵌入式高端产品,对我国的民族IT业来讲,将有十分重要的战略意义。

1.2国内外研究现状

从八十年代末开始,陆续出现了一些嵌入式操作系统,比较著名的有VxWorks,PalmOS,Nucleus和WindowsCE,QNX和现在谈论最多的嵌入式Linux操作系统等[2]。

嵌入式Linux一般是按照嵌入式目标系统的要求而设计的,由一个体积很小的内核及一些可以根据需要随意裁减的系统模块组成。

目前,国外不少人员、研究机构和知名公司都加入了嵌入式Linux产品的开发工作,嵌入式Linux产品不断涌现。

国内的嵌入式Linux厂商队伍正在逐渐壮大,开始形成一个百家争鸣的局面。

但国内厂商们正在设计的嵌入式产品形态,实际上还都普遍处于概念产品的阶段,除了实时数控领域已经涌现大量明确需求以外,其它嵌入式领域仍需要一段市场的培育期。

与国外相比,国内的视频市场还有很大的差距。

一般监控系统中的智能视频监控实际上属于普通的网络视频监控(IP监控、数字化监控)。

目前有些国内厂商开始引进国外知名厂商的智能视频软硬件产品和技术,计划采用OEM的形式在国内推出。

监控摄像机的图像传感器正逐渐从传统的CCD向CMOS转变。

CMOS图像传感器成本低、集成度高,图像质量已不输于CCD。

CMOS传感器集成了许多外围处理功能,所需器件比CCD探头少,且CMOS探头的功耗要低得多。

1.3论文的组织介绍

本文是基于嵌入式Linux系统来开发图像处理模块,并针对几个关键技术做出讨论。

论文的组织结构为:

第一章对嵌入式技术的国内外的发展状况进行综述。

第二章介绍了嵌入式开发板mini2440的组成及其特点。

第三章详细介绍了嵌入式Linux系统的构建。

第四章对Qt进行介绍。

详细介绍了Qt的各个版本之间的关系,然后以一个Qt的小示例,介绍了Qt编程的具体步骤。

第五章是图像采集模块的具体实现。

先从整体上概述设计的思路,然后详细分析了程序设计的每一个步骤,最后给出程序运行的界面。

第六章是相关程序的分析。

主要包括网络摄像头WebCam、视频解码器Mplayer、视频播放器Smplayer的移植。

第七章在总结整个毕业设计的基础之上,展望需要进一步完善的功能。

2嵌入式开发板介绍

2.1开发板概述

Mini2440是一款低价实用的ARM9开发板,是目前国内性价比较高的一款学习板。

它采用SamsungS3C2440为微处理器,并采用专业稳定的CPU内核电源芯片和复位芯片来保证系统运行时的稳定性。

Mini2440的PCB采用沉金工艺的四层板设计,专业等长布线,保证关键信号线的信号完整性。

2.2开发板接口资源

(1)地址空间分配和片选信号定义

S3C2440支持两种启动模式:

一种是从NandFlash启动(Mini2440即是此种);一种是从NorFlash启动。

在此两种启动模式下,各个片选的存储空间分配是不同的;

(2)SDRAM存储系统

Mini2440使用了两片外接的32Mbytes总共64Mbytes的SDRAM芯片;

(3)FLASH存储系统

Mini2440具备两种Flash,一种是NorFlash,型号为SST39VF1601(AMD29LV160DB与此引脚兼容),大小为2Mbyt、另一种是NandFlash,型号为K9F1G08,大小为128M(旧版本为K9F1208,大小为64Mbyte)。

S3C2440支持这两种Flash启动系统,通过拨动开关S2,你可以选择从NOR还是从NAND启动系统;

(4)电源系统及接口

本开发板的电源系统比较简单,直接使用外接的5V电源,通过降压芯片产生整个系统所需要的三种电压:

3.3V、1.8V、1.25V;

(5)复位系统

本开发板采用专业的复位芯片MAX811实现CPU所需要的低电平复位;

(6)用户LED

开发板具有4个用户可编程LED,它们直接与CPU的GPIO相连接,低电平有效;

(7)用户按键

开发板总共有6个用户测试用按键,它们均从CPU中断引脚直接引出,属于低电平触发,这些引脚也可以复用为GPIO和特殊功能口;

(8)A/D输入测试

开发板总共可以引出4路A/D(模数转换)转换通道,它们位于板上的CON4-GPIO接口;

(9)PWM控制蜂鸣器

开发板的蜂鸣器SPEAKER是通过PWM控制的;

(10)串口

S3C2440本身总共有3个串口UART0、1、2,其中UART0,1可组合为一个全功能的串口;

(11)USB接口

开发板具有两种USB接口,一个是USBHost,它和普通PC的USB接口是一样的,可以接USB摄像头、USB键盘、USB鼠标、优盘等常见的USB外设,另外一种是USBSlave,我们一般使用它来下载程序到目标板,当开发板装载了WinCE系统时,它可以通过ActiveSync软件和Windows系统进行同步;

(12)LCD接口

开发板的LCD接口是一个41Pin0.5mm间距的白色座,其中包含了常见LCD所用的大部分控制信号(行场扫描、时钟和使能等),和完整的RGB数据信号(RGB输出为8:

8:

8,即最高可支持1600万色的LCD);

(13)EEPROM

供用户测试I2C总线而用;

(14)网络接口

开发板采用了DM9000网卡芯片,它可以自适应10/100M网络;

(15)音频接口

S3C2440内置I2S总线接口,可直接外接8/16比特的立体声CODEC;

(16)JTAG接口

JTAG接口在开发中最常见的用途是单步调试;

(17)GPIO

通用输入输出口;

(18)CMOSCAMERA接口

CAMERA接口是一个复用端口,它可以通过设置相应的寄存器改为GPIO使用;

(19)系统总线接口

开发板上的系统总线接口为CON5,它总共包含16条数据线(D0-D15)、8条地址线(A0-A6,A24)、还有一些控制信号线(片选、读写、复位等),CON5可以向外提供5V电压输出。

2.3开发板的使用

开发板有两个Flash芯片:

Norflash和Nandflash。

其中Norflash中存放的是开发商预存的BootLoader:

Supervivi,通过这个Supervivi可以对Nandflash进行操作:

格式化、下载Wince和Linux、下载Linux文件系统、备份Nandflash和恢复Nandflash等操作。

同时Supervivi还支持命令输入模式,可以读写内存,查看变量,查看分区等操作。

具体步骤如下:

(1)把NOR/NAND选择开关选择为NOR,表示为从NORflash启动;

(2)用串口线把开发板和电脑连起来;

(3)打开电脑上的超级终端,并进行相应的设置;

(4)插上电源,然后打开电源开关;

(5)这样在超级终端上就显示如图2-1;

(6)输入相应的命令就可以对应的操作

这里选择【u】作为示例,由提示知u表示通过USB上传备份NANDFlash中的数据。

输入u后的提示如图2-2:

提示打开dnw.exe来接收数据。

(7)Dnw的使用

Dnw.exe是用来下载或上传接收工具,也可以当作串口终端使用。

首先,要插上USB接口的线,不过要提前安装好相应的驱动,接着打开dnw.exe如果DNW标题栏提示[USB:

OK],说明USB连接成功,这时选择DNW菜单的UsbPort->BackupNandFlashtoFile,如图2-3所示:

按提示保存好位置,并等待完成,就可以了。

图2-1BootLoader在超级终端打印的文字

图2-2输入命令u后超级终端打印的文字

(8)其他的常用命令还有:

1V:

下载vivi;

2K:

下载linux内核;

3Y:

下载linux文件系统;

4N:

下载Nboot;

5D:

下程序并运行(主要用于调试程序);

6F:

格式化NANDFlash;

7B:

启动嵌入式系统;

8S:

设置启动参数;

9R:

通过备份的数据恢复NANDFlash的数据;

10Q:

进入vivi命令模式。

图2-3Dnw的使用界面

(9)Vivi常用的命令:

1Help:

显示所有可用的命令及相关参数的使用帮助;

2Meminfo:

显示内存的相关信息;

3Load:

下载文件到对应的位置;

4Param:

param命令用于对bootloader的参数进行操作;

5Boot:

设置系统的启动位置;

6Bon:

用于对bon分区进行操作;

7Go:

用于跳转到指定地址处执行该地址处的代码;

8Reset:

重启系统。

2.4MINI2440开发板接口布局

图2-4Mini2440布局

3Linux嵌入式系统及相关平台的构建

3.1U-BOOT的移植

3.1.1U-boot的介绍

(1)U-boot用来引导linux启动,是一个通用的Bootloader[3];

(2)支持多种嵌入式操作系统内核,如Linux、NetBSD,VxWorks,QNX,RTEMS,ARTOS,LynxOS;

(3)支持多个处理器系列,如PowerPC、ARM、x86、MIPS、Xscale;

(4)较高的可靠性和稳定性;

(5)丰富的设备驱动源码,如串口、以太网、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、键盘;

(6)代码目录

解压的U-Boot源程序顶层目录下有18个子目录,分别存放和管理不同的源程序。

 

4论文总结

虽然这次毕业设计完成了相关论文的内容,但是这个成品距离实际应用还有很大的差离。

主要的问题集中在界面美观、性能和稳定性这三方面,后期要做的工作还是很大的,同时在设计过程中还看到自己有很多不足的地方,这些都还需要进一步的学习。

本设计主要做的工作是嵌入式Linux系统的移植、Qt平台的搭建、摄像头模块的编码,嵌入式小系统的整合等工作。

当然通过这次毕业设计的完成,我在解决问题的过程中收获了很多:

通过Linux系统的移植,让我更深入的理解了嵌入式系统的工作原理,对以后类似系统的设计提供了一个很好的思路;Qt平台的搭建的各种问题的解决,使我体会到前期规划的重要性;摄像头模块的编码的完成,不仅加深了对Qt的理解,还提高了个人的编程水平等。

致谢

在我的毕业论文即将完成之际,谨向在四年的研究生学习期间给予我培养、教育、帮助和支持的所有老师和同学致以最诚挚的谢意!

感谢我的导师韩雪琴教授在学习和生活中给予我的关心和帮助。

从论文开始的选题到最后的修改,韩老师都为我提出了许多宝贵的意见。

韩老师严谨勤奋的科研作风,敏锐的学术眼光,以及积极进取、乐观豁达的人格魅力深深地感染和启迪着我。

并且韩老师有着渊博的学识,严密的治学态度和慎密的思维,这些都极大地影响了我。

本文从先期的理论研究到后期的语言修改,无不倾注着韩老师的心血。

韩老师锲而不舍的工作热情,诲人不倦的高尚品格,将一直激励着我追求进步、追逐卓越。

在此,我向我的导师韩雪琴教授表示衷心的感谢和崇高的敬意!

感谢我身边的每一位好友,感谢他们的帮助和关心。

最后,感谢我的家人和朋友,感谢他们一直以来所给予我的关怀、支持和鼓励。

尤其要感谢亲爱的妈妈对我的培养和无私的爱。

参考文献

[1]张大波主编.嵌入式系统原理设计与应用.北京:

机械工业出版社,2005,1.

[2]罗蕾.嵌入式实时操作系统.成都:

电子科技大学出版社,2004:

192-195.

[3]邹思铁.嵌入式Linux设计与应用.北京:

清华大学出版社,2002.

[4]李岩等.基于S3C44BOX嵌入式MCLINUX系统原理及应用.清华大学出版社,2005.1.

[5]ARMArchitectureReferenceManual.2nd.ARM.Ine.2004.

[6]弓雷编著.ARM嵌入式Linux系统开发详解.清华大学出版社,2010,1.

[7]赵炯.Linux内核完全注释:

北京:

机械工业出版社,2005.

[8]郭玉东.Linux操作系统结构分析.西安:

西安电了科技大学出版社,2002.

[9]KarimYaghmour.BuildingEmbeddedLinuxSystems.O’Reilly.April2003:

68-75.

[10]成洁等.Linux窗口程序设计——Qt4精彩实例分析.清华大学出版社,2008,11.

[11]欧文盛编著.ARM嵌入式Linux实用实例开发.中国电力出版社,2008,7.

[12]田泽编著.嵌入式系统开发与应用.北京航空航天大学出版社,2005.

[13]杜春雷.ARM体系结构与编程.北京:

清华大学出版社,2004.

[14]LiShanping,Linux2.4kernelsourcecodeanalysis(M).Beijing:

ChinaMachinePress.2002.

[15]周德新,张向利.Linux与嵌入式操作系统.桂林电子工业学院学报,2000,2:

56-80.

[16]马忠梅等.ARM&Linux嵌入式系统教程.北京:

北京航空航天大学出版社,2004.

[17]AhmedAmineJerraya.EmbeddedSoftwareforSoc.KluwerAcademic.

[18]肯静.嵌入式系统设计与开发实例详解.北京航空航天大学出版社,2005,1:

197-200.

[19]刘峥嵘.嵌入式Linux应用开发详解.机械工业出版社,2005,1.

.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1