uvc gadget 初始化介绍

下面对UVC gadget的初始化流程大致梳理下:

 

测试代码:http://git.ideasonboard.org/uvc-gadget.git 上新的代码比较繁琐,这里以旧版本为基础,测试简单的dummy data 和 mjpeg模式,测试代码链接:https://github.com/zizimumu/uvc_gadget_img.git

 

  1. USB设备枚举,device需要上报支持的格式信息,这里只关注class 相关的描述符信息:

 

input header descriptor: 注意nNemFormat为2,内核默认驱动中只支持yuv422和mjpeg两种格式:

uvc gadget 初始化介绍_第1张图片

 

yuv format type descriptor: 支持的格式: 360p, 720p两种,

uvc gadget 初始化介绍_第2张图片

2. 初始化完成后,打开设备,host与device协商具体的格式,一个完整的协商流程如下:

uvc gadget 初始化介绍_第3张图片

具体代码中的过程:

uvc gadget 初始化介绍_第4张图片

你可能感兴趣的:(uvc gadget 初始化介绍)