- 博客(11)
- 收藏
- 关注
原创 vidioc_reqbufs
leesagacious原创,欢迎转载 先看一个结构体 struct v4l2_requestbuffers 先看第一个成员:count 它表示请求分配或者得到的buffer的数量。 在用户空间构造此结构体时,count的值必需大于1的整数,如果操作了32,那么系统最多会分配32个,一下是源码证明: 用户空间发送命令VIDIOC_REQBUFS命令的ioctl,会调用内核的下面这个方法
2015-09-23 17:02:01 1931
原创 v4l2中ioctl的调用流程
leesagacious 原创,欢迎转载 vivi入口函数: vivi_init( )vivi_init(void) static int __init vivi_init(void) { ..... for(i = 0;i < n_devs;i++){ //这里的n_devs的值是 1 //调用了这个函数,来创建设备
2015-09-21 16:04:21 4611
原创 usbmouse分析
Leesagacious 原创,欢迎转载,未完待续/** 入口函数,注册了一个usb_driver*/static int __init usb_mouse_init(void){ /**所有驱动的注册,都要经过driver_register()这个函数, 同样会遍历挂在usb总线上的所有驱动,查看有没有同名的驱动, 然后将该驱动挂到总线上(bus_type_
2015-09-20 19:49:45 993
原创 混杂设备与信号量
Leesagacious原创,欢迎转载 #include <linux/moduel.h> #include <linux/kernel.h> #include <linux/init.h> #include <linux/fs.h> #include <linux/miscdevice.h> #include <linux/atomic
2015-09-20 10:50:46 1405
原创 usb子系统浅析--urb
urb传输过程/** 这个函数做了一下事情: 1 : 分配了内存空间,并清空 2 : 引用计数被置1,有一个不明白的地方是 : 这里的urb->anchor_list链表是干什么用的? 他在何时被添加节点,又是何时被移除节
2015-09-09 16:19:12 1597
原创 vivi.c中的调用流程
LeeSagacious 原创,欢迎转载。谢谢———-` .在vivi_init( )的时候, *vfd = vivi_tempate 并依据次设备号为下标放入到了video_device[ ]中 ,在open—>v4l2_open、read—>v4l2_read 函数调用的时候,从video_device[ ]中依据次设备号取出来vivi_tempate,调用的是vivi_tempate->
2015-09-06 15:02:29 1569 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人