微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于Linux操作系统的视频采集卡驱动程序设计

基于Linux操作系统的视频采集卡驱动程序设计

时间:05-21 来源:互联网 点击:

用程序分离开,从而降低丢失数据的可能性。设备采集到图像后可以用DMA 方式直接将数据放入应用程序分配好的缓冲区中,这就大大提升了整个系统的性能。

4.2.3 测试驱动程序[6]

首先编译上述模块,然后通过命令insmod链接进内核。用于测试的简单应用程序主体部分如下所示:

vid = open(device, O_RDONLY);/*打开设备*/

err = ioctl(vid, VIDIOC_QUERYCAP, cap); /*查询设备支持的功能*/

err = ioctl(vid, VIDIOC_G_FMT, fmt);/*设置采集图像的格式*/

data = malloc(fmt.fmt.pix.sizeimage);/*分配用户空间缓冲区*/

n = read(vid, data, fmt.fmt.pix.sizeimage);/*获取一桢数据*/

该应用程序运行后经检查得到了预期的结果,并且在基于该驱动程序的CDMA无线视频传输系统中满足了应用的需要,获得了理想的效果。

5 结论

本文作者创新点:详细阐述了Linux环境下利用V4L2API开发视频采集设备驱动程序的流程,并将该驱动程序实际的应用到我们自己研发的CDMA无线视频传输系统中,获得了满意的实时效果,在此也希望对从事同类开发的人员有所裨益。

参考文献

1 Alessandro Rubini Jonathan Corbet,Linux device driver,2nd Edition,O’Reilly,2001.7

2 Philip SAA7146A datasheet,1998.4

3 Philip SAA7111A datasheet,1998.5

4 http://linux.bytesex.org/v4l2/

5 PCI SIG,PCI Local Bus Specification Revision 2.2,1998.12

6 王多智,嵌入式linux下sram驱动程序的开发原理及应用,微计算机信息,2005年第5期

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top