您的位置 首页 解答

usb总线驱动大略进程(OHCI协议)

usb总线驱动分类:UHCI:intel公司制作适用于低速全速设备OHCI:microsoft适用于低速全速设备EHCI:高速设备(48M)2410里面的usb

usb总线驱动分类:

UHCI: intel公司制造 适用于低速/全速设备
OHCI:microsoft 适用于低速/全速设备
EHCI: 高速设备(48M)
2410里面的usb总线驱动用的是OHCI_s3c2410
usb总线驱动效果:

1.辨认设备

2.找到并装置对应的设备驱动
3.供给usb读写函数
作业流程:
1.辨认usb设备(D+被拉高为1.1,D-被拉高为低速设备)
2.分配地址,并告知usb设备
3.宣布指令获取描述符
4.查找并装置对应的设备驱动程序。
函数进程如下(可参阅《linux源代码情形剖析一书》):
hub_irq
kick_khubd
hub_port_connect_change{
choose_address(udev)//分配地址,即编号
udev=usb_alloc_dev(hdev,hdev->bus,portl);
dev->dev.bus=&usb_bus_type;
}
hub_port_init{
hub_set_address//把地址告知usb设
usb_get_device_descriptor//获取描
usb_parse_confriguation//获取一切描 述符读出来而且解析
device_add//1.把设备放入(总线) usb_bus_type的链表 ,从bus的driver链表里取出driver 2.把usb_interface and usb_driver s id_able 比较
3. 假如可以匹配,调用driver的probe函数。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/233382.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部