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 23 24- USB API:提供USB的基础API,主要包含查询USB设备列表、批量数据传输、控制命令传输、权限控制等。 25 26- USB Service:主要实现HAL层数据的接收、解析、分发以及对设备的管理等。 27 28- USB HAL层:提供给用户态可直接调用的驱动能力接口。 29