阅读:1202回复:2
为什么我的uhci中断不能触发
本人目前在把linux 的uhci的源代码移植到另一个系统下,
一直不能产生中断(在usb_setaddr之后), 下面是我 dump出来的寄存器(uhci寄存器和td寄存器)的值. 本人用的芯片是via的vt6212. set_addr control command包括2个td(transfer descriptor). 哪位大虾给个建议. set address includes two td , td0 and td2 td0 is the first td, td2 is second td ===================before submit control==================== status: 00000000 cmd: 000000c1 intr: 0000000f frame_base: d00e9000 frame_num: 000004d0 sof: 00000040 portsc1: 000004a5 portsc2: 0000058a cfg_status: 00000210 ============================================= test_td[0].link: d00ed210 test_td[0].status: 18800000 // active test_td[0].info: 00e0002d // setUP(2d) test_td[0].buffer: d00ed1b0 ========================================== test_td[2].link: 00000001 test_td[2].status: 19800000 //active test_td[2].info: ffe80069 //IN test_td[2].buffer: 00000000 =====after usb_set_address()=============== status: 00000001 cmd: 000000c1 intr: 0000000f frame_base: d00e9000 frame_num: 000002eb sof: 00000040 portsc1: 00000495 portsc2: 0000058a cfg_status: 00000210 ============================================= test_td[0].link: d00ed210 test_td[0].status: 18000007 test_td[0].info: 00e0002d test_td[0].buffer: d00ed1b0 ========================================== test_td[2].link: 00000001 test_td[2].status: 190007ff // ioc bit setting test_td[2].info: ffe80069 test_td[2].buffer: 00000000 |
|
最新喜欢:![]() |
沙发#
发布于:2008-05-18 08:19
我也有类似问题,正常传输数据时突然超时,查看寄存器发现:
1.status: 00000001(USBINT位没有复位),查看中断次数不再增加; 2.test_td[2].buffer: 00000000(这个寄存器地址为00000000有没有问题)。 哪位大侠帮忙看看,这是什么原因,急,非常感谢!!! |
|
板凳#
发布于:2008-05-18 08:20
我的邮箱burong_chen@yahoo.com.cn,希望大侠不吝赐教,谢谢!
|
|