首页
›
Linux内核与驱动
›
102-USB Gadget驱动实战
›
《USB Gadget驱动在嵌入式设备上的移植适配》
VIP10
本课程属于:102-USB Gadget驱动实战
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
USB Gadget驱动在嵌入式设备上的移植适配
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
USB Gadget概述
USB Gadget的概念 · 与USB Host的区别 · Gadget在嵌入式系统中的应用场景
USB
Gadget
02
Linux USB Gadget框架
Linux内核中USB Gadget… · 核心数据结构(usb_gadget · usb_ep
Linux
USB
03
硬件平台与UDC
UDC(USB Device Con… · 常见UDC硬件(DWC2 · DWC3
UDC
硬件平台
04
内核配置与编译
Linux内核中USB Gadget… · CONFIG_USB_DWC3等) · 内核编译与模块加载
内核配置
编译
05
设备树(Device Tree)配置
UDC节点的设备树绑定 · 时钟 · 电源
Device
Tree
06
Gadget驱动开发环境搭建
交叉编译工具链 · 内核源码树 · 根文件系统
Gadget
驱动开发环境搭建
07
最简单的Gadget驱动
编写一个空的Gadget驱动模板 · 注册与注销usb_gadget_dr…
Gadget
最简单的
08
端点(Endpoint)管理
端点类型(控制 · 批量 · 中断
Endpoint
端点
09
请求(Request)与DMA
usb_request的生命周期 · DMA缓冲区管理 · DMA映射与同步
Request
DMA
10
USB描述符
设备描述符 · 配置描述符 · 接口描述符
USB
描述符
11
配置(Configuration)与接口(Interface)
多配置支持 · 复合设备(Composite Dev… · 接口组合
Configuratio…
Interface
12
Function驱动框架
USB Function的概念 · gadget function AP… · function的绑定与解绑
Function
驱动框架
13
Serial Gadget驱动
实现一个虚拟串口(g_serial)… · ttyGS0的注册与数据传输
Serial
Gadget
14
Ethernet Gadget驱动
实现USB网卡(g_ether)的移… · RNDIS与CDC ECM协议的选择
Ethernet
Gadget
15
Mass Storage Gadget驱动
实现U盘功能(g_mass_stor… · LUN(逻辑单元号)的配置
Mass
Storage
16
HID Gadget驱动
实现USB键盘/鼠标(g_hid)的… · 报告描述符的编写
HID
Gadget
17
Audio Gadget驱动
实现USB声卡(g_audio)的移… · UAC(USB Audio Clas…
Audio
Gadget
18
Video Gadget驱动
实现USB摄像头(g_webcam)… · UVC(USB Video Clas…
Video
Gadget
19
Composite Gadget驱动
将多个Function组合成一个复合… · 配置描述符的合并
Composite
Gadget
20
ConfigFS接口
通过ConfigFS动态配置Gadg… · 创建UDC · 绑定Function
ConfigFS
接口
21
中断处理与URB
Gadget侧的中断处理机制 · 与Host侧URB的对应关系 · 中断上下文的注意事项
URB
断处理
22
电源管理
USB挂起(Suspend)/恢复(… · 远程唤醒(Remote Wakeup…
电源管理
USB
23
高速与全速兼容
USB 2.0高速(High Spe… · 描述符的差异化
高速
全速兼容
24
调试与日志
使用printk · ftrace · usbmon
调试
日志
25
性能优化
批量传输的吞吐量优化 · 中断传输的延迟优化 · DMA对齐与缓存一致性
性能优化
批量传输的吞吐量…
26
常见问题与解决
枚举失败 · 描述符错误 · 端点死锁
常见问题
解决
27
多平台移植
从i.MX6移植到STM32MP1 · 从DWC2移植到DWC3的差异与注意…
多平台移植
i.MX6
28
与用户空间交互
通过/dev/ttyGS0 · /dev/hidg0等设备节点与用户…
用户空间交互
dev/ttyGS0
29
测试与验证
使用Linux Host侧的lsus… · usbip · 测试脚本进行功能验证
测试
验证
30
实战项目
基于ARM Linux开发板实现一个…
实战项目
ARM
所属VIP或分类
同VIP:Gadget驱动实战:虚拟网卡与串口联合调试
同VIP:Linux-USB-Gadget虚拟网卡驱动开发实战
同VIP:USB-Gadget批量与等时传输实现及性能优化