如下图所示,以windows为例,我们插上一个没有USB设备驱动的USB,就会提示你安装驱动程序
为什么一插上就有会提示信息?...是因为windows自带了USB总线驱动程序,
USB总线驱动程序负责:
识别USB设备,给USB设备找到对应的驱动程序
新接入的USB设备的默认地址(编号)是0,在未分配新编号前,PC主机使用0地址和它通信...,
比如:鼠标的数据是从鼠标传到PC机, 对应的端点称为"中断输入端点"
其中端点0是设备的默认控制端点, 既能输出也能输入,用于USB设备的识别过程
同样linux内核也自带了USB总线驱动程序,框架如下...总线驱动,如何识别USB设备
由于内核自带了USB驱动,所以我们先插入一个USB键盘到开发板上看打印信息
发现以下字段:
如下图,找到第一段话是位于drivers/usb/core/hub.c的第2186...其中usb_bus_type是一个全局变量, 它和我们之前学的platform平台总线相似,属于USB总线, 是Linux中bus的一种.