• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# USB服务开发概述
2
3<!--Kit: Basic Services Kit-->
4<!--Subsystem: USB-->
5<!--Owner: @hwymlgitcode-->
6<!--Designer: @w00373942-->
7<!--Tester: @dong-dongzhen-->
8<!--Adviser: @w_Machine_cc-->
9
10## 基本概念
11
12USB服务是应用访问底层的一种设备抽象概念,分为主机(Host)、设备(Device)。
13在Host模式下,开发者根据提供的USB API,可以获取设备列表、控制设备访问权限以及与连接的设备进行数据传输、控制命令传输等。其中数据传输分为同步和异步两种传输模式,支持中断传输、实时传输、批量传输等传输类型。在进行数据传输之前,需要先进行获取设备列表、通过设备访问权限校验、打开或连接设备、声明占用设备接口等操作。
14
15
16## 运作机制
17
18USB服务系统包含USB API、USB Service、USB HAL。
19
20**图1** USB服务运作机制
21
22![zh-cn_image_0000001237821727](../figures/zh-cn_image_0000001237821727.png)
23
24- USB API:提供USB的基础API,主要包含查询USB设备列表、批量数据传输、控制命令传输、权限控制等。
25
26- USB Service:主要实现HAL层数据的接收、解析、分发以及对设备的管理等。
27
28- USB HAL层:提供给用户态可直接调用的驱动能力接口。
29