|
|
|
| 嵌入式中,usb设备插入hub后过程是怎样呢? |
|
新闻出处:21ic 发布时间:2007-10-15
|
luocolor 发布于 2007-10-15 13:27:00 如题。 看了些资料,不甚明了。
在设备插入后,设备上电。是设备通过一个中断来让host知道它还是通过其他方法呢?
computer00 发布于 2007-10-15 13:31:00 设备插入.
computer00 发布于 2007-10-15 14:35:00 你的驱动程序可以等待中断或者查询寄存器的值.
平常人 发布于 2007-10-15 20:47:00 在Host端的HUB驱动收到这个报告后再把这个事件(设备插入)报告给加载驱动程序的驱动,后者在可用的驱动中找出对应该设备的驱动程序并加载,加载完成后启动并运行它;如果找不到对应该设备的驱动程序,它就会提示使用者给出设备驱动程序的路径,再实现加载。
luocolor 发布于 2007-10-15 21:28:00 “设备插入HUB并经HUB检测出来后,HUB向Host报告”
hub向host报告的过程不需要我们关注,一般是硬件完成的。在这之后,host会产生一个中断。是这样的么?
不然总感觉和computer00说的不一样。
平常人 发布于 2007-10-15 21:42:00 如果是说OS中的中断,这不用你考虑,这是由“加载驱动程序的驱动”处理的。
如果说是USB的中断传输,那就错了。Host接到HUB的报告后,会发一个命令让HUB把这个插入设备的端口激活,再发命令Get_Descriptor(Device)以取得设备的VID和PID作为寻找该设备驱动程序的依据。所有这些操作由“加载驱动程序的驱动”完成,所有的命令也是在控制端口传送,与中断传输无关。
但HUB却是用中断传输向HOST报告有新设备插入的。
luocolor 发布于 2007-10-15 22:48:00 多谢两位啊!
我也看了uclinux下usb core的源程序,主要关注的是usb.c,ohci.c和hub.c,从整个程序的结构框架来看。和平常人描述的过程很相似,不过还需要再仔细看下。 另外,除前面的3的文件外,还有哪些文件需要关注呢?
|
| 【关闭】【打印】 |
|
|