一.URT介绍 前面介绍了Linux USB Gadget的软件结构与各软件层的整合过程。经过各种注册函数,Gadget功能驱动层,USB设备层与UDC底层结合在了一起形成了一个完整的USB设备。而这个设备已经准备好了接受主机的枚举。在介绍USB设备枚举之前。先熟悉一下各层通信所用 ...
一.基础概念 在终端用户看来,USB设备为主机提供了多种多样的附加功能,如文件传输,声音播放等,但对USB主机来说,它与所有USB设备的接口都是一致的。一个USB设备由 个功能模块组成:USB总线接口 USB逻辑设备和功能单元: a 这里的USB总线接口指的是USB设备中的串行接口引擎 SIE b USB逻辑设备被USB系统软件看作是一个端点的集合 c 功能单元被客户软件看作是一个接口的集合。SI ...
2020-12-30 17:39 0 813 推荐指数:
一.URT介绍 前面介绍了Linux USB Gadget的软件结构与各软件层的整合过程。经过各种注册函数,Gadget功能驱动层,USB设备层与UDC底层结合在了一起形成了一个完整的USB设备。而这个设备已经准备好了接受主机的枚举。在介绍USB设备枚举之前。先熟悉一下各层通信所用 ...
一.拓扑结构 ·之所以要规定这个树形拓扑结构是为了避免环形连接。 ·一条USB总线有且只有一个USBHost,对应一个RootHub ·USB设备分为两类,Hub和Functions,Hub通过端口Port连接更多USB设备,Functions即USB外接从设备。 ·层次最多7层 ...
本文分析的是linux-5.4.3 一、Linux 下USB Hub热插拔处理 1、 Linux下USB HUB的驱动的实现和分析: 在系统初始化的时候在usb_init函数中调用usb_hub_init函数,就进入了hub的初始化。 代码路径 ...
Linux驱动框架分析(一) 事实上,Linux的设备驱动都遵循一个惯例——表征驱动程序(用driver更贴切一些,应该称为驱动器比较好吧)的结构体,结构体里面应该包含了驱动程序所需要的所有资源。用术语来说,就是这个驱动器对象所拥有的属性及成员。由于Linux的内核用c ...
之前做过STM32的usb HID复合设备,闲来看看linux下USB设备驱动是怎么一回事, 参考资料基于韦东山JZ2440开发板,以下,有错误欢迎指出。 1、准备知识 1.1USB相关概念: USB枚举过程:https://blog.csdn.net/go_str/article ...
一.概述 Gadget USB设备控制器(UDC)驱动指的是作为其他USB主机控制器外设的USB硬件设备上底层硬件控制器的驱动,该硬件和驱动负责将一个USB设备依附于一个USB主机控制器上。例如,当某运行Linux系统的手机作为PC的U盘时,手机中的底层USB控制器行使USB设备 ...
function目录汇集了很多功能层的功能接口(interface)的具体实现, 我们这里分析UAC2. 一. UAC2 function驱动分析 代码位置 drivers\usb\gadget ...
因为项目里面有USB音频外设,所以需要分析一下UAC驱动。 USB Audio Class,USB音频类,一个像USB这样的通用数据接口,可以有很多种实现数字音频数据传输的方式。不同的开发者可以根据自己的喜好和需求,定义任意的控制方式,传输模式,音频格式等等参数 ...