OpenHarmony开发之——USB驱动

2024-09-02 15:20:25 浏览数 (3)

简介

该仓下主要包含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接口

使用说明

该仓核心功能包括两个方面:

  1. USB Host侧,包括DDK API和RAW API两套接口,提供用户态第三方功能驱动的USB设备数据读写接口。
  2. USB Device接口可以定制不同Usb设备,如串口、网卡、键盘、自定义设备等。

0 人点赞