您的位置:首页 > 其它

USB总线驱动程序

2015-08-25 15:01 183 查看
USB驱动程序框架:

app:

------------------------------------------------------------------------------------

USB设备驱动程序

内核 -------------------------------------------------------------------------

USB总线驱动程序

------------------------------------------------------------------------------------

USB主机控制器

UHCI OHCI EHCI

硬件 -----------------------------------------------

USB设备

USB总线驱动程序有三种规范:

UHCI: intel 低速(1.5Mbps)/全速(12Mbps)

OHCI: microsoft 低速、全速

EHCI: 高速(480Mbps)

USB总线驱动程序的作用

1.识别USB设备

1.1分配地址,并高速USB设备(set address)

1.2发出命令获取描述符

2.查找并安装对应的设备驱动程序

3.提供USB读写函数

把USB设备接到开发板上,看输出信息:

usb 1-1:new full speed USB device using s3c2410-ohci and address 2 验证了上述说法。

在内核的drivers目录下查找关键字找到这句话:

grep "USB device using" * -nR 后找到 usb/core/hub.c:2657:
"%s %s speed %sUSB device using %s and address %d\n",

依次找到函数的调用关系:

hub_irq

kick_khubd

hub_thread

hub_events

hub_port_connnect_change

choose_address(udev); //给新设备分配编号(地址)

hub_port_init //usb 1-1:new full speed USB device using s3c2410-ohci and address 2

hub_set_address //把编号(地址)告诉USB设备

usb_get_device_descriptor(udev,8); //获取设备描述符
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: