摘要I摘要随着现代电力电子技术和微电子技术的迅猛发展,自动化,智能化程度的不断的提高,家居安防技术正在不断发展。基于ARM的嵌入式Linux系统以其强大的功能而倍受关注,目前在消费电子、工业控制等众多领域得到了广泛的应用。传统的个人计算机的视频监控系统已经越来越不能满足现代人的需求。消费者希望自己可以实时“看见”现场的情况,并且可以远程控制现场的一些自动化设备来处理紧急情况。本文分析了前人的研究成果并在通过自己对个人计算机的视频监控系统的理解,研究了一种通过ARM的嵌入式Linux系统的视频监控系统设计与实现的方案,且实现了实时监控监控的目的。这个项目的方案在硬件上采用的是三星上成熟的ARM体系Exynos4412型号的Cortex-A9架构处理器平台,以USB摄像头作为视频采集设备;在软件上采用了嵌入式Linux开发环境以及应用程序的开发,包括交叉编译工具环境的建立,TFTP和NFS的配置,BootLoader配置,Linux内核移植以及根文件系统的创建,并重点分析了在嵌入式Linux平台上进行USB摄像头驱动的开发流程,介绍了基于Video4linux2(简称V4L2)的视频采集编程接口API以及基于RGB格式转化为JPEG格式的图像压缩理论实现的方法,实现了摄像头的图像采集。此系统不但具有易维护性、可扩展性和安全性等这些嵌入式基本特点,而且充分融合了嵌入式和通信技术。使得本系统的功能扩展性非常好,可以稍做定制就可以应用于很多其它场合。关键字:微电子,嵌入式Linux,ARM(Cortex-A9),Exynos4412,USB摄像头,Video4linux2,APIABSTRACTIIABSTRACTWiththerapiddevelopmentofmodernpowerelectronictechnologyandmicroelectronicstechnology,automation,intelligentdegreeofcontinuousimprovement,homesecurityandtechnologyaredevelopingcontinuously.BasedonARMembeddedLinuxsystemwithitspowerfulfunctionandattention,intheconsumerelectronics,industrialcontrol,andmanyotherfieldshasbeenwidelyused.Thetraditionalvideomonitoringsystemhasbeenmoreandmoreofthepersonalcomputercannotmeettheneedsofmodernpeople.Consumershopeoneselfcanseethescenereal-time,andcanremotecontrolthesceneofsomeoftheautomationequipmenttodealwithanemergency.Thispaperanalyzestheresearchachievementsofpredecessorsandthroughhisunderstandingofvideomonitoringsystemofthepersonalcomputer,studyathroughtheARMembeddedLinuxsystem,videomonitoringsystemdesignandimplementationscheme,andachievethegoalofthereal-timemonitoring.SchemeonthehardwareusedinthisprojectismatureonsamsungARMsystemExynos4412modelA9architectureprocessorarchitectureplatform,withUSBcameraasthevideoacquisitiondevice;EmbeddedLinuxdevelopmentenvironmenthasbeenusedinthesoftwareandapplicationdevelopment,includingtheestablishmentofthecrosscompiletoolsenvironment,TFTPconfigurationandNFS,BootLoaderconfiguration,theLinuxkerneltransplantationandthecreationoftherootfilesystem,AndanalyzedontheembeddedLinuxplatformforUSBcameradriverdevelopmentprocess,introductionbasedVideo4linux2(referredV4L2)videocaptureprogramminginterface(API)andRGBformatintoJPEGformatimagecompressionmethodbasedonthetheoryofimplementation,toachieveacameraimageacquisition.Thissystemnotonlyhaseasymaintainability,scalability,andsecuritysuchasembeddedbasiccharacteristics,andtofullymixtheembeddedandcommunicationtechnology.Makethefunctionexpansibilityofthissystemisverygood,wecoulddoalittlecustomizationcanbeappliedinmanyotheroccasions.Keywords:Microelectronics,EmbeddedLinux,ARM(Cortex-A9),Exynos4412,USBcamera,Video4linux2,API目录III目录第1章课题整体框架.............................................11.1课题任务........................................................11.2课题要求........................................................11.3研究意义........................................................1第2章设计方案.................................................32.1嵌入式系统简介..................................................32.2硬件部分........................................................32.2.1硬件开发平台..................................................32.2.1ARM微处理器..................................................42.2.3摄像头选择....................................................52.3软件部分........................................................52.3.1linux操作系统.................................................52.3.2软件开发环境的创建............................................6第3章实现功能................................................113.1实现功能描述...................................................113.2软件设计.......................................................123.2.1软件设计思路描述.............................................123.2.2linux平台上进行USB摄像头驱动开发流程.......................133.2.3基于RGB格式转化为JPEG格式的图像压缩理论实现................193.2.4建立linux环境下的服务器.....................................20第4章调试与实现..............................................224.1调试中遇到的重点与难点.........................................224.2解决方案.......................................................224.3实现展示(附上仿真图或实物照片)...............................23第5章总结....................................................255.1论文总结.......................................................255.2未来展望.......................................................25参考文献...........................................................27致谢...............................................................28附录...............................................................29附录一:主函数main.c.............................................29附录二:camera下实现的接口功能函数...............................301)camera_progress.c负责采集图片..................................302)camera.c自己定义的接口描述.....................................363)convert.cRGB格式转化为JPEG格式的图像压缩理论实现.............44附录三:linux环境下的服务器socket.c.............................51第1章课题整天框架1第1章课题整体框架1.1课题任务本文是在电子科技大学成都学院课程设计的基础上自己实际进行实验开发实现了“基于linux的视频监控系统设计与实现”的方案,在深入研究了嵌入式Linux操作系统、视频数据采集与流媒体实时传输技术的基础上将上述三者结合起来设计了一套网络视频监控系统,并且成功的进行了视频的采集。1.2课题要求根据课题的要求,采用了以成熟的ARM体系架构的Cortex-A9处理器平台系统架构,设计出了一种基于linux系统下的视频信号实时采集系统。论文的设计工作主要集中在下面的几个方面:1)软件开