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等。
