linux usb驱动记录(一)】的更多相关文章

一.linux 下的usb驱动框架 在linux系统中,usb驱动可以从两个角度去观察,一个是主机侧,一个是设备侧.linux usb 驱动的总体框架如下图所示:   从主机侧看usb驱动可分为四层:usb主机控制器硬件底层.usb主机控制器驱动.usb核心和usb设备驱动. 在主机侧要实现的驱动主要分为两类:usb主机控制器驱动和usb设备驱动.主机控制器驱动负责控制插入其中的usb设备,usb设备驱动主要负责usb设备和主机的通信. usb核心向上为设备驱动提供编程接口,向下为usb控制器驱…
三.usb设备的识别过程 在这里梳理一下上一篇博客中的内容:(这张图来自https://blog.csdn.net/lizuobin2/article/details/51931161) 上一篇博客刚好从平台设备.驱动的匹配分析到hub_irq这个函数这里. static void hub_irq(struct urb *urb) { struct usb_hub *hub = urb->context; int status = urb->status; unsigned i; unsign…
linux usb 驱动详解 USB 设备驱动代码通过urb和所有的 USB 设备通讯.urb用 struct urb 结构描述(include/linux/usb.h ). urb 以一种异步的方式同一个特定USB设备的特定端点发送或接受数据.一个 USB 设备驱动可根据驱动的需要,分配多个 urb 给一个端点或重用单个 urb 给多个不同的端点.设备中的每个端点都处理一个 urb 队列, 所以多个 urb 可在队列清空之前被发送到相同的端点.  一个 urb 的典型生命循环如下: (1)被创…
转自:http://blog.chinaunix.net/uid-11848011-id-96188.html 初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了.好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动开发.但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催货.当然,还会顺带提一下其他的驱动程序写法.        事实上,Linux的设备驱动都遵循一个惯例——表征驱动程序(用…
转自:http://blog.csdn.net/jeffade/article/details/7701431 Linux USB驱动框架分析(一) 初次接触和OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了.好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动研发.但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催货.当然,还会顺带提一下其他的驱动程式写法. 事实上,Linux的设备驱动都遵循一个…
linux usb 驱动详解 一 http://blog.163.com/cl2006ky@126/blog/static/87195173201131245557340/ USB设备驱动开发-USB Gadget Driver(一) http://blog.chinaunix.net/uid-14518381-id-3904999.html…
转自:http://blog.chinaunix.net/uid-23046336-id-3243543.html   看了http://blog.chinaunix.net/uid-11848011-id-96188.html的驱动框架分析,感觉受益匪浅.对于一些内容,我自己查漏补缺. 首先我们按照顺序,看内核模块的注册以及释放函数如下: 点击(此处)折叠或打开 static int __init usb_skel_init(void) { int result; /* register th…
USB 设备驱动: 一.USB 描述符:(存在于USB 的E2PROM里面) 1.  设备描述符:struct usb_device_descriptor 2.  配置描述符:struct usb_config_descriptor 3.  接口描述符:struct usb_interface_descriptor 4.  端点描述符:struct usb_endpoint_descriptor 通过命令lsusb 列出系统中所有的USB设备: 通过命令lsusb -v 列出系统中所有的USB设…
USB,Universal Serial Bus(通用串行总线),是一个外部总线标准,用于规范电脑与外部设备的连接和通讯.是应用在PC领域的接口技术.USB接口支持设备的即插即用和热插拔功能.USB是在1994年底由英特尔.康柏.IBM.Microsoft等多家公司联合提出的. 1.USB接口定义: 2.Mini-USB 接口: 3.USB标准:                                       4.USB总线结构: 5.USB OTG 现在市面上有些设备(比如MP4)…
1.usbmouse的定义:usb鼠标既包含usb设备(usb_device)的属性也包含input输入设备(input_dev)的属性 struct usb_mouse { ];///USB鼠标设备名称 ];///路径 struct usb_device *usbdev;///USB设备 struct input_dev *dev;///Input 设备 struct urb *irq; ///urb结构体 signed char *data;///数据传输缓冲区指针 dma_addr_t d…