usb hid gadget调试

RK3399:创建自定义Linux USB HID设备 创建Linux usb hid 从设备 阅读详情
usb hid gadget调试
 在PC上可以使用usbview 查看usb设备的信息, ubuntu可以下载tgz的包,编译一下就可以,感觉比较实用。
 在调试hid  gadget时,发现接收数据时多了一个数据头(struct
usb_ctrlrequest),并且第一次接收不到数据,为了查找原因,看了一下内核代码,使用的是A20芯片。
gadget驱动,linux本身有框架可以看一下内核代码(drivers/usb/gadget)。usb接收过来的数据存放在struct
usb_request结构中,发现此时的数据就是错误的,只能看udc驱动代码(负责从usb总线接收/发送数据,一般有芯片厂商编写),每个平台有差异,但框架是相同的,底层的所有数据传输主要是在
udc的中断控制函数中处理的,一般都是通过request_irq注册一个中断处理函数xx_udc_irq(),usb通信都是由host发起的,gadget只能通过中断来处理所有的操作。可以参考一下s3c2410_udc.c,发现大家的实现都是一样的,名字差不多。
中断处理函数xx_udc_irq()中处理,gadget的枚举操作,都在里面处理,通过EP0(控制传输)的处理根据中断调用xx_udc_handle_ep0(),
其他方式的传输(中断,批量,实时)调用xx_udc_handle_ep()。
 
在RK平台上利用gadget去模拟一个HID触摸屏驱动 利用gadget去模拟一个触摸屏HID驱动 阅读详情

相关推荐

RK3568 USB Gadget避坑指南:HID+UMS配置详解与hid_gadget_test工具使用

本文深入解析RK3568 USB Gadget配置中的HID+UMS复合设备开发难点,提供hid_gadget_test工具的高阶应用技巧。针对Rockchip平台特有的VID/PID设置、报告描述符校验、端点资源冲突等核心问题,给出实战解决方案,帮助开发者快速构建稳定的IP-KVM功能设备。

weixin_30335353的博客 182

基于RK3568/Linux的USB OTG HID设备模拟:从键盘鼠标到自定义控制器的实战指南

本文详细介绍了在RK3568/Linux平台上实现USB OTG HID设备模拟的完整实战指南。从内核配置、HID协议解析到驱动开发,逐步讲解如何模拟键盘、鼠标及自定义控制器,并结合实际案例展示其在自动化测试等场景的应用价值,帮助开发者快速掌握这一实用技术。

water的专栏 973

RK3399 HID gadget 配置为键盘

RK3399 HID gadget 配置为键盘

RK3399模拟USB-HID设备

里面包含usb.c文件,编译linux内核时,自动生成g_hid.ko,加载驱动,在主机可识别到自定义USB-hid设备。 详见我的博客:https://blog.youkuaiyun.com/fanxinliuchen/article/details/127570618?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22127570618%22%2C%22source%22%3A%22fanxinliuchen%22%7D

【嵌入式系统】基于RK3588的USB3.0双模切换技术:Host与Device模式配置及Gadget功能实现

内容概要:本文详细讲解了在RK3588平台上实现USB3.0 Host与Device模式切换的技术方案,涵盖USB OTG基础原理、RK3588平台特性、硬件接口、驱动与设备树配置等内容。通过设备树修改和命令行操作两种方式,指导开发者完成模式切换,并分别对Host模式下的U盘、鼠标、移动硬盘连接测试,以及Device模式下的ADB调试、RNDIS网络共享、UMS虚拟存储等Gadget功能进行配置与验证。文章还总结了模式切换过程中的硬件连接、软件配置注意事项,并提出驱动更新、缓存优化和传输模式选择等性能优化建议。; 适合人群:具备嵌入式Linux开发经验,熟悉设备树、内核配置及基本Shell操作的1-3年工作经验的工程师或技术爱好者。; 使用场景及目标:①实现RK3588开发板作为USB主机识别外设;②将开发板模拟为U盘、网卡或调试设备连接PC;③优化USB数据传输性能,提升产品在智能安防、工业控制等场景下的实用性。; 阅读建议:此资源以实战为导向,建议结合开发板动手实践,重点关注设备树配置、Gadget功能设置与调试方法,同时注意硬件连接稳定性与系统日志分析,以便快速定位并解决模式切换中的常见问题。

Python爬虫实战:巧用HEAD请求和Cookie令牌绕过沃尔玛反爬(附完整代码)

本文详细介绍了如何利用Python爬虫技术,通过HEAD请求和Cookie令牌绕过沃尔玛的反爬机制。文章深入解析了人机验证系统的运作原理,并提供了完整的工程化实现代码,包括令牌池设计、高并发架构和异常处理策略,帮助开发者高效采集电商数据。

weixin_29046035的博客 1007

MDK5 Debug调试方法总结

MDK5 Debug调试方法总结

m0_70748084的博客 2万+

车载导航测试,面试常见问题

车载导航测试是汽车软件测试的重要组成部分,涉及验证导航系统的功能、性能、可靠性和用户体验。在面试中,面试官通常会考察候选人的测试思维、问题解决能力和实际经验。以下我将从常见问题类别入手,逐步介绍面试中的高频问题,并提供结构化分析。通过以上结构化准备,你能在面试中自信应对车载导航测试相关问题。用户体验测试关注界面友好性和交互流畅性,安全测试则涉及功能安全和数据隐私。功能测试聚焦于导航核心功能的正确性,如路线规划、位置定位和地图显示。面试官会考察你如何识别、报告和跟踪缺陷,以及熟悉测试工具。

m0_69889939的博客 527

从ADS到SystemVue:当简单链路预算不够用时,我的射频系统级仿真方案升级实录

本文详细介绍了从ADS到SystemVue的射频系统级仿真升级路径,重点分析了基础链路预算在多端口元件和复杂场景下的局限性,并提供了SystemVue在非线性系统验证和跨域协同分析中的优势。通过实际案例展示了如何平滑迁移工具链,提升仿真精度和效率,适用于5G、毫米波雷达等现代射频系统设计。

weixin_34233974的博客 343

huggingface下载提示huggingface_hub.errors.EntryNotFoundError:404 Client Error: (Request 1D: Root...如何解决?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1232

把开源 Skills 集成到 LangGraph 项目

1. 定义智能体状态(必须包含 messages,其他字段按需扩展)messages: List[HumanMessage | AIMessage | ToolMessage] # 消息流(核心)skill_output: Optional[str] # 存储 Skill 执行结果next_node: str # 控制流程跳转# 2. 定义智能体决策节点(决定是否调用 Skill)"""智能体决策逻辑:根据用户输入判断是否调用开源 Skill"""# 获取最后一条用户消息。

lpfasd123的博客 900

VS2019编译使用log4cplus 1.2.0

logger.properties 文件。第三步,创建项目来测试,配置库。第二步,使用VS2019编译。

h a 6 6 6 c k 为 你解决复杂难题! 528

影像组学文章复现:ITHscore:通过多尺度放射学特征全面定量NSCLC肿瘤内异质性 ----小细胞肺癌肿瘤异质性评分

目的:通过计算机断层扫描(CT)图像量化非小细胞肺癌(NSCLC)的肿瘤内异质性(ITH)。 方法:整合局部辐射特征和全局像素分布模式,开发定量ITH测量-ITHscore。在六个患者队列(n = 1399)中检查ITHscore与肿瘤表型,基因型和患者预后的关联,以验证其在表征ITH方面的有效性。

xxx 1020

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

上一篇: DM9000
下一篇: USB开发基础--实例讲解USB的枚举(配置)过程
wdsfup
博客等级 码龄20年 31粉丝 13原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值