windows xp 驱动开发(十八) USB驱动程序开发用到的工具总结

来源:互联网 发布:图表数据区域 编辑:程序博客网 时间:2024/05/21 09:45

转载请标明是引用于 http://blog.csdn.net/chenyujing1234

欢迎拍砖!

 

观察USB设备的工具.

通过这些工具可以方便学习USB协议

一、   usbview

请参考我的另一篇博客: http://blog.csdn.net/chenyujing1234/article/details/7577320

二、  BusHound(网络上下载)

BusHound软件是由美国perisoft公司研制的一种专用于PC机各种总线数据包监视和控制的开发工具软件,
其名“hound”的中文意思为“猎犬”,即指其能敏锐地感知到总线的丝毫变化。

用于监视USB设备的传输数据,它的实现原理是在USB设备驱动层上加载一层过滤驱动程序,将IRP进行拦截

因此可以观察到所有USB数据的传输。在上面会列出设备的基本信息,如管道0是控制管道,管道1是输出管道。

该软件将USB传输进行监视,包括每个USB的各个管道中的传输情况都一一进行记录,非常有利于调试驱动。

使用方法:

(1)设置

Buffer Size(缓冲区大小):指示用于捕获数据缓冲区的RAM大小,以K为单位,设置上限仅受系统内存限制,如果出现内存不够,缓冲区尺寸将缩减到可用RAM的大小。如果想获得更多的空间用来缓存数据,除了增加系统内存外,也可以在其它程序运行之前设置较大的缓冲区尺寸。
注意:申请1个比较大的缓冲区在Windows9X 和Windows Me可能会花费一小段时间。

Max Phase(最大阶段):指定每阶段捕获数据的最大数量,例如:当设定值为32时,发生了一个64K的读操作,仅仅前32个读取到的字节被捕获到,这个选项对于保持一个捕获数据量的最小值是非常有用的。

Stop When...(停止条件):

Phases to Capture(选择阶段):这个选项包括了Bus Hound所有能捕获的阶段列表,复选对应的选项表示进行捕获操作,清除复选框时表示不进行捕获,这个选项对于用于过滤不感兴趣(无用数据)阶段或者启动系统默认关闭了阶段尤为有用。
选项框右边,1个白色的圆将出现,这将指示用于捕获操作的阶段,如果圆出现绿色闪亮,指示此阶段正在发生并被捕获到。

在我的设置中由于只是捕获USB相关的包,所以只选择三项:CTL(USB control transfer)、DI(Data in)、DO(Data out)、URB(USB  request Block)

(2)选择设备

(3)查看捕获信息

设备列:设备ID,每个设备分配了一个数字,第1个设备从0开始,第2个设备为1,依此类推,这项功能对于软件同时捕获多个并行设备非常有用,设备的ID分配在Device窗口中完成。对于USB设备,设备的端点同时显示出来(例如4.1表示ID为4的设备的1号端点)

阶段列:阶段类型,请参考下表为每个阶段缩写获知详细的细节信息

数据列:与每个阶段对应的数据显示在此列中,例如命令字节,数据传输字节,和状态字节都能在此窗口中显示出来。

描述列:与每个阶段对应的文本说明给你带来极大的便利;

时间微分值Delta(dt):从前一阶段到当前阶段所花费的时间均显示在此列中,时间单位的缩写对照表;

命令.相位:CMD是命令数,命令计数从1开始,当有新命令发送到设备时进行加1操作
Phase是命令中的阶段数,1个命令通常由许多阶段组成,例如数据传输阶段和状态反馈阶段,阶段计数值从1开始,在命令中当有新的阶段产生时进行加1操作
Ofs每个阶段中字节的偏移量,计数值从0开始,数据传输过程中的每个新的数据字节时进行加1操作。
Rep指示命令重复发布数,重复计数特性能在系统设定窗口中进行开启和关闭设定

三、  WinObj观察驱动对象和设备对象

可以方便观察到驱动对象和设备对象

 

四、EzDriverInstaller工具

EzDriverInstaller工具。它是DriverStudio 自带的一个工具软件,用于快速安装WDM程序

五、DriverMonitor

用它可以方便地加载驱动文件.sys

原创粉丝点击