linux(驱动函数)
liuwei423210896
这个作者很懒,什么都没留下…
展开
-
write的奥秘
在Linux下我们在使用设备的时候,都会用到write这个函数,通过这个函数我们可以象使 用文件那样向设备传送数据。可是为什么用户使用write函数就可以把数据写到设备里面 去,这个过程到底是怎么实现的呢? 这个奥秘就在于设备驱动程序的write实现中,这里我结合一些源代码来解释如何使得一 个简简单单的write函数能够完成转载 2015-08-27 21:39:15 · 273 阅读 · 0 评论 -
jz2440的中断处理流程
linux下的中断处理,都是在asm_do_IRQ函数中: desc->handle_irq 上面有irq_desc[irq] = desc 在__irq_set_handler中设置了desc->handler_irq irq_desc[irq] {handle_irq = handle_edge_irq; chip = s3原创 2015-09-24 16:10:40 · 901 阅读 · 0 评论 -
jz2440的字符设备驱动
VFS根据设备类型、设备号来找到fops实现方法:在一个数组里面,以major为索引,找到fops后填充到数组中去。APP: open("/dev/xxx") read,write 属性 : c ,111———————————————————————— C 库————————————————————————原创 2015-09-24 16:07:18 · 621 阅读 · 0 评论 -
USB摄像头驱动3
USB描述符:usb设备有描述符在lsusb.c中的main函数中有。一个设备只有一个设备描述符。设备描述符都是通过设备插上就会储存到响应结构中。摄像头有两个VS和VC接口,会两次调用.probe两次,因为有两个接口。打印结构:myuvc_probe: cnt = 0 Device Descriptor:bLength 18.原创 2015-09-24 21:42:43 · 414 阅读 · 0 评论 -
USB摄像头驱动2
uvc_driver.c usb_register(&uvc_driver.driver) uvc_probe->uvc_register_chains ->uvc_register_terms->uvc_register_video ->vdev = video_device_alloc()->vdev->v4l2_dev = &dev->vdev;原创 2015-09-24 21:39:53 · 869 阅读 · 0 评论 -
USB摄像头驱动
1、构造一个usb_driver2、设置probe 2.1、分配video_device:video_device alloc2.2、设置.fops.ioctl_ops(里面需要设置11项)如果要内核提供缓冲区操作函数,还需要构造一个videobuf queue ops2.3、注册 :video_register_device id_table:表原创 2015-09-24 21:39:07 · 665 阅读 · 0 评论 -
linux驱动结构
kobject ->kobject *parent ->kset ->struct list_head //指向了所包含的kobject的链表头 ->struct kobject kobj ->kobj_type ->void (*release) (struct kobject *k原创 2015-09-24 21:53:06 · 393 阅读 · 0 评论 -
USB鼠标驱动框架结构
usb总线驱动程序的框架: usb_bus_type | | usb_new_device usb_register | | usb_interface原创 2015-09-24 21:29:35 · 407 阅读 · 0 评论 -
linux ioctl()函数
我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围。写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。一、 什么是ioctl ioctl是设备驱动程序中对设备的I/O通道进行管理的函数 。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它转载 2015-08-27 21:44:20 · 377 阅读 · 0 评论 -
jz2440下的input输入子系统
********************************************************************static const struct seq_operations input_devices_seq_ops static const struct file_operations input_devices_fileops static cons原创 2015-09-24 16:18:22 · 662 阅读 · 0 评论