设备驱动
文章平均质量分 65
Klausroot
追求进步中的菜鸟
展开
-
USB枚举过程
1. 枚举是什么? 枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了。 USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告转载 2015-07-10 15:39:38 · 299 阅读 · 0 评论 -
USB协议架构及驱动架构
1. USB协议1.1 USB主机系统 在USB主机系统中,通过根集线器与外部USB从机设备相连的处理芯片,称为USB主机控制器。USB主机控制器包含硬件、软件和固件一部分。1.2 USB设备系统 USB设备按功能分为两部分:集线器(Hub)和功能部件。从下图可知,主机通过根集线器连接到各种外围设备(集线器和功能部件)。1.转载 2015-07-06 15:19:14 · 282 阅读 · 0 评论 -
USB驱动开发之mass storage的枚举识别过程
Mass Storage设备,即大容量存储设备,最典型的莫过于U盘了,而U盘一般以Bulk Only传输方式实现。1、USB Mass Storage设备的描述符及枚举过程描述符就是对应标准请求的那些描述符,与HID设备不同,Mass Storage设备没有自己的类描述符。描述符在USB Mass Storage Class Bulk-Only Transport文档中有详细的一对一的转载 2015-07-28 19:31:43 · 1083 阅读 · 0 评论 -
DeviceIoControl获取max transfer长度
最近在调试一个PC操作USB Massstorage设备的工具,通过DeviceIoControl()函数读取约1-2M的数据,但是传入数据长度以后函数返回错误,原因是长度超过了规定的transfer len。从网上找了半天,在国外论坛发现一个类似的问题解决,即:用IOCTL_STORAGE_QUERY_PROPERTY 命令得到一个Max transfer length,然后根据实际情况解决原创 2016-03-24 19:18:45 · 915 阅读 · 0 评论