Linux USB
lxllinux
这个作者很懒,什么都没留下…
展开
-
USB子系统
usb_debugfs_init/** 这个函数主要做了一下事情: 在debugfs中创建了一个文件,并指定了操作他的函数。*/static int usb_debugfs_init(void){ /** 在debugfs文件系统中创建一个目录。 "usb" : 目录的名称 NULL : 这个...转载 2018-03-02 16:07:25 · 604 阅读 · 0 评论 -
linux usb枚举过程分析
插入一个 USB设备的处理机制总体计: 1. 中断定时查询: 2. 总体架构设计: 3. 解析各个部分:中断定时查询: Hub层处理 usb枚举 当守护程序第一次运行或usb port上状态发生变化,守护进程被唤醒都会运行hub_events函数,这个函数在usb系统中处理核心位置,usb的枚举过程就是由它完成。usb具体的枚举流程: hub_events函数static void hub...转载 2018-04-17 17:57:59 · 1308 阅读 · 0 评论 -
USB gadget设备驱动解析
USB gadget设备驱动解析(1)——功能体验利用Linux USB gadget设备驱动可以实现一些比较有意思的功能,举两个例子: 1、一个嵌入式产品中的某个存储设备,或是一个存储设备的某个分区,可以作为一个U盘被PC;设别,从而非常方便的完成文件交互,这个功能被广泛的应用于手机、数码相机等产品中。2、一个嵌入式设备通过USB连接到你的PC后,在你的PC端会出现一个新的网络连接,在嵌入式设备...转载 2018-03-28 09:22:59 · 2241 阅读 · 0 评论 -
usb枚举2
1. 枚举是什么? 枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了。 USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告。在系统启动时,...转载 2018-03-27 19:43:07 · 317 阅读 · 0 评论 -
linux usb枚举过程分析【host】
当守护程序第一次运行或usb port上状态发生变化,守护进程被唤醒都会运行hub_events函数,这个函数在usb系统中处理核心位置,usb的枚举过程就是由它完成,usb枚举过程流程图如图1所示;图1 usb枚举流程图 由于hub_events函数比较长这里分几个部分进行讲解:[html] view plaincopystatic void hub_events(void) ...转载 2018-03-26 18:51:23 · 1487 阅读 · 0 评论 -
linux设备驱动之USB数据传输分析
http://linux.chinaunix.net/techdoc/install/2008/09/18/1033112.shtml------------------------------------------ 本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/------------------------------------------三...转载 2018-03-26 18:49:46 · 1901 阅读 · 0 评论 -
USB摄像头驱动实现源码分析
转自:http://blog.csdn.net/zqixiao_09/article/details/50984412 Spac5xx的实现是按照标准的USB VIDEO设备的驱动框架编写(其具体的驱动框架可参照/usr/src/linux/drivers/usb/usbvideo.c文件),整个源程序由四个主体部分组成:设备模块的初始化模块和卸载模块,上层软件接口模块,数据传输模块。具体的模块分...转载 2018-03-24 18:31:03 · 2727 阅读 · 0 评论 -
USB 驱动几个重要数据结构
前面我们学习了USB 驱动的一个描述符,下面来学习 USB 驱动的几个重要数据结构一、struct usb_interface 接口函数[cpp] view plain copystruct usb_interface { struct usb_host_interface *altsetting; struct usb_ho...转载 2018-03-24 18:29:05 · 614 阅读 · 0 评论 -
25.2 USB驱动程序框架
25.2 USB驱动程序框架Linux内核提供了完整的USB驱动程序框架。USB总线采用树形结构,在一条总线上只能有唯一的主机设备。Linux内核从主机和设备两个角度观察USB总线结构。本节介绍Linux内核USB驱动程序框架。25.2.1 Linux内核USB驱动框架图25-2是Linux内核从主机和设备两个角度观察USB总线结构的示意图。从图25-2中可以看出,Linux内核USB驱动是按...转载 2018-03-24 18:04:03 · 221 阅读 · 0 评论 -
usb 驱动
usb驱动是linux内核中比较复杂的驱动之一,因此,大多数usb教程建议从usb-skeleton开始学习usb驱动。个人认为这是相当正确的,usb-sekelton提供了一个usb驱动开发的模板,而且代码量较少,很适合初学者的学习。 记住,对于c语言的程序设计说,数据结构是整个程序的灵魂。因此,分析别人编写的代码的简洁的入口点就是高清代码中主要数据结构之间的关系。分析以usb-skele...转载 2018-03-24 18:00:31 · 318 阅读 · 0 评论 -
USB 设备驱动开发之几个重要结构体分析
该部分所有结构体的声明均可以在内核源文件 usb.h 内找到,有兴趣的朋友可以阅读源码。 USB设备其实很复杂,但是Linux内核提供了一个称为USB core的子系统来处理了大部分的复杂工作,所以这里所描述的是驱动程序和USB core之间的接口。在USB设备组织结构中,从上到下分为设备(device)、配置(config)、接口(interface)和端点(endpoint)四个层次。对...转载 2018-03-05 14:56:34 · 703 阅读 · 0 评论 -
Linux USB Gadget--分析
Linux USB Gadget软件结构一文中分析Linux USB Gadget软件分为三层。这三层其中两层是与硬件无关的,分别是Gadget功能驱动层,USB设备层。一层是与硬件相关的是UDC层。每一层都提供一种关键的数据结构与函数与其他层交互。 Gadget功能驱动层: 最主要的结构是struct usb_composite_driver,这个结构在这层定义,并且实现结构中...转载 2018-03-05 14:37:33 · 1676 阅读 · 0 评论 -
usb设计中的管道pipe描述
usb设计中的管道pipe描述 在USB设计中,常有描述管道的说明,对应的图示为: 在实际设计中:pipe为一个int数 定义如下: 以32位系统为例,int为32 bit.bit:31-30:为管道传输的流类型00: isochronous flow 01: interrupt flow 02: control flow 03: bulk flowbit:29-20:暂...转载 2018-09-20 10:14:35 · 4041 阅读 · 0 评论