USB 设备驱动架构

LK 版本:2.6.35.3

2013 年1 月14 日

 任务目标:

分析整理插入一个USB 设备的处理过程。

 USB 设备、配置、接口、设置以及端点的五者关系图:

一个USB 设备对应有一个或多个配置;

一个配置对应一个或多个的USB 接口;

一个USB 接口又具有一个或多个的设置;

一个设置又会拥有一个或多个的USB 端点。

1

五者关系图如下:

usb_device_descriptor{}

usb_device{} 设备描述符

.descriptor .bNumConfigurations

*config usb_host_config{}[]

*ep_in[] usb_host_config{} usb_config_descriptor{}

*ep_out[] .desc 配置描述符

*interface[]

设备

多个配置

一个配置

usb_host_endpoint{}*[] usb_host_endpoint*{}[]

USB_MAXINTERFACES

usb_interface{}[] usb_interface{} usb_host_interface{}[]

*altsetting

*cur_altsetting

usb linux 内核,Linux内核USB驱动架构:USB设备驱动架构.pdf相关推荐

  1. linux内核源码实战_3.2理解设备驱动和文件系统

    linux内核源码实战_3.2理解设备驱动和文件系统 linux内核源码实战_理解设备驱动和文件系统 理解设备驱动和文件系统 理解设备驱动和文件系统详解 7-文件系统-proc文件系统实现 总结 li ...

  2. linux pcie驱动框架_Linux设备驱动框架设计

    引子 Linux操作系统的一大优势就是支持数以万计的芯片设备,大大小小的芯片厂商工程师都在积极地向Linux kernel提交设备驱动代码.能让这个目标得以实现,这背后隐藏着一个看不见的技术优势:Li ...

  3. Linux设备驱动篇——[I2C设备驱动-1]

    Linux 设备驱动篇之I2c设备驱动 fulinux 一.I2C驱动体系 虽然I2C硬件体系结构和协议都很容易理解,但是Linux I2C驱动体系结构却有相当的复杂度,它主要由3部分组成,即I2C设 ...

  4. linux用户空间flash驱动,全面掌握Linux驱动框架——字符设备驱动、I2C驱动、总线设备驱动、NAND FLASH驱动...

    原标题:全面掌握Linux驱动框架--字符设备驱动.I2C驱动.总线设备驱动.NAND FLASH驱动 字符设备驱动 哈~ 这几天都在发图,通过这种方式,我们希望能帮大家梳理学过的知识,全局的掌握Li ...

  5. 【linux驱动之字符设备驱动基础】

    linux驱动之字符设备驱动基础 文章目录 linux驱动之字符设备驱动基础 前言 一.开启驱动学习之路 二.驱动预备知识 三.什么是驱动? 3.1 驱动概念 3.2 linux 体系架构 3.3 模 ...

  6. Linux 设备驱动开发 —— platform设备驱动应用实例解析

    前面我们已经学习了platform设备的理论知识Linux 设备驱动开发 -- platform 设备驱动 ,下面将通过一个实例来深入我们的学习. 一.platform 驱动的工作过程 platfor ...

  7. Linux驱动之字符设备驱动

    系列文章目录 第一章 Linux入门之驱动框架 第二章 Linux驱动之字符设备驱动 文章目录 系列文章目录 前言 一.认识字符设备驱动 1.基本概念 2.基本概念 二.字符设备旧框架 1.注册和注销 ...

  8. linux的驱动开发——字符设备驱动

    1.字符设备驱动 \qquad字符设备驱动是最基本,最常用的设备.它将千差万别的硬件设备采用统一的接口封装起来,屏蔽了硬件的差异,简化了应用层的操作. 2.描述所有字符设备的结构体 \qquad描述所 ...

  9. linux PCI驱动调用字符设备驱动方式

    上一篇文章写了字符设备驱动的基本结构及访问方式,在实际应用时首先需要绑定自己的硬件设备.本篇主要描述字符设备驱动与PCI接口类型的设备访问方式(内核为2.6.24及以上的方法,测试内核为2.6.32) ...

  10. linux中流设备_[快速上手Linux设备驱动]之块设备驱动流程详解一

    [快速上手Linux设备驱动]之块设备驱动流程详解一 walfred已经在[快速上手Linux设备驱动]之我看字符设备驱动一 文中详细讲解了linux下字符设备驱动,并紧接着用四篇文章描述了Linux ...

最新文章

  1. Spring 详解(五):Spring声明式事务
  2. 理解java并发工具Phaser
  3. 交换两个数组的元素使之总和的差值最小
  4. 操作方法:具有多个Mongo存储库和Kotlin的Spring Boot 2 Web应用程序
  5. centos 网卡名称修改
  6. java通过mysql验证登录注册范例
  7. 六星经典CSAPP-笔记(7)加载与链接(上)
  8. 猎证计算机等级考试二级试题讲解,猎证计算机等级考试系统
  9. word中 两页同时并排显示 与 单页显示 之间的切换
  10. 谷歌地图网页版入口_巧用谷歌指令,利用Google Maps开发挖掘客户
  11. python推箱子小游戏_python实现推箱子游戏
  12. Tool之synergyc:synergyc的简介、安装、使用方法(鼠标键盘控制两台或多台电脑)之详细攻略
  13. 洛谷 P1919 模板】A*B Problem升级版(FFT快速傅里叶)
  14. 计算机硬件检测与维修理论试题,计算机硬件检测与维修试题10.doc
  15. opencv学习记录——(5)图像像素的操作
  16. DEV、SIT、UAT、PET、SIM、PRD、PROD缩写介绍
  17. 内核驱动隐藏【绕过PatchGuard】
  18. matlab plot画曲线/直线/椭圆
  19. 高数——积分上限函数
  20. 威联通 QTS5.0 532x :phpmyadmin 安装位置

热门文章

  1. 纪念逝去的岁月——C/C++快速排序
  2. SxsTrace工具用法
  3. 使用SQL Storage Compress压缩SQL Server 数据库文件
  4. Android的电话拨号器
  5. 设计模式——工厂方法
  6. 1.6_quick_sort_快速排序
  7. android 结束if循环_简单探究Android平台下' if ' 语句条件判断耗时情况
  8. 扫描线填充算法代码_手写算法并记住它:计数排序
  9. android build.gradle的repositories设置
  10. 最新的CocoaPods的使用教程(一)