linux usb Gadget (usb设备侧驱动分析)

Linux-USB Gadget

之简介
 Linux-USB Gadget 驱动框架(以下简称 Gadget )实现了 USB 协议定义的设备端的软件功能。
相对于 Linux USB 主机端( Host ) 驱动而言, Gadget 驱动出现较晚,它出现在 2.4.23 以后。
Gadget 框架提出了一套标准 API, 在底层USB 设备控制器 (USB Device Controller, UDC) 驱动
则实现这一套 API, 不同的 UDC (通常是 SOC 的一部分) 需要不同的驱动, 甚至基于同样的 UDC
的不同板子也需要进行代码修改。这一层我们可以称之为平台相关层。
   基于 API, Gadget 驱动实现了一套硬件无关的功能,这基本上可以对应到 USB 协议里 的各种 USB Class ,
也有比如 USB Gadget Generic Serial 驱动,没有对应的 Class 。当然, Gadget 驱动还是受限于底层提供
的功能的:比如 某些 Class 需要 USB Isochronous 端点,这时我们就不能支持该 Class 。
  普通的 Gadget 驱动只实现一个功能(比如, u 盘, usb 网卡)。复合设备可以支持多个功能,后面将仔细研究
一下复合设备的实现。像智能手机 , PDA 这样的设备,硬件支持较丰富的端点、 DMA Buffer, 给软件提了支持复合
功能的基础。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值