读书人

求问 USB 设备驱动 求解!该怎么解决

发布时间: 2013-01-18 10:22:42 作者: rapoo

求问 USB 设备驱动 求解!
我在看USB驱动,有一个问题很是迷茫,而且看代码也觉得没找到答案。
描述:
以 USB鼠标为例子:
static struct usb_driver usb_mouse_driver = {
.name= "usbmouse",
.probe= usb_mouse_probe,
.disconnect= usb_mouse_disconnect,
.id_table= usb_mouse_id_table,
};


但是我一直比较纳闷,我查了代码,也没有见到有哪个地方与这个usb mouse 有匹配的地方,既然没有为什么当插入鼠标的时候,就能知道是对于的是这个驱动呢而不是去调用其他的驱动呢??

看了 enum 也没看出个道来啊。 怎么回事
[解决办法]
你需要看一下usb的设备描述符,各种设备都是通过描述符来进行枚举的!
你百度一下“usb设备描述符”就明白了!
[解决办法]
在硬件接入时,系统会收到硬件的描述符,系统根据描述符中的PID和UID查找到相应的驱动,如果有多个PID和UID都符合的,系统会让你选择。

读书人网 >驱动开发

热点推荐