UDC(USB设备控制器)
USB设备控制器(UDC)驱动指的是作为其他USB主机控制器外设的USB硬件设备上底层硬件控制器的驱动,该硬件和驱动负责将一个USB设备依附于一个USB主机控制器上。例如,当某运行Linux系统的手机作为PC的U盘时,手机中的底层USB控制器行使USB设备控制器的功能,这时运行在底层的是UDC驱动,手机要成为U盘,在UDC驱动之上需要另外一个驱动,对于USB大容量存储器而言,这个驱动为File Storage驱动,称为Function驱动。
Gadget(小配件)
USB设备枚举的过程(参考抓包数据)为什么叫枚举
1 设备插入主机,主机检测到设备,复位设备(USB_DEV_RESET)
2 主机向设备控制端点发送Get_Descriptor来了解设备默认管道的大小
3 主机指定一个地址,发送Set_Address标准请求设置设备的地址
4 主机使用新的地址,再次发送Get_Descriptor获得各种描述符
4 主机加载一个USB设备驱动
6 USB设备驱动再发送Set_Confuration表示设备请求配置设备