usb host controller & usb core & usb device driver之间的关系
来源:互联网 发布:洛枫网络软件公司 编辑:程序博客网 时间:2024/05/01 03:40
使用USB设备时,两个模块是必须的:
usb核心模块:usbcore
usb主机控制器驱动( host controller driver ),如ehci_hcd、ohci_hcd、uhci_hcd、xhci、musb等等
usbcore:
usbcore负责实现一些核心的功能,为别的设备驱动程序提供服务,提供一个专用于访问和控制usb硬件的接口,而不用去考虑系统当前存在哪种主机控制器。Core、host主机控制器和USB驱动之间的关系如图所示。
Usb core的代码会对整个USB系统初始化,比如申请struct bus_type usb_bus_type,然后会扫描usb总线,看线上连接了哪些USB设备,或者说root hub上连接了哪些usb设备,比如说一个usb键盘,那么就为它准备一个struct device,根据它的情况,为这个struct device赋值,并插入到device链表中来。如果root hub上又连了普通hub,那么还要扫描这个hub上有什么设备,并将这些设备加入到usb_type_type的devices链表。Drivers链表是每一个driver本身去bus上登记的。
主机控制器(host controller-HC):
主机控制器驱动(HCD)必须位于USB软件的最底层,HCD提供主机控制器硬件的抽象,隐藏硬件的细节,在主机控制器之下是物理的usb及所有与之连接的USB设备。而HCD只对usbcore负责。Usbcore将用户的请求映射到相关的HCD,用户不能直接访问HCD。
1 0
- usb host controller & usb core & usb device driver之间的关系
- USB Host和USB Device的区别
- UDC (usb device controller) Framework - USB gadget driver framework
- 关于kernel2.6中USB host controller driver 的问题
- Host USB与USB Device
- USB device和USB host
- USB device & USB controller & USB passthrough
- s3c2440 usb host device controller驱动分析(六)-----usb device 和 usb interface
- usb unknow device 无法识别的USB设备 Enhanced Host Controller 静电
- s3c2440 usb host device controller驱动分析(五)-----generic driver
- s3c2440 usb host device controller驱动分析(七)-----class driver
- Delete usb Device Driver
- Linux Device Driver ---USB
- stm32 usb host&device
- usb host controller
- USB device 和 USB host区别
- DesignWare USB 2.0 OTG Controller (DWC_otg) Device Driver File List
- DesignWare USB 2.0 OTG Controller (DWC_otg) Device Driver File List
- 算法(DP):矩阵链相乘
- [JWFD开源工作流]AI函数必须先于DCS模块完成
- 拦截器
- 解决CSS3动画首次渲染或结束时会闪烁的问题
- Spring中bean的生命周期
- usb host controller & usb core & usb device driver之间的关系
- marker优化
- 【学习】Service与Activity之间通信的几种方式
- 打开UltraEdit,提示 “文件可能不是DOS格式” .
- 在 BAT 做三年,普通程序员能拿多少工资?
- HttpRequest 获取数据
- 自定义 RecyclerView.ItemDecoration
- Reachability实时准确监听网络状态
- Android 中如何计算 App 的启动时间?