阅读:1911回复:5
请熟悉D12枚举过程的朋友帮忙,万分感谢
我开发的项目只剩下了D12的USB部分了,可这部分偏偏把我难住了,请各位大虾指教下小弟,先谢谢了。
我的症状是, 1、加电初始化softconnect之后,收到Get Device Descriptor,返回18字节的descriptor 2、主机发出bus reset 3、主机发送set address,我返回0字节的确认信息 4、主机发送Get Device Descriptor,返回18字节的descriptor 5、主机发送Get Config Descriptor,返回9字节的Descriptor 6、主机送Get Usb String Descriptor(0),返回4字节StringLANDUD 7、主机送Get Usb String Descriptor(3),返回22字节szSerialNumber 8、主机送Get Config Descriptor(??再发一次),返回9字节。 此后稍暂停,然后重复上述过程三次,最后主机发送休眠,不再发数据,主机找到未知USB设备。 我是错在哪里呢?哪位能发给我一份单片机端的调试输出信息对照下(zboard的或者D12 smart的都行),谢谢了。 期待各位的回复,renyy@21cn.com |
|
|
沙发#
发布于:2003-08-14 09:07
列出我的调试信息供参考
Usb Isr Code:1 ep0_rxdone ,Transaction status is21,EndPoint status is 34 Last Recieve Request: endp:0x00, len:0x08 Data: 80 06 00 01 00 00 40 00 Last Device Request: bmRequestType = 0x80, bRequest= 0x6, wValue = 0x100, wLengt h = 0x40, wIndex = 0x0. Enter Control_hander Proc req:6 type:0 Entering get_descriptor, Descriptor CODE is:1 code_transmit Len:18 Last Transform Request: endp = 0x01, len:0x10 Data: 12 01 00 01 dc 00 00 10 71 0 4 66 06 00 01 01 02 Usb Isr Code:2 ep0_txdone . Transaction status is0,EndPoint status is 0 Last Transform Request: endp = 0x01, len:0x 2 Data: 03 01 Usb Isr Code:41 ep0_rxdone ,Transaction status is21,EndPoint status is 34 Last Recieve Request: endp:0x00, len:0x08 Data: 00 05 03 00 00 00 00 00 Last Device Request: bmRequestType = 0x0, bRequest= 0x5, wValue = 0x3, wLength = 0x0, wIndex = 0x0. Enter Control_hander Proc req:5 type:0 Entering set_address Set Address is :3 Last Transform Request: endp = 0x01, len:0x 0 Data: Usb Isr Code:2 ep0_txdone . Transaction status is41,EndPoint status is 1c Usb Isr Code:1 ep0_rxdone ,Transaction status is21,EndPoint status is 34 Last Recieve Request: endp:0x00, len:0x08 Data: 80 06 00 01 00 00 12 00 Last Device Request: bmRequestType = 0x80, bRequest= 0x6, wValue = 0x100, wLengt h = 0x12, wIndex = 0x0. Enter Control_hander Proc req:6 type:0 Entering get_descriptor, Descriptor CODE is:1 code_transmit Len:18 Last Transform Request: endp = 0x01, len:0x10 Data: 12 01 00 01 dc 00 00 10 71 0 4 66 06 00 01 01 02 Usb Isr Code:2 ep0_txdone . Transaction status is41,EndPoint status is 8 Last Transform Request: endp = 0x01, len:0x 2 Data: 03 01 Usb Isr Code:2 ep0_txdone . Transaction status is1,EndPoint status is 1c Usb Isr Code:1 ep0_rxdone ,Transaction status isa1,EndPoint status is 34 Last Recieve Request: endp:0x00, len:0x08 Data: 80 06 00 02 00 00 09 00 Last Device Request: bmRequestType = 0x80, bRequest= 0x6, wValue = 0x200, wLengt h = 0x9, wIndex = 0x0. Enter Control_hander Proc req:6 type:0 Entering get_descriptor, Descriptor CODE is:2 code_transmit Len:9 Last Transform Request: endp = 0x01, len:0x 9 Data: 09 02 2e 00 01 01 00 60 64 Usb Isr Code:2 ep0_txdone . Transaction status is41,EndPoint status is 1c Usb Isr Code:1 ep0_rxdone ,Transaction status isa1,EndPoint status is 34 Last Recieve Request: endp:0x00, len:0x08 Data: 80 06 00 03 00 00 ff 00 Last Device Request: bmRequestType = 0x80, bRequest= 0x6, wValue = 0x300, wLengt h = 0xff, wIndex = 0x0. Enter Control_hander Proc req:6 type:0 Entering get_descriptor, Descriptor CODE is:3 code_transmit Len:4 Last Transform Request: endp = 0x01, len:0x 4 Data: 04 03 09 04 Usb Isr Code:2 ep0_txdone . Transaction status is41,EndPoint status is 1c Usb Isr Code:1 ep0_rxdone ,Transaction status isa1,EndPoint status is 34 Last Recieve Request: endp:0x00, len:0x08 Data: 80 06 03 03 09 04 ff 00 Last Device Request: bmRequestType = 0x80, bRequest= 0x6, wValue = 0x303, wLengt h = 0xff, wIndex = 0x409. Enter Control_hander Proc req:6 type:0 Entering get_descriptor, Descriptor CODE is:3 code_transmit Len:22 Last Transform Request: endp = 0x01, len:0x10 Data: 16 03 30 00 30 00 30 00 30 0 0 2d 00 30 00 30 00 Usb Isr Code:2 ep0_txdone . Transaction status is41,EndPoint status is 8 Last Transform Request: endp = 0x01, len:0x 6 Data: 30 00 30 00 30 00 Usb Isr Code:2 ep0_txdone . Transaction status is1,EndPoint status is 1c Usb Isr Code:1 ep0_rxdone ,Transaction status isa1,EndPoint status is 34 Last Recieve Request: endp:0x00, len:0x08 Data: 80 06 00 02 00 00 ff 00 Last Device Request: bmRequestType = 0x80, bRequest= 0x6, wValue = 0x200, wLengt h = 0xff, wIndex = 0x0. Enter Control_hander Proc req:6 type:0 Entering get_descriptor, Descriptor CODE is:2 code_transmit Len:9 Last Transform Request: endp = 0x01, len:0x 9 Data: 09 02 2e 00 01 01 00 60 64 Usb Isr Code:2 ep0_txdone . Transaction status is41,EndPoint status is 8 Usb Isr Code:1 ep0_rxdone ,Transaction status is41,EndPoint status is 20 |
|
|
板凳#
发布于:2003-08-17 13:01
你用的是什么单片机?
去philips的网站下载一个编写好的固件程序,直接调用你们的函数就可以了。 http://www.semiconductors.philips.com/buses/usb/products/device/pdiusbd12/smart_eval |
|
地板#
发布于:2003-08-18 09:40
我的是44bO来做的,smart那套源程序我已经移植过去了,就是不知道错误出在哪里,所以希望看一看正确的调试信息
|
|
|
地下室#
发布于:2003-08-23 14:12
hardware maybe have problem
please tell me your hardware. r_wind |
|
5楼#
发布于:2003-09-17 10:33
固件中描述符可能有问题。
|
|
|