如果某个USB设备正常工作,除了对应的硬件之外,还需要对应的软件支持。
而对于USB设备端来说,内部是需要有对应的设备端的驱动,常常称其为固件Firmware,其实现了对应的设备端的USB所要做的事情,主要是相应一些标准的请求,完成对应的数据读取和写入等。
对应的,主机Host端,也需要对应的驱动,此部分驱动,不论是Linux下,还是Windows下,都已经实现了常见的驱动了,所以一般来说,很少需要驱动开发者再去写相关的驱动。
在设备驱动开发阶段或者USB出现问题,需要调试的时候,往往就需要一些调试工具了。
一般来说,都包含了对应的USB硬件测试工具,加上对应的软件工具,去捕获对应USB总线上的数据,即所谓的USB抓包,然后再去分析抓取出来的数据,是否是期望的,是否符合USB协议的规范定义。
我所见过的一些USB抓包工具有:
Ellisys的USB Explorer 260硬件,加上对应的USB软件Ellisys USB Analysis Software,实现USB数据抓包和分析
Ellisys USB Explorer 260的外观是这样的:
TODO:
Ellisys USB Explorer 260的对应功能特点,可以参考:
http://www.ellisys.com/products/usbex260/features.php#usbex260g
从:
http://www.ellisys.com/support/download.php
可以看到截图:
->
http://www.ellisys.com/products/usbex260/download.php
可以看到各种下载。
另外,当然也有一些USB开发相关的工具,比如:
用于查看USB设备的详细信息
用来做USB兼容性测试的工具,具体工具下载和详细解释可以去USB官网找到。
好像是个纯软件的USB抓包工具,据说不支持USB枚举过程的抓包。具体没用过,只是听说过