简介
该仓下主要包含USB Host DDK和USB Device DDK接口定义及其实现,提供的主要功能如下:
- USB Host DDK:负责提供用户态第三方功能驱动的USB设备数据读写接口、向内核USB驱动框架注册的设备插拔时间通知接口和移除USB逻辑设备的接口;
图 1 USB仓HOST侧相关模块逻辑视图
- USB Device DDK:负责创建和删除USB设备,接口的事件获取、打开、关闭等,管道同步异步读写通信、设置USB自定义属性等;
图 2 USB仓Device侧相关模块逻辑视图
目录
该仓下源代码目录结构如下所示
代码语言:shell复制/drivers/peripheral/usb
├── ddk # USB模块DDK代码
│ └── device # USB模块Device侧DDK实现
│ └── host # USB模块Host侧DDK实现
├── gadget # USB模块Device侧驱动Demo实现
│ └── function # USB模块Device侧驱动Demo,包括ACM和ECM驱动
├── interfaces # USB模块对用户态提供的驱动能力接口
│ └── ddk # USB模块Device侧和Host侧对外提供的接口定义
├── net # USB模块Host侧ECM驱动Demo实现
├── sample # USB模块应用测试程序实现
│ └── device # USB模块Device侧ACM驱动读写和测速应用程序实现,适配Linux和LiteOS系统
│ └── host # USB模块Host侧ACM驱动读写和测速应用程序实现,适配Linux和LiteOS系统
├── serial # USB模块Host侧ACM驱动Demo实现
├── test # USB模块的测试代码
│ └── unittest # USB模块的单元测试代码,包括Host侧和Device侧
接口说明
USB Host DDK提供给用户态可直接调用的驱动能力接口,按照功能分为三大类:DDK初始化类、对interface对象操作类、对request对象操作类,可以提供DDK初始化、interface绑定和释放,打开和关闭设备操作,request的申请和释放,同步和异步传输等。
提供的部分接口说明如 表1 USB Host DDK接口 所示:
表 1 USB HOST DDK接口
USB Device DDK提供设备管理、IO管理、配置管理,主要功能有:创建和删除设备、获取和打开接口、同步和异步传输等。
提供的部分接口说明如 表2 USB Device DDK接口 所示:
表 2 USB Device DDK接口
使用说明
该仓核心功能包括两个方面:
- USB Host侧,包括DDK API和RAW API两套接口,提供用户态第三方功能驱动的USB设备数据读写接口。
- USB Device接口可以定制不同Usb设备,如串口、网卡、键盘、自定义设备等。