
usb
文章平均质量分 82
emtribe
这个作者很懒,什么都没留下…
展开
-
USB学习笔记(3)—— 小结
看到笔记2,还是2010年的了,时间飞逝啊,抽空把圈圈的书分章节,对照着CDC,HID,仅批量传输之类的协议,看完了,收获不少。说到USB开发,圈圈的书其实讲的不是很透彻,在开始具体实例之前,应该有个总的概括性的讲述,可惜没有,自己总结,如下: USB设备的开发,我将其分为三类。 第一类是USB的标准类设备,比如,HID类(Human Interface Devic转载 2013-12-11 00:01:41 · 1041 阅读 · 0 评论 -
圈圈USB学习笔记5--关于HID协议
HID协议规定了两种条目:短条目和长条目(这儿没有用到长条目,不管它).其中短条目的结构如下图所示:要判断一个短条目具体是哪种类型,先查看bType确定出主条目、全局条目、局部条目的一种,然后再跟据bTag确定具体的类型。1. 关于第三章USB鼠标的ReportDescriptor,从条目前缀结构中可以发现,这一节的条目类型只有这三种(0xC0,唉,对不起你啊): 0x1 --转载 2013-12-11 00:05:38 · 2095 阅读 · 0 评论 -
linux usb 驱动详解 二
USB 设备驱动代码通过urb和所有的 USB 设备通讯。urb用 struct urb 结构描述(include/linux/usb.h )。urb 以一种异步的方式同一个特定USB设备的特定端点发送或接受数据。一个 USB 设备驱动可根据驱动的需要,分配多个 urb 给一个端点或重用单个 urb 给多个不同的端点。设备中的每个端点都处理一个 urb 队列, 所以多个 urb 可在队列清空之转载 2013-12-11 00:20:19 · 856 阅读 · 0 评论 -
linux usb 驱动详解 一
内核使用2.6.29.4 拓扑结构上, 一个 USB 子系统并不是以总线的方式来分布; 它是一棵由几个点对点连接构成的树。这些连接是连接设备和集线器的4线电缆(地, 电源, 和 2 个差分信号线), 如同以太网的双绞线。USB主控制器负责询问每个USB设备是否有数据需要发送。由于这个拓扑结构,一个 USB 设备在没有主控制器要求的情况下不能发送数据. 也就是说:USB是单主方转载 2013-12-11 00:18:20 · 797 阅读 · 0 评论 -
linux usb 驱动详解 三
本部分的一些示例源码来自drivers/usb/usb-skeleton.c,它是Linux内核为我们提供的最基础的USB驱动程序,USB骨架程序)驱动程序把驱动对象注册到 USB 子系统中,之后使用供应商(idVendor)和设备(idProduct)标识来判断对应的硬件是否已经安装.驱动的设备支持列表struct usb_device_id 结构提供了这个驱动支持的不同转载 2013-12-11 00:22:26 · 745 阅读 · 0 评论 -
LINUX内核USB子系统学习笔记之初识USB (带枚举usb数据包)
这个是USB系统的拓扑图,4个部分构成:USB主机控制器,根集线器,集线器,设备。其中Root Hub与USB主机控制器是绑定在一起的。再了解一下USB驱动框架:USB通信都是由host端发起的。USB设备驱动程序分配并初始化一个URB发给USB Core,USB Core改一改,发给USB主机控制器驱动,USB主机控制器驱动把它解析成包,在总线上进行传送。USB Core是由转载 2013-12-11 00:25:13 · 1181 阅读 · 0 评论