(一)USB驱动程序_USB基础知识

深入,并且广泛
				-沉默犀牛

USB设备驱动分类

USB驱动程序可以粗分为两类:
一、主机(Host)系统上的驱动程序 ,这个驱动程序控制插入其中的USB设备
二、设备(Device)上的驱动程序,这个驱动程序控制USB设备如何与主机通信

为了举一个形象的例子,我得先展示一张图片,更细致的介绍一下以上的两种分类:

Host Device
USB设备驱动(Mass storage/CDC/HID) Gadget Function 驱动(serial…)
USB核心 Gadet Funtion API
USB Host Controller 驱动(OHCI/EHCI/UHCI) UDC驱动(omap/pxa2xx…)
USB Host Controller UDC

在这个图中,主机侧与设备侧又分别分为了两个驱动:
Host:USB设备驱动、USB Host Controller 驱动
Device:Gadget Function 驱动、UDC驱动

USB设备驱动和USB Host Controller驱动之间的USB core负责了USB驱动管理和协议处理的主要工作。
1.它通过定义一些数据结构体、宏和功能函数,向上为设备驱动提供编程接口,向下为USB Host Controller驱 动提供编程接口;
2.维护整个系统的USB设备信息;
3.完成设备热拔插控制、总线数据传输控制等

Gadet Function API现在是UDC驱动程序回调函数的包装

举一个生活中的例子:当用Android系统的手机 通过USB线 连接Linux系统的PC

Host(PC)的动作:

1.如果你插入了USB2.0的设备,则Host的USB Host Controller 驱动要使能EHCI,如果是USB1.1的设备,就要使能OHCI
/UHCI,不过一般做法是全都使能。在这里我们手机插入后,Host Controller 驱动会启用EHCI

2.这个USB设备驱动,会根据插入的设备不同,而选择不同的驱动。默认已经有的驱动有存储设备、键盘、鼠标、游戏
杆、网络设备和调制解调器。如果是其他的设备࿰

  • 5
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值