没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Linux 环境下 USB 的原理、驱动和配置
随着生活水平的提高,人们对 USB 设备的使用也越来越多,鉴于 Linux 在硬件配置上
尚不能全部即插即用,因此关于 Linux 如何配置和使用,成为困扰我们的一大问题。
一、什么是 USB
USB 是英文 Universal Serial Bus 的缩写,意为通用串行总线。USB 最初是为了替代许
多不同的低速总线(包括并行、串行和键盘连接)而设计的,它以单一类型的总线连接各
种不同的类型的设备。USB 的发展已经超越了这些低速的连接方式,它现在可以支持几乎
所有可以连接到 PC 上的设备。最新的 USB 规范修订了理论上高达 480Mbps 的高速连接。
Linux 内核支持两种主要类型的 USB 驱动程序:宿主系统上的驱动程序和设备上的驱动程
序,从宿主的观点来看(一个普通的宿主也就是一个 PC 机),宿主系统的 USB 设备驱动
程序控制插入其中的 USB 设备,而 USB 设备的驱动程序控制该设备如何作为一个 USB 设
备和主机通信。
二、USB 的具体构成
在动手写 USB 驱动程序这前,让我们先看看写的 USB 驱动程序在内核中的结构,如
下图所示:
USB 驱动程序存在于不同的内核子系统和 USB 硬件控制器之间,USB 核心为 USB 驱
动程序提供了一个用于访问和控制 USB 硬件的接口,而不必考虑系统当前存在的各种不同
类型的 USB 硬件控制器。USB 是一个非常复杂的设备,Linux 内核为我们提供了一个称为
USB 核 心的子系 统来 处理 大部 分的 复杂 性, USB 设备 包括 配置 (configuration) 、接口
(interface)和端点(endpoint),USB 设备绑定到接口上,而不是整个 USB 设备。如下图所
示:
VFS 层 块设备层 网络设备层 字符设备层 TTY 层 其它…
USB 设备驱动程序
USB 核心
USB 主控制器
硬件
用户
内核
资源评论
huybin_wang
- 粉丝: 21
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功