Linux驱动--USB

USB是大家常见的,设备总线。

这个USB分为两个部分:主机,设备。

他是一个树形的关系:

            主机
   设备    设备     设备

主机里装的是,主机控制器,设备中装的是设备控制器

Host Controller 和 UDC

从主机侧看 从设备侧看
USB设备驱动 Gadget驱动
USB核心 Gadget API
USB主机控制器驱动 UDC驱动
USB控制器 USB控制器

在主机侧要实现的驱动有两部分,USB设备驱动和USB主机控制器驱动。现阶段我们先关注,下面的。主机控制器驱动。

在设备侧分为3个层次,UDC驱动、Gadget API、Gadget 驱动。其中的USB控制器,与主机侧等同。

 

 

Linux中,USB设备用usb_device结构趋描述,而USB设备描述符定义为usb_device_descriptor结构体.
usb配置在内核中使用usb_host_config结构体, USB配置描述符用usb_config_descriptor结构体,
usb接口:usb_interface结构体描述,usb接口描述符定义为结构体usb_interface_descriptor结构体,
usb端点:端点在内核中用usb_host_endpoint结构体描述,而端点描述符则定义为usb_endpoint_descriptor结构体,
这样我们就可以把一个USB设备抽象成一个由四个基本元素组成的,对象。其中还有一个事字符串结构体,usb_string_descriptor结构体。

你可能感兴趣的:(linux,api,String,interface,Descriptor)