摘要: 1.urb 结构体USB 请求块(USB request block,urb)是USB 设备驱动中用来描述与USB 设备通信所用的基本载体和核心数据结构,非常类似于网络设备驱动中的sk_buff 结构体。 struct urb { /* 私有的:只能由USB 核心和主机控制器访问的字段 */ str 阅读全文
posted @ 2016-03-10 11:04 __小火车 阅读(5996) 评论(0) 推荐(2) 编辑
摘要: 在Linux 内核中,使用usb_driver 结构体描述一个USB 设备驱动,usb_driver 结构体的定义如代码清单20.11 所示。代码清单20.11 usb_driver 结构体 struct usb_driver { const char *name; /* 驱动名称 */ int ( 阅读全文
posted @ 2016-03-10 10:53 __小火车 阅读(546) 评论(0) 推荐(0) 编辑
摘要: USB 采用树形拓扑结构,主机侧和设备侧的USB 控制器分别称为主机控制器(HostController)和USB 设备控制器(UDC),每条总线上只有一个主机控制器,负责协调主机和设备间的通信,而设备不能主动向主机发送任何消息。如图20.1 所示,在Linux 系统中,USB 驱动可以从两个角度去 阅读全文
posted @ 2016-03-10 10:42 __小火车 阅读(1084) 评论(0) 推荐(0) 编辑