![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux USB
文章平均质量分 80
wu424602394
这个作者很懒,什么都没留下…
展开
-
使用lsusb命令查看系统中的USB设备
插入usb鼠标后执行lsusb的输出内容如下: ----------------------------------------- Bus 005 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000转载 2013-11-06 10:51:28 · 2499 阅读 · 0 评论 -
usb-skeleton.c
初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了。好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动开发。但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催货。当然,还会顺带提一下其他的驱动程序写法。 事实上,Linux的设备驱动都遵循一个惯例--表征驱动程序(用driver更贴切一转载 2013-11-06 11:19:33 · 842 阅读 · 0 评论 -
USB描述符
USB描述符 USB描述符信息存储在USB设备中,在枚举过程中,USB主机会向USB设备发送GetDescriptor请求,USB设备在收到这个请求之后,会将USB描述符信息返回给USB主机,USB主机分析返回来的数据,判断出该设备是哪一种USB设备,建立相应的数据链接通道。那么USB描述符信息到底是一个什么样的数据呢,USB协议中有详细描述。 通用的USB描述符信息包括设备描述符、配转载 2013-11-06 16:22:03 · 652 阅读 · 0 评论 -
linux usb 驱动详解 一
内核使用2.6.29.4 拓扑结构上, 一个 USB 子系统并不是以总线的方式来分布; 它是一棵由几个点对点连接构成的树。这些连接是连接设备和集线器的4线电缆(地, 电源, 和 2 个差分信号线), 如同以太网的双绞线。USB主控制器负责询问每个USB设备是否有数据需要发送。 由于这个拓扑结构,一个 USB 设备在没有主控制器要求的情况下不能发送数据. 也就是说:USB是转载 2013-11-07 14:30:53 · 834 阅读 · 0 评论 -
linux usb 驱动详解 二
USB 设备驱动代码通过urb和所有的 USB 设备通讯。urb用 struct urb 结构描述(include/linux/usb.h )。 urb 以一种异步的方式同一个特定USB设备的特定端点发送或接受数据。一个 USB 设备驱动可根据驱动的需要,分配多个 urb 给一个端点或重用单个 urb 给多个不同的端点。设备中的每个端点都处理一个 urb 队列, 所以多个 urb 可在队列清空转载 2013-11-07 14:32:25 · 669 阅读 · 0 评论 -
linux usb 驱动详解 三
本部分的一些示例源码来自drivers/usb/usb-skeleton.c,它是Linux内核为我们提供的最基础的USB驱动程序,USB骨架程序) 驱动程序把驱动对象注册到 USB 子系统中,之后使用供应商(idVendor)和设备(idProduct)标识来判断对应的硬件是否已经安装. 驱动的设备支持列表 struct usb_device_id 结构提供了这个驱动支持转载 2013-11-07 14:34:31 · 703 阅读 · 0 评论