Usb设备驱动1:root hub 设备驱动安装

Usb设备驱动1:root hub 设备驱动安装
按照设备模型的总线,设备,驱动模式,一条总线会把所有这条总线上的设备和驱动都挂载到总线的设备链表和驱动链表上,具体到usb总线上,就是usb主控制器,hub等设备,都需要按照设备模型的要求,作为设备挂载到usb总线的设备链表上,同时也需要把usb主控制器,hub的驱动也挂载到驱动链表上,并且使得设备和设备驱动能够相互关联起来,才能使得设备能够使用,完成应有的设备功能。
那么usb hub驱动是如何被挂载的,驱动又是如何跟hub设备关联在一起的?
首先,要有一条usb总线,就必须有一个usb主控制器,一个usb主控制器对应一条usb总线。一个系统有多少个usb主控制器,就有多少条usb总线,我们常见的UHCI,OHCI,ECHI等,就是不同的usb主控制器类型。一般的,这些主控制器都是PCI接口的,通过加载对应的PCI设备驱动,使得系统增加了usb总线,而这些,都是在我们现在的工作之前完成的。
其次,现在的usb主控制器,都集成了一个根集线器,在我们驱动好usb主控制器后,接下来就是使用设备模型的方式,把根集线器(root hub)作为一个设备添加到usb总线的设备队列里,同时,从总线的驱动队列中查找是否有可以支持这个设备的驱动程序,如果查找到,就可以按照设备模型的三角关系,把设备,驱动,总线通过相应的指针关系,把他们都关联起来;如果找不到驱动,则root hub就不能正常的工作,只能在总线的设备队列中等待有驱动安装时,再匹配是否OK;如果一直都没有对应的驱动,则这条总线也就没有办法挂载其他的设备了。
Root hub匹配成功驱动后,就循环运行一个进程,以发现hub的端口有设备插入或拔除。
大致的流程图如下:

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值