当前位置:   article > 正文

LinuxUSB子系统-gadget驱动-UVC设备端驱动1_usb驱动子系统

usb驱动子系统

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设备控制器

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/444497
推荐阅读
相关标签
  

闽ICP备14008679号