我是靠谱客的博主 听话仙人掌,最近开发中收集的这篇文章主要介绍LinuxUSB子系统-gadget驱动-UVC设备端驱动1一、驱动结构层次二、usb_composite_drive三、UDC && 总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在linux内核中driver-USB-gadget中可以找到webcam.C,对应的UVC设备,感兴趣可以去看看

一、驱动结构层次

USB设备是主从设备,对于控制器而言也分为俩种 :HDC和UDC UDC从名字可以看出是设备端的控制器。设备端需要配置的功能就是要配置描述符,以及端点等给主机了解的信息。

--------------------------------------------------------------------------------------------------------------------

        驱动层次来看的话,可以分为3层,Gadget function->Gadget->UDC。UDC作为底层的驱动包括了USB设备控制器的驱动对上提供接口, Gadget就是将UDC的函数进行一个封装暴露给上层调用,gadgetfunction层就是配置功能的地方比如要实现一个usb 摄像头,usb 存储卡等等。

二、usb_composite_drive

        usb是传输的手段,作为一个usb设备可能具备多种功能,比如一个usb摄像头集成是视频传输和音频传输的功能,这个设备就需要将两个功能集成,配置uac和uvc的描述符,在这篇中不展开讲,所以usb_composite这个接口的作用就是将这些function进行一个复合,也就是字面意思。


三、UDC && 总结

借一张网上的图来进行总结

        设备控制器驱动:UDC驱动 直接处理USB设备控制器

最后

以上就是听话仙人掌为你收集整理的LinuxUSB子系统-gadget驱动-UVC设备端驱动1一、驱动结构层次二、usb_composite_drive三、UDC && 总结的全部内容,希望文章能够帮你解决LinuxUSB子系统-gadget驱动-UVC设备端驱动1一、驱动结构层次二、usb_composite_drive三、UDC && 总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部