Linux系统下USB摄像头驱动开发

       
一、 Linux 系统中的 USB 摄像头驱动程序
USB摄像头以其良好的性能和低廉的价格得到广泛应用。同时因其灵活、方便的
 <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
特性,易于集成到嵌入式系统中。但是如果使用现有的符合Video for Linux
标准的驱动程序配合通用应用程序,难以充分利用USB带宽,帧速不高,不易满足实时监控等要求。本文首先介绍在Linux系统下USB摄像头驱动编制的一般方法,然后说明在此基础上如何提高帧速。
USB 设备驱动程序完全符合通用设备驱动的准则,不同的是内核提供了一些特别的 API 函数,方便驱动注册、销毁自己,例如 usb_reSister() usb_dereSister() 2 4 版的内核还提供了对于 hotplug 的支持。
 
1 1 USB 摄像头驱动的一般编写方法
摄像头属于视频类设备。在目前的 Linux 核心中,视频部分的标准是 Video for Linux( 简称 V4L) 。这个标准其实定义了一套接口,内核、驱动、应用程序以这个接口为标准进行交流。目前的 V4L 涵盖了视、音频流捕捉及处理等内容, USB 摄像头也属于它支持的范畴。
因此, USB 摄像头的驱动应当与内核提供的视频驱动挂钩。即首先在驱动中声明一个 video_device 结构,并为其指定文件操作函数指针数组. fops ,向系统注册。在应用程序发出文件操作的相关命令时,核心根据这些指针调用相应函数,并将该结构作为参数传递给它们。这样,就完成了驱动和核心之间的通信。例如:

static struct video_device vdev_template {……}
/ /声明 video_device ,指出挂接驱动
  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值