赞
踩
在linux内核中driver-USB-gadget中可以找到webcam.C,对应的UVC设备,感兴趣可以去看看
USB设备是主从设备,对于控制器而言也分为俩种 :HDC和UDC UDC从名字可以看出是设备端的控制器。设备端需要配置的功能就是要配置描述符,以及端点等给主机了解的信息。
--------------------------------------------------------------------------------------------------------------------
驱动层次来看的话,可以分为3层,Gadget function->Gadget->UDC。UDC作为底层的驱动包括了USB设备控制器的驱动对上提供接口, Gadget就是将UDC的函数进行一个封装暴露给上层调用,gadgetfunction层就是配置功能的地方比如要实现一个usb 摄像头,usb 存储卡等等。
usb是传输的手段,作为一个usb设备可能具备多种功能,比如一个usb摄像头集成是视频传输和音频传输的功能,这个设备就需要将两个功能集成,配置uac和uvc的描述符,在这篇中不展开讲,所以usb_composite这个接口的作用就是将这些function进行一个复合,也就是字面意思。
借一张网上的图来进行总结
设备控制器驱动:UDC驱动 直接处理USB设备控制器
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。