上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 24 下一页

2018年4月10日

29、从零写USB摄像头驱动之通过urb接受数据后上报数据是函数中fid的作用

摘要: 原因分析如下: 视频数据是由一帧一帧数据组成,为了防止数据错乱,会给每一帧数据分配一个frameid,从第0帧开始,接着是第1帧,接着又是第0帧这样交错进行的,对usb摄像头来说每一帧数据来源于多个包,每个包来源于urb里面的iso_frame(一帧数据都存在一个urb的buf中,这个buf分为多个 阅读全文

posted @ 2018-04-10 21:31 拉风摊主 阅读(267) 评论(0) 推荐(0) 编辑

2018年4月8日

28、从零写UVC驱动之实现设置属性

摘要: 1. 先看APP以确定需要实现哪些接口xawtv.c: grabber_scan ng_vid_open//根据链表的设置和读取可以在xawtv中找到是调用v4l2_driver.open v4l2_driver.open // v4l2_open get_device_capabilities(h 阅读全文

posted @ 2018-04-08 22:37 拉风摊主 阅读(1284) 评论(0) 推荐(0) 编辑

2018年4月7日

27、从零写UVC驱动之分析数据传输(设置ubuntu通过串口打印,指定打印到文件,ubuntu切换root用户)

摘要: A. 设置ubuntu让它从串口0输出printk信息a. 设置vmware添加serial port, 使用文件作为串口(在vmware中设置,文件是保存在windows中)b. 启动ubuntu,修改/etc/default/grub(可以参考Ubuntu Serial Console Logi 阅读全文

posted @ 2018-04-07 14:18 拉风摊主 阅读(663) 评论(0) 推荐(0) 编辑

26、从零写UVC驱动之分析描述符

摘要: 指令:lsusb 可以查看usb设备的描述符信息,当然lsusb指令要带一些参数 一个usb设备有多个config配置+设备描述符,一个config有多个接口和association、config描述符(这里的接口包括这个config所有的接口,control和streaming也在里面,contr 阅读全文

posted @ 2018-04-07 00:15 拉风摊主 阅读(1039) 评论(0) 推荐(0) 编辑

2018年4月6日

25、写一个USB摄像头驱动程序(有ioctrl分析)

摘要: uvc_init -> uvc_driver.c 1.构造一个usb_driver2.设置 probe: 2.1. 分配video_device:video_device_alloc 2.2. 设置 .fops .ioctl_ops (里面需要设置11项) 如果要用内核提供的缓冲区操作函数,还需要构 阅读全文

posted @ 2018-04-06 17:04 拉风摊主 阅读(1206) 评论(0) 推荐(0) 编辑

24、vb2_buffer和videobuf_buffer比较分析

摘要: 看韦东山视频第三期摄像头驱动中构造了自己的vivi驱动,但是使用的videoBuf结构体,新的版本用的是vb2_buffer结构,我机器上(ubuntu12.04)使用的内核是linux3.2,看了看改动还是挺大的,自己看代码自己理解了下: 首先是韦东山老师总结的摄像头驱动的架构如下 摄像头驱动程序 阅读全文

posted @ 2018-04-06 13:23 拉风摊主 阅读(1323) 评论(0) 推荐(1) 编辑

23、V4L2应用编写及各个ioctl涉及结构体说明分析

摘要: 常用的结构体在内核目录include/linux/videodev2.h中定义struct v4l2_requestbuffers //申请帧缓冲,对应命令VIDIOC_REQBUFSstruct v4l2_capability //视频设备的功能,对应命令VIDIOC_QUERYCAPstruct 阅读全文

posted @ 2018-04-06 11:24 拉风摊主 阅读(596) 评论(0) 推荐(0) 编辑

2018年4月5日

33、内核驱动程序理解

摘要: 1、理解总线,一般顶层总线是platfrom平台总线,然后在平台总线上套一层另外的总线; 2、我们在写驱动的时候,需要了解内核中相对应的框架,一般都是框架的最后都是相关总线左右两边对比,支持就调用driver的probe函数,其做自己的事情 阅读全文

posted @ 2018-04-05 22:17 拉风摊主 阅读(255) 评论(0) 推荐(0) 编辑

22、在Ubuntu 14.0上使用韦东山IP2977测试总结(未成功)

摘要: 1. 去www.kernel.org下载同版本的内核(与Ubuntu 14.0) 解压后把drivers/media/video/uvc目录取出(发现我的3.13版本的在drivers\media\usb\uvc下) 修改它的Makefile为: KERN_DIR = /usr/src/linux- 阅读全文

posted @ 2018-04-05 19:37 拉风摊主 阅读(427) 评论(0) 推荐(0) 编辑

2018年4月2日

21、根据(应用程序)虚拟驱动vivi的使用过程彻底分析摄像头驱动(有ioctrl分析)

摘要: 1、分析xawtv的源码或者使用strace -o xawtv.log xawtv指令可以看该命令在使用过程中详细系统调用 (说明当UVC摄像头接上Hub的时候,hub已经通过端点0和其通信了,并将所有的描述符复制到内核中,并解析后保存在响应的结构体,在这些ioctl中仅与用户控件交换及设置一些属性 阅读全文

posted @ 2018-04-02 23:45 拉风摊主 阅读(806) 评论(0) 推荐(0) 编辑

上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 24 下一页

导航