linux驱动由浅入深系列:usb子系统之三(usb系统中的设备、配置、接口、端点概念及代码解释)

本文深入探讨Linux内核中的USB驱动,详细解析`usb_device`、`config`、`interface`、`altsetting`和`endpoint`等关键结构及其在USB协议中的作用。通过分析代码和抓包结果,阐述USB设备的配置描述符、接口关联描述符以及端点的实现原理。
摘要由CSDN通过智能技术生成
一个usb设备对应一个或多个配置
一个配置包含一个或多个usb接口
一个usb接口可能存在一种或多种设置
一个设置会使用零个或多个usb端点


设备
设备就是一个usb物理设备,一个usb设备可以只包含一个简单功能的device,也可以包含一个由hub连接的多个设备,叫作复合设备。
接口与端点的概念较为清晰
端点
端点是host或device中具有独立控制usb总线能力的最小物理单元,每个端点都具有唯一地址,是usb驱动物理层的操作对象。
每个端点都有一定的属性,其中包括传输方式、总线访问频率、带宽、端点号和数据包的最大容量等。一个USB端点只能在一个方向承载数据,或者从主机到设备(称为输出端点),或者从设备到主机(称为输入端点),因此端点可看作一个单向的管道。端点0通常为控制端点,用于设备初始化参数等。只要设备连接到USB上并且上电端点0就可以被访问。端点1、2等一般用作数据端点,存放主机与设备间往来的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

良非凉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值