全部博文(207)
分类: LINUX
2014-04-11 13:40:56
本篇 基于固件代码的开发及移植过程中可能引起的 USB 枚举失败的原因进行分 析。
数据采集设备:“ HD-USB 12 ” 全 速 / 低速 USB2.0 协议分析仪
一、 如图 1 所示的 USB 枚举失败
1 ) Index[666 - 668] :表示主机向默认地址 发送 GET_DESCRIPTOR 指令包。
2 ) Index[670 - 671] :表示设备默认地址端 点不可用。
3 )由上我们可以推断出 固件代码对 GET_DESCRIPTOR 指令包无响应。
(图 1 )(本数据由 HD-USB12 USB 协议分析仪采集)
二、 如图 2 所示的 USB 枚举失败
1 ) Index[697 - 699] :表示主机向默认地址 发送 SET_ADDRESS 指令包。
2 ) Index[701 - 703] :表示设备完成 SET_ADDRESS 指令后,给主机发送一个 空应答。
3 ) Index[705 - 710] :表示主机向地址 DEC=01 重复发送 SET_DESCRIPTOR 指令包,但设备无任何应 答,因此该事务包设备并没有接收到。
4 )由上我们可以推断出固件中设置地址的代码执行失败。