西安电子科技大学国家大学生创新性实验计划中期检查报告.doc

西安电子科技大学国家大学生创新性实验计划中期检查报告.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安电子科技大学国家大学生创新性实验计划中期检查报告

豆丁网天天整理 豆丁网天天整理 西安电子科技大学国家大学生创新性实验计划中期检查报告 项目名称 基于ARM+DSP架构的无线红外监控系统 申请单位 机电工程学院 项目负责人 王震 指导教师 赵明英 起止年限 2009.4至2011.1 批准经费 12000元 检查日期 2010 年 3 月 (以下可根据需要另加页): 研究工作主要进展和结果 1.S3C2440A(ARM9)硬件的了解 前期从SAMSUNG的S3C2440A(ARM9)的硬件进行学习,包括启动代码的分析,GPIO基础实验,定时器中断实验,串口发送和接受数据实验等。为以后Linux驱动程序的学习和编写打下了基础。 2.PC机上Linux开发环境的搭建 对硬件有所了解后,开始了PC机上Linux的学习。Linux的操作方法和windows有??不同,所以需要对命令行下常用命令和gcc有所熟悉。要编译出能在ARM板上能运行的程序,需要安装arm-linux-gcc交叉编译器。为了以后调试方便,需要搭建网络文件系统,在PC的Linux 上开启NFS服务。在移植完Linux内核和文件系统后,编写了一些简单的驱动和应用程序。 3.Video For Linux驱动和应用程序 (1)首先说明一下 Video For Linux(V4L) V4L是一些视频系统,视频软件,音频软件的基础,经常使用在需要采集图像的场合,如视频监控,webcam,可视电话,是Linux 嵌入式开发中经常使用的系统接口。它是Linux 内核提供给用户空间的编程接口,各种的视频和音频设备开发相应的驱动程序后,就可以通过 V4L提供的系统 API 来控制视频和音频设备,也就是说 V4L 分为两层,底层为音视频设备在内核中的驱动,上层为系统提供的 API,而对于我们来说需要的就是使用这些系统的 API。 (2)Linux系统中的文件操作 在Linux系统中的V4L相关系统调用的作用和使用方法包括open(),read(),close(),ioctl(),mmap()。系统中各种设备(当然包括视频设备)也都是用文件的形式来使用的。他们存在与 dev目录下,所以本质上说,在 Linux 中各种外设的使用(如果它们已经正确的被驱动),与文件操作本质上是没有什么区别的。 (3)V4L中重要的结构体和相关函数 相关结构体和函数的定义我们就放到一个名为 v4l.h 的文件中,相关函数的编写就放在一个名为v4l.c 的文件中。 相关结构体: #ifndef _V4L_H_ #define _V4L_H_ #include sys/types.h #include linux/videodev.h //使用v4l必须包含的头文件,可以在/usr/include/linux 下找到 struct _v4l_struct { int fd; struct video_capability capability; struct video_picture picture; struct video_mmap mmap; struct video_mbuf mbuf; unsigned char *map; int frame_current; int frame_using[VIDEO_MAXFRAME]; }; typedef struct _v4l_struct v4l_device; 相关函数及采集流程: a.打开视频设备(通常是/dev/video0) int v4l_open(char *, v4l_device *); b.获得设备信息。 int v4l_get_capability(v4l_device *); int v4l_get_picture(v4l_device *); c.根据需要更改设备的相关设置。 int v4l_set_picture(v4l_device*,int,int,int,int,int); d.获得采集到的图

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档