36-Gadget框架09:子协议与接口实现

📅 2026/7/27 1:25:17 👁️ 阅读次数 📝 编程学习
36-Gadget框架09:子协议与接口实现

专栏总目录

文章目录

    • 概述
    • 一、Gadget驱动框架层次
      • 1.1 三层架构
      • 1.2 标准功能接口
    • 二、android_usb_function数据结构
      • 2.1 功能定义
      • 2.2 成员说明
    • 三、功能驱动回调
      • 3.1 init回调
      • 3.2 bind_config回调(必须实现)
      • 3.3 usb_add_function
    • 四、Function驱动注册
      • 4.1 注册示例
      • 4.2 Function回调说明
    • 五、回调调用上下文
      • 5.1 init调用链
      • 5.2 bind_config调用链
    • 六、数据交互流程
      • 6.1 控制流交互
      • 6.2 交互说明
    • 七、常见问题
      • Q1: 功能驱动必须实现哪些回调?
      • Q2: 如何添加新的功能驱动?
    • 八、知识总结

概述

Gadget功能驱动层位于USB Gadget驱动框架的最顶层,着重于功能相关的子协议实现。USB协议中的接口(Interface)在该层体现,Linux系统实现了多种标准功能接口驱动,如CDC、ADB、HID、MTP、UMS等。


一、Gadget驱动框架层次

1.1 三层架构