urb的处理流程】的更多相关文章

  USB分析 2013年11月11日 16:06:24 阅读数:1807 转载自:http://blog.csdn.net/aaa6695798/article/details/4776202 很久没有写<LDD3>的学习笔记了,趁着做项目的机会,学习一下USB的驱动程序,并写学习笔记. . 如果刚开始接触USB,会感觉无从下手,这种感觉就像我第一次接触嵌入式Linux一样.所以要对USB的硬件原理.数据传输和在USB电缆上传输的数据格式有一定的了解.所以推荐一篇<实用USB术语详解&…
USB URB的status及其代表的意义 平时在处理客户问题时,经常需要分析出现问题时抓取的usbmon log,这个log中有一个字段非常重要:URB Status word,这个字段就是struct urb结构体中的status成员变量. 通过这个status的值,可以分析出模块端和HOST端usb的一些状态,有利于定位到问题点. Linux内核中对该成员变量的注释如下: 表明该字段仅仅表示批量传输.控制传输和中断传输的URB状态,等时传输不在其中,不过我们的模组也没有等时传输的端点. 在…
[驱动]USB驱动·入门 Preface USB是目前最流行的系统总线之一.随着计算机周围硬件的不断扩展,各种设备使用不同的总线接口,导致计算机外部总线种类繁多,管理困难.USB总线正是因此而诞生的. USB总线提供了所有外部设备的统一连接方式,并且支持热插拔,方便了厂商开发设备和用户使用设备. USB遵循原则 USB的设计目标是对现有的PC机体系进行扩充,但是目前不仅是PC机,许多的嵌入式系统都开始支持USB总线和接口标准.USB设计主要遵循下面几个原则: 易于扩充外部设备:USB支持一个接口…
                 linxu_usb驱动之框架 USB骨架程序可以被看做一个最简单的USB设备驱动的实例. 首先看看USB骨架程序的usb_driver的定义 [cpp] view plain copy static struct usb_driver skel_driver = {         .name =          "skeleton",         .probe =  skel_probe,             //设备探测        …
转自:http://www.cnblogs.com/lcw/p/3159371.html Preface USB是目前最流行的系统总线之一.随着计算机周围硬件的不断扩展,各种设备使用不同的总线接口,导致计算机外部总线种类繁多,管理困难.USB总线正是因此而诞生的. USB总线提供了所有外部设备的统一连接方式,并且支持热插拔,方便了厂商开发设备和用户使用设备. USB遵循原则 USB的设计目标是对现有的PC机体系进行扩充,但是目前不仅是PC机,许多的嵌入式系统都开始支持USB总线和接口标准.USB…
一.USB固件和USB传输方式 USB固件: USB固件一般不需要我们编写,在此不做程序分析. USB固件中包含USB设备的出厂信息,如厂商ID.产品ID.主版本号和次版本号等.这就是为什么当我们把U盘插入USB口的时候主机可以知道这是一个U盘设备. 除包含出厂信息外,固件中还包含处理USB协议和设备读写操作的程序,如将数据从设备发送到总线上或从总线中将数据读取到设备中.驱动程序只是将USB规范定义的请求发送给固件程序,固件程序负责将数据写入设备中.USB规范定义了USB设备间的通信方式. US…
Linux USB架构 可以看出一个USB体系需要4个驱动:USB设备驱动(主要编写这部分),USB主控制器驱动,Gadget驱动,UDC驱动. USB主要有4个功能: MassStorage:大容量存储,如硬盘,U盘. USB-HID:人体接口设备,鼠标,键盘. RNDIS:网卡. CDC-ACM:u转串口. USB描述符: USB驱动程序位于不同的内核子系统和USB主控制器之间,USB核心为USB驱动提供了用于访问和控制USB硬件的软件接口,使得USB设备驱动程序不必考虑USB硬件控制器.…
通用串行总线(USB)是主机和外围设备之间的一种连接.最新USB规范修订增加了理论上高达480Mbps的高速连接. 从拓扑上看,USB子系统并不是以总线的方式来布置的,它是一颗由几个点对点的连接构建而成的树. USB是四线缆:地线.电源线.两根信号线 USB主控制器负责询问每一个USB设备是否有数据需要发送. 一个USB设备在没有主控制器要求的情况下是不能发送数据的. 方便搭建即插即用的系统. 只担当设备和主控制器之间通信通道的角色,对它所发送的数据没有任何特殊的内容和结构上的要求. USB协议…
1.urb 结构体USB 请求块(USB request block,urb)是USB 设备驱动中用来描述与USB 设备通信所用的基本载体和核心数据结构,非常类似于网络设备驱动中的sk_buff 结构体. struct urb { /* 私有的:只能由USB 核心和主机控制器访问的字段 */ struct kref kref; /*urb 引用计数 */ void *hcpriv; /* 主机控制器私有数据 */ atomic_t use_count; /* 并发传输计数 */ u8 rejec…
title: V4L2学习流程 date: 2019/4/23 18:00:00 toc: true --- V4L2学习流程 参考资料 关键资料,插图让人一下子就理解了 Linux摄像头驱动1--vivid Linux摄像头驱动2--UVC 重写uvc比较完整注释版本 从更大的角度去看V4L2框架,不局限在摄像头 V4L2框架概述 排版不错的笔记 USB摄像头驱动框架分析 从零写USB摄像头驱动之分析描述符 从零写USB摄像头驱动之实现数据传输1_框架 从零写USB摄像头驱动之实现数据传输2_…