Linux UVC Gadget Driver开发

本文介绍了Linux系统中UVC Gadget驱动的开发,包括配置设备内核、通过configfs设置Gadget、颜色匹配描述符、扩展单元支持等。UVC Gadget驱动在设备端表现为V4L2设备,主机端则作为符合UVC规范的摄像头。文章详细阐述了如何通过configfs配置USB功能,设置格式、帧、颜色匹配信息以及扩展单元的控制,为开发UVC设备提供了指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

UVC Gadget驱动程序是USB连接的设备一侧硬件的驱动程序。它旨在运行在具有OTG端口的板上等具有USB设备端硬件的Linux系统上。

在设备系统上,一旦驱动程序被绑定,它会出现为一个具有输出功能的V4L2设备。

在主机侧(通过USB电缆连接后),运行UVC Gadget驱动程序由适当的用户空间程序控制的设备应该会显示为一个符合UVC规范的摄像头,并且可以与任何设计用来处理它们的程序一起正常工作。在设备系统上运行的用户空间程序可以从各种来源排队图像缓冲区,以通过USB连接传输。通常,这意味着将缓冲区从摄像头传感器外设转发出去,但缓冲区的来源完全取决于用户空间程序。

配置设备内核

必须选择Kconfig选项USB_CONFIGFSUSB_LIBCOMPOSITEUSB_CONFIGFS_F_UVCUSB_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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冥焱破晓

开发不易,写文章更难,感谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值