7.12.1. 配置指南 7.12.1.1. USB Host 配置 7.12.1.1.1. USB Host Controller 配置 7.12.1.1.2. USB Interface 驱动配置 7.12.1.2. USB Device 配置 7.12.1.2.1. USB Device Controller 配置 7.12.1.2.2. USB Gadget 配置 7.12.1.2.3. USB Interface 配置 7.12.1.3. USB OTG 配置 7.12.1.3.1. OTG 模式配置 7.12.1.3.2. OTG 相关 GPIO 7.12.2. 调试指南 7.12.2.1. USB Host 调试 7.12.2.1.1. 查看 USB 设备 7.12.2.1.2. Sysfs 节点 7.12.2.1.3. USB 总线分析仪 7.12.2.1.4. usbmon 7.12.2.2. USB Device 调试 7.12.2.2.1. 查看 USB 设备 7.12.2.2.2. Sysfs 节点 7.12.2.2.3. 抓包工具 7.12.3. 测试指南 7.12.3.1. 测试方案介绍 7.12.3.2. Device 侧 gadget zero 7.12.3.2.1. Device 创建 7.12.3.2.2. SourceSink Function 7.12.3.2.3. Loopback Function 7.12.3.3. Host 侧 usbtest.ko 7.12.3.3.1. TestCase 7.12.3.3.2. Ioctl 7.12.3.4. Host 侧 testusb 7.12.4. 设计说明 7.12.4.1. USB Host Controller Driver 7.12.4.1.1. 源码说明 7.12.4.1.2. 模块架构 7.12.4.1.3. 关键流程 7.12.4.1.4. 数据结构 7.12.4.1.5. 接口设计 7.12.4.2. USB Device Controller Driver 7.12.4.2.1. 源码说明 7.12.4.2.2. 模块架构 7.12.4.2.3. 关键流程 7.12.4.2.4. 数据结构 7.12.4.2.5. 接口设计 7.12.5. USB Host 子系统代码架构 7.12.5.1. USB Core 7.12.5.1.1. Layer 7.12.5.1.2. URB (USB Request Block) 7.12.5.2. USB Device Layer 7.12.5.2.1. Device (struct usb_device) 7.12.5.2.2. Driver (struct usb_device_driver) 7.12.5.2.3. Bus (usb_bus_type) 7.12.5.3. USB Interface Layer 7.12.5.3.1. Device (struct usb_interface) 7.12.5.3.2. Driver (struct usb_driver) 7.12.5.3.3. USB Hub Driver 7.12.5.3.4. Bus (usb_bus_type) 7.12.5.4. USB Host Controller Layer 7.12.5.4.1. AIC USB Host Controller 7.12.5.4.2. EHCI 内部结构 7.12.5.4.3. EHCI Driver 7.12.6. USB Device 子系统代码架构 7.12.6.1. USB Device Controller Layer 7.12.6.1.1. AIC USB Device Controller 7.12.6.1.2. AIC UDC Driver 7.12.6.2. USB Device Layer 7.12.6.2.1. Gadget Bus 7.12.6.2.2. Gadget Device 7.12.6.2.3. Gadget Driver (Configfs) 7.12.6.2.4. Gadget Driver (Legacy) 7.12.6.3. USB Interface Layer 7.12.6.3.1. Function 注册 7.12.6.3.2. Gadget API 7.12.7. 常见问题 7.12.7.1. 自动切换 Host/Device 7.12.7.1.1. 配置修改 7.12.7.1.2. 手动切换
gadget zero
usbtest.ko
testusb