经过一段时间,现在有点进展了。
在初始化时,将hub的驱动连接到usb_driver_list上,并且程序运行后,打印的信息关于hub的有这些,麻烦大家看下: 2 ports detected (usb-hub.c,usb_hub_configure) it's standalone hub(usb-hub.c,usb_hub_configure) ganged power switching Port indicators are not supported power on to power good time: 2ms hub controller current requirement: 0mA port removable status: RR
local power source is good no over-current condition exists
enabling power on all port 中间省略了些其他的。 但是,我现在还有一个问题搞不明白!关于usb设备的插入。以前问个相似的问题,但还是没明了。希望,现在在已有基础上能够更容易明白。
我在程序中,将usb host interrupt 0指定了一个isr,取名为interrupt_test吧,这里。这个isr我想让他来完成host中断的相关工作。
现在应经确认,我的usb接口的硬件那些是能正常工作的。 但当我将u盘出入那个接口时,没有反应,且u盘的指示灯也没有亮。 按照我的理解(想象),u盘插入后,root hub会处理一些东西,包括给u盘power等。并将中断到来的信号给mcu并让其处理。即使系统中没有u盘的驱动,也会有所提示,比如给power。 在重新阅读了usb规范后,并没有从其中知道usb从插入到正确配置成功的具体应该怎么做的信息。
我认为,我是中间有什么步骤不知道,没做。或者理解错了。所以,插入u盘没有反应。哪位能告诉我下么? 或者可以大概描述下u盘从插入的一系列应该处理的东西。
|