当前位置: 首页 > news >正文

【QNX+Android虚拟化方案】137 - msm-5.4 Kernel U盘 插入中断、枚举、匹配完整流程详解

【QNX+Android虚拟化方案】137 - msm-5.4 Kernel U盘 插入中断、枚举、匹配完整流程详解

    • 1. HUB提交中断URB给HCD控制器,URB完成回调函数为 hub_irq()
    • 2. U盘插入后,触发运行 hub_irq() 中断回调函数
      • 2.1 高通 DWC3 Host HCD 初始化流程
      • 2.2 urb->complete(urb) 中断回调流程
      • 2.3 hub_irq() 将 hub->events 加入 hub_wq 工作队列
      • 2.4 hub_event() 处理端口事件
      • 2.5 hub_port_connect() 枚举识别 USB 设备, 依次初始化USB 外设为:ATTACHED -> POWERED -> 获取设备描述符 -> DEFAULT -> ADDRESS, 获取并解析 配置描述符、接口描述符、端点描述符
    • 3. U盘 USB Device 和 USB Driver 匹配 流程
      • 3.1 device_add(&udev->dev) 添加usb device 设备,触发 USB Device 和 usb_generic_driver通用驱动匹配,然后调用 generic_probe()开始下发配置
      • 3.2 generic_probe() 下发配置,配置为 USB_STATE_CONFIGURED 模式,触发USB 接口与接口驱动匹配
      • 3.3 device_add(&intf->dev) 接口驱动匹配流程,match匹配后,调用 storage_probe() 函数
      • 3.4 storage_probe() 接口驱动初始化


基于原生纯净代码,自学总结 纯技术分享,不会也不敢涉项目、不泄密、不传播代码文档!!!
本文禁止转载分享 !!!
汇总链接:《【QNX+Android虚拟化方案】00 - 系列文章链接汇总》
本文链接:《【QNX+Android虚拟化方案】137 - msm-5.4 Kernel U盘 插入中断、枚举、匹配完整流程详解》



最近看了比较多的 U盘 相关问题

本文,我们完整分析下 U盘 从插入 到识别的整个过程,了解这个过程,对分析 U盘不识的问题非常有好处。


1. HUB提交中断URB给HCD控制器,URB完成回调函数为 hub_irq()

HUB 初始化时,会调用 hub_configure()->usb_fill_int_urb()->hub_activate()->usb_s

http://www.xdnf.cn/news/245539.html

相关文章:

  • 深度学习框架:PyTorch使用教程 !!
  • 缓存:缓解读库压力的高效方案与应用实践
  • DeepSeek V3 架构创新:大规模MoE与辅助损失移除
  • 本文不定期更新,用于收录各种怪异的python脚本
  • 实现Sentinel与Nacos的规则双向同步
  • Java朴实无华按天计划从入门到实战(94天直达Java高阶)
  • [计算机科学#7]:CPU的三阶段,取指令、解码、执行
  • 时序建模演进之路:从 MLP、RNN 到 LSTM 与 GRU
  • 【Linux】Makefile
  • 小结:ipsec-ike
  • 例数据中关键指标对应的SQL查询模板
  • mysql数据库备份与恢复方法
  • Java学习手册:Spring 事务管理
  • 面试的各种类型
  • Linux日常使用与运维的AI工具全景调研:效率革命的终极指南
  • (A题|支路车流量推测问题)2025年第二十二届五一数学建模竞赛(五一杯/五一赛)解题思路|完整代码论文集合
  • 【Dify系列教程重置精品版】第五章:Dify配置Ollama
  • C++漫溯键值的长河:map set
  • ES6-Set-Map对象小记
  • 业务流程BPM能力框架体系及华为中兴流程变革案例P83(83页PPT)(文末有下载方式)
  • 信息系统项目管理师-软考高级(软考高项)​​​​​​​​​​​2025最新(六)
  • 初识 Java
  • OpenGL-ES 学习(12) ---- VBO EBO VAO
  • 网络分析/
  • 前端如何转后端
  • 【Docker】Dockerfile 使用
  • 【AI大模型学习路线】第一阶段之大模型开发基础——第二章(大模型的训练与应用)大模型发展史?大模型预训练、微调到应用的过程?
  • 【小米拥抱开源】小米开源 MiMo 家族,探索 Reasoning 的可能性
  • Chromium 134 编译指南 - Android 篇:获取源码(五)
  • 为 Unity 项目添加自定义 USB HID 设备支持 (适用于 PC 和 Android/VR)-任何手柄、无人机手柄、摇杆、方向盘