LINUX USB驱动开发(2)-USB驱动体系分析

本文详细剖析了LINUX环境下USB驱动的工作原理,包括USB设备接入时如何被识别为“Android phone”,USB设备的主从结构、传输类型和端点概念,以及USB总线设备驱动程序在识别、安装驱动和数据交换中的关键作用。通过实例解释了USB设备的地址分配和通信过程,揭示了USB设备连接和断开时内核的响应机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.日常USB现象:

1.将USB设备接入电脑上,右下角弹出“发现android phone”
2.跳出对话框。提示你安装驱动程序

问题1:既然没有安装驱动,为何能知道设备是“Android phone”

答1:windows里已经有了USB的“总线驱动程序”,接入USB设备后,是“总线驱动程序”知道你是“android phone”,提示按安装“设备驱动程序”
USB总线驱动程序:识别USB设备,给USB设备找到对应的驱动程序

问题2:USB设备种类非常多,为什么已接入电脑,就能识别出来?

答2:PC和USB设备都遵循一些规范。
比如:USB设备接入电脑后,PC会发出“你是什么”?
USB设备就必须回答“我是XXX”,并且回答的格式一样,如语言必须是中文(拟人化)
USB总线驱动程序会发出某些命令想获取设备信息(描述符),
USB设备必须返回“描述符”给PC

问3.PC机上接有非常多的USB设备,怎么分别他们?

USB接口只有4条线:5V,GND,D+,D-
答3.接在USB总线上的每一个USB设备都有自己的编号(地址)
每一个USB设备接入PC时,USB总线驱动程序都会给它分配一个编号
PC机想访问某个USB设备时,发出的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值