USB Device DDK向开辟者提供了设备端USB驱动开辟本领。比方,USB端口动态注册和去注册本领,开辟者可以基于本领实现USB端口的动态添加和组合;动态实例化本领,支持根据动态下发设备、配置、接口及端点描述符创建立备实例及传输通道;用户态的数据发送及接收本领,支持用户态下发送及接收数据;复合设备本领,支持一个物理设备上多个逻辑设备,实现多个逻辑设备间隔离,并支持不同逻辑设备同时被不同的应用历程访问。 图2 USB Device驱动模型图
USB Host DDK为开辟者提供了普通模式和专家模式,普通模式下,开辟者可通过USB DDK API直接完成相干USB数据读写利用,不需要过多关注底层的传输细节。专家模式下,开辟者通过USB RAW API直接访问OS平台中USB通道的接口,自界说实现更加复杂的功能。USB Device DDk为开辟者提供了管理USB设备、接口界说及USB数据哀求等功能。下文将介绍相干API。
接口说明
USB ACM设备焦点代码路径为drivers\peripheral\usb\gadget\function\acm\cdcacm.c。其使用示比方下所示,起首根据描述符创建立备,然后获取接口,打开接口,获取Pipe信息,接收Event事件,接着进行USB通信(读写等),设备卸载时候,关闭接口,停止Event接收,删除设备。