linux usb子系统.框架
来源:互联网 发布:无线通信网络 编辑:程序博客网 时间:2024/05/16 01:55
关键词: linux, 驱动,usb
USB驱动组成部分:
- USB的bus驱动。
- usb_core。当USB设备接到USB控制器接口时,usb_core就检测该设备的一些信息,例如生产厂商ID和产品的ID,或者是设备所属的class、subclass跟protocol,以便确定应该调用哪一个驱动处理该设备。
- usb的设备驱动。
USB core完成了大部分的工作,写USB驱动的时候,只能调用USBcore的接口,USB core会将咱们的请求发送给相应的HCD。USB core会进行整个USB系统的初始化,比如申请struct bus_type usb_bus_type,然后会扫描USB总线。一个USB键盘,那么就为它准备一个structdevice赋值,并插入devices链表中来。每一个USB设备的驱动程序都会对应一个struct usb_driver结构,USB core为每一个设备驱动准备了一个函数,让把 driver插入到usb_bus_type中的drivers链表中去。
USB主机控制器负责USB总线通信,处理usb状态,管理状态并报告状态信息。数据串行/解串行。生成frame或microframe。处理数据传输的请求。处理usb总线协议。差错控制和电源管理。提供root hub功能让设备连接。根据协议将数据包分发到usb core。
其中USB Core 和USB HCDriver已经由Linux内核实现,开发USB驱动程序就是利用USB Core的API开发USB Device Driver。
一个USB接口对应一个USB驱动。一个接口可以有多个设置。
内核参考代码Kernel\drivers\usb\core
参考
嵌入式Linux下的USB驱动开发.
LINUX下基于USB子系统的驱动编程 2003中国计算机大会
http://libusb.sourceforge.net/api-1.0/
- linux usb子系统.框架
- Linux USB子系统(1)-设备、驱动、框架
- Linux-USB子系统
- Linux子系统系列-USB
- Linux USB子系统 (1)
- Linux USB子系统 (2)
- Linux-USB子系统
- linux驱动子系统--USB
- Linux USB子系统 (1)
- Linux USB子系统 (2)
- linux usb 子系统
- Linux USB子系统
- Linux usb子系统
- linux USB子系统
- Linux usb子系统(一):子系统架构
- Linux usb子系统(一):子系统架构
- Linux设备驱动子系统 - USB
- linux USB子系统学习笔记
- Android ListVideo之跳转详情无缝播放 实现
- HDU 1875 畅通工程再续
- vs2013-opencv2.4.10-imread()读取图片问题
- <mvc:annotation-driven />注解意义
- C++学习日记17——字符串string输入
- linux usb子系统.框架
- 大数据竞赛中的xgboost
- C++中一种输入字符串的方法
- 树莓派linux安装mysql的总结
- JS操作JSON总结toJSONString()和eval()方法
- C++ 标准库 vector
- 学习Javascript闭包(Closure)
- BZOJ 4596 [Shoi2016]黑暗前的幻想乡
- Batch Normalization 学习笔记