USB总线驱动程序

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); //获取设备描述符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值