仿照USBCCGP.SYS对USB配置描述符按功能拆分
2021-10-29
240
0
USB大的规范中两个最麻烦的描述符一个是配置描述符,另一个是HID的报告描述符。一个因与其它描述符相互组合而复杂,一个因其自身的多样性而复杂。但你要问要问USB设备中那个描述符最烦人,答案肯定是配置描述符了。这是因为USB配置描述符不仅包含自己本身,也包含了其它描述符,如常用的接口描述符、端点描述符,如果还包含HID设备、UVC视频设备和UAC音频设备,那就麻烦到天了。
HID的报告描述符的分析本人已经通过自研的HID报告描述符分析工具HIDReportParser.exe已经解决,工具也已经免费发布。
我们常见的USB设备一般都是复合设备,如一个UVC摄像头,会复合一个UAC麦克风或一个UVC设备复合一个HID设备等。一般的功能设备数量都控制在2-3个。但今本人手中有一台设备,复合了4个设备,其设备布局如下:
- 接口0-1为UVC摄像头设备
- 接口2为HID设备
- 接口3-4为UAC设备
- 接口5为HID设备
自己以前在编写自己的USB驱动时,借用了一部分USBCCGP.SYS的代码,可无奈没想到栽在了这个设备了。原来去年写的代码如此多之BUG,本人心痛不已,故花了昨天一下午的时间将期调试通。
现将调试完成的代码执行效果展示如下图:
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936