30-Gadget框架03:设备控制器驱动详解

专栏总目录

文章目录

    • 概述
    • 一、UDC架构
      • 1.1 层次关系
      • 1.2 UDC驱动组成
    • 二、UDC核心结构体
      • 2.1 udc结构体
      • 2.2 字段说明
    • 三、UDC驱动初始化
      • 3.1 Probe流程
      • 3.2 核心代码
    • 四、端点操作集
      • 4.1 usb_ep_ops定义
      • 4.2 enable/disable
    • 五、UDC控制操作集
      • 5.1 usb_gadget_ops定义
      • 5.2 pullup操作
      • 5.3 udc_start/stop
    • 六、中断处理
      • 6.1 中断流程
      • 6.2 中断处理代码
    • 七、常见问题
      • Q1: UDC和HCD有什么区别?
      • Q2: 如何调试UDC驱动?
    • 八、知识总结

概述

UDC(USB Device Controller)是所有USB设备控制器的抽象层,规定了具体控制器需要实现的功能。UDC驱动负责将USB设备依附于USB主机控制器上,是Gadget框架的硬件抽象层。


一、UDC架构

1.1 层次关系