概述
UVC Gadget驱动程序是USB连接的设备一侧硬件的驱动程序。它旨在运行在具有OTG端口的板上等具有USB设备端硬件的Linux系统上。
在设备系统上,一旦驱动程序被绑定,它会出现为一个具有输出功能的V4L2设备。
在主机侧(通过USB电缆连接后),运行UVC Gadget驱动程序由适当的用户空间程序控制的设备应该会显示为一个符合UVC规范的摄像头,并且可以与任何设计用来处理它们的程序一起正常工作。在设备系统上运行的用户空间程序可以从各种来源排队图像缓冲区,以通过USB连接传输。通常,这意味着将缓冲区从摄像头传感器外设转发出去,但缓冲区的来源完全取决于用户空间程序。
配置设备内核
必须选择Kconfig选项USB_CONFIGFS
、USB_LIBCOMPOSITE
、USB_CONFIGFS_F_UVC
和USB_F_UVC
,以启用对UVC Gadget的支持。
通过configfs配置Gadget
UVC Gadget希望通过使用UVC功能来配置configfs。这允许具有许多UVC设备设置可以通过这种方式进行控制。
属性完整枚举
配置路径 |
日期 |
内核 版本 |
描述 |
/config/usb-gadget/gadget/functions/uvc.name |
2014年12月 |
4.0 |
UVC功能目录 |
/config/usb-gadget/gadget/functions/uvc.name/control |
2014年12月 |
4.0 |
控制描述符 |
/config/usb-gadget/gadget/functions/uvc.name/control/class |
2014年12月 |
4.0 |
类描述符 |
/config/usb-gadget/gadget/functions/uvc.name/control/class/ss |
2014年12月 |
4.0 |
超级速度控制类描述符 |
/config/usb-gadget/gadget/functions/uvc.name/control/class/fs |
2014年12月 |
4.0 |
全速控制类描述符 |
/config/usb-gadget/gadget/functions/uvc.name/control/terminal |
2014年12月 |
4.0 |
终端描述符 |
/config/usb-gadget/gadget/functions/uvc.name/control/terminal/output |
2014年12月 |
4.0 |
输出终端描述符 |
/config/usb-gadget/gadget/functions/uvc.name/control/terminal/output/default |
2014年12月 |
4.0 |
默认输出终端描述符 |
/config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera |
2014年12月 |
4.0 |
摄 |