转载:http://q16964777.blog.163.com/blog/static/2505550662015690465719/

Gadget 驱动
基于底层提供的资源, Gadget 驱动可以运行在各种硬件平台上。重要的驱动有:
Gadget Zero, 类似于 dummy hcd, 该驱动用于测试 udc 驱动。它会帮助您通过 USB-IF 测试。
Ethernet over USB, 该驱动模拟以太网网口,它支持多种运行方式:
CDC Ethernet: usb 规范规定的 Communications Device Class “Ethernet Model” protocol。
CDC Subset: 对硬件要求最低的一种方式,主要是 Linux 主机支持该方式。
RNDIS: 微软公司对 CDC Ethernet 的变种实现。
File-backed Storage Gadget最常见的 U 盘功能实现。
Serial Gadget 实现,包括:
Generic Serial 实现(只需要Bulk-in/Bulk-out端点+ep0)
CDC ACM 规范实现。
Gadget Filesystem, 将 Gadget API 接口暴露给应用层,以便在应用层实现user mode driver。
MIDI: 暴露ALSA接口,提供 recording 以及 playback 功能。