hid的几个阶段

本文详细介绍了Linux USB Gadget的三层结构,并重点讲解了在硬件平台tcc8935上配置和使用HID gadget的过程,包括添加设备描述符、处理HID报告和解决get_interface请求错误的问题。同时提到了使用Bus Hound软件进行USB通信分析。
摘要由CSDN通过智能技术生成

USB HID的几个阶段

 

LinuxUSB Gadget分为三层,其中两层是与硬件无关的:Gadget功能驱动层,USB设备层;一层是与硬件相关的UDC层。每一层都提供一种关键的数据结构与函数与其他层交互。

Gadget功能驱动层:  最主要的结构是struct usb_composite_driver,这个结构在这层定义,并且实现结构中的各个函数。

USB设备层:  最主要的数据结构是struct usb_composite_dev与usb_gadget_driver。前一个代表一个USB设备,而后一个是Gadget驱动,与UDC层交互。

UDC层:  最主要的数据结构是struct usb_gadget,通常包含在其他结构体中。这个结构体代表了一个USB设备控制器的所有关于USB通信的信息。

UDC层提供usb_gadget_unregister_driver(struct usb_gadget_driver *driver)函数,这个函数由USB设备层调用,USB设备层将自己定义的struct usb_gadget_driver结构变量传递给他。USB设备层提供usb_composite_register(struct usb_composite_driver *driver)函数,这个函数由Gadget功能驱动层调用,Gadget功能驱动层将自己定义的struct usb_composite_driver 结构变量传递给他。

 

 

目前我们代码中的 hid代码整理

         硬件平台:tcc8935   内核源码:linux 3.1.10

         hid相关的源码在linux内核源码下的

v13.05_r1-tcc-android-4.2.2_release/kernel/drivers/usb/gadget/,主要包括

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值