
usb driver
qpfang
这个作者很懒,什么都没留下…
展开
-
各种总线match匹配函数
当向linux系统总线添加设备或驱动时,总是会调用各总线对应的match匹配函数来判断驱动和设备是否匹配,这些match函数之间都存在一定的差异,本文先对常用的match匹配函数进行讲解,以后会陆续添加新的内容。 一. 驱动和设备匹配过程常用数据结构1. of_device_idstruct of_device_id{charname[32];char type[32]原创 2012-11-13 15:28:17 · 21123 阅读 · 3 评论 -
usb枚举过程分析之hub_events
当守护程序第一次运行或usb port上状态发生变化,守护进程被唤醒都会运行hub_events函数,这个函数在usb系统中处理核心位置,usb的枚举过程就是由它完成,usb枚举过程流程图如图1所示;图1 usb枚举流程图 由于hub_events函数比较长这里分几个部分进行讲解:static void hub_events(void){ struct原创 2013-01-08 14:23:33 · 19983 阅读 · 3 评论 -
usb枚举过程分析之守护进程及其唤醒
usb热插拔,即usb设备可以实现即插即用,像U盘一样,插到电脑里就可以用,不用时可以直接拔除,这个动作不会影响USB设备使用性能。 在linx 系统中,usb热插拔由两部分方面共同实现,即内核空间和用户空间,内核由一个守护进程实现,用户空间由udev 程序实现。在内核空间里,有一个专门用于监控usb hub的状态的守护进程,守护进程通过等待队列实现,等待队列平时处理休眠状态原创 2013-01-04 16:13:34 · 6729 阅读 · 1 评论 -
ohci之usb_submit_urb 一
usb控制器与usb设备之间是通过urb结构来传递数据,urb是usb通信基础。 驱动在使用urb之前要先通过usb_alloc_urb来创建struct urb结构,并通过usb_fill_xx_urb来初始化创建的urb,然后通过usb_submit_urb把urb提交给主控制器,由控制器进行实际发送,发送完给控制器把urb所有权交还给驱动,并可通过回调函数获取urb发送状原创 2012-12-07 10:55:01 · 6400 阅读 · 0 评论 -
基于s3c6410 otg controller的gadget driver及usb枚举分 析
一.简介 一个完整的USB系统由两部分构成,即usb主机(usb host)和usb设备(usb device)。usb主机通常是指我们的pc机、具有host controller的嵌入式设备;像u盘、usb鼠标、键盘属于usb设备,具有otg controller的usb设备,它即可工作在host模式又可以工作在device模式,模式之间通过HNP协议来进行转换,如我们平时比较常原创 2012-12-29 15:41:13 · 10021 阅读 · 2 评论 -
usb中urb相关接口函数
一. 简介 usb总线是一种轮询式总线,协议规定所有的数据传输都必须由主机发起,usb主机与设备之间是通过管道(pipe)传输的,管道两边分别对应主机中的数据缓冲区和设备侧的端点(endpoint),端点是通信的发送和接收点,要发送数据,只要把数据发到对应的端点就可以,而这个数据发送的动作由usb主机实现,驱动中只需确定接收端点,然后把数据提交给主机控制器,主机会把数据原创 2012-12-05 17:46:02 · 6215 阅读 · 0 评论