Chinaunix首页 | 论坛 | 博客
  • 博客访问: 636214
  • 博文数量: 847
  • 博客积分: 425
  • 博客等级: 下士
  • 技术积分: 1494
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-20 19:57
个人简介

对技术执着

文章分类

全部博文(847)

文章存档

2018年(8)

2015年(735)

2013年(85)

2012年(15)

我的朋友

发布时间:2015-03-14 16:47:33

我们的平台usb设备电源是上电后就一直供应的,这样造成了一些上电前插入的USB设备在系统启动后无法识别,必须重新插拔一次.有些设备又可以正常识别. DEBUG usb 驱动发现,usb驱动在初始化的时候会查询每个端口的状态,并且会尝试枚举设备,但是上电前插入的设备在GetDescriptor的时候会失败,失败后 usb驱动会执行ResetAndPoweronPort,再进行尝试,在失败3次以后就会DisablePort,造成无法识别设备. 重新插拔一次后,在GetDescriptor的时候就可以正常返回,枚举设备成功. 现在硬件已经做好,没有办法通过控制usb电源,或者拉低拉高数......【阅读全文】

阅读(270) | 评论(0) | 转发(0)

发布时间:2015-03-14 15:53:51

Linux设备驱动程序学习(19)-USB 驱动程序(四) 2009-07-15 20:32:00 分类: LINUX编写 USB 驱动程序(本部分的一些示例源码来自drivers/usb/usb-skeleton.c,它是Linux内核为我们提供的最基础的USB驱动程序,USB骨架程序) 驱动程序把驱动对象注册到 USB 子系统中,之后使用.........【阅读全文】

阅读(250) | 评论(0) | 转发(0)

发布时间:2015-03-14 15:52:58

USB urb (USB request block)内核使用2.6.29.4 USB 设备驱动代码通过urb和所有的 USB 设备通讯。urb用 struct urb 结构描述(include/linux/usb.h )。 urb以一种异步的方式同一个特定USB设备的特定端点发送或接受数据。一个 USB 设备驱动可根据驱动的需要,分配多个 urb 给一个端点或重用单个 u.........【阅读全文】

阅读(260) | 评论(0) | 转发(0)

发布时间:2015-03-14 15:52:42

内核使用2.6.29.4USB设备其实很复杂,但是Linux内核提供了一个称为USB core的子系统来处理了大部分的复杂工作,所以这里所描述的是驱动程序和USB core之间的接口。在USB设备组织结构中,从上到下分为设备(device)、配置(config)、接口(interface)和端点(endpoint)四个层次。对于这四个层次的简单描述如下:&.........【阅读全文】

阅读(180) | 评论(0) | 转发(0)

发布时间:2015-03-14 15:50:58

从此文档开始,内核使用2.6.29.4 很久没有写《LDD3》的学习笔记了,趁着做项目的机会,学习一下USB的驱动程序,并写学习笔记。。如果刚开始接触USB,会感觉无从下手,这种感觉就像我第一次接触嵌入式Linux一样。所以要对USB的硬件原理、数据传输和在USB电缆上传输的数据格式有一定的了解。所以推荐.........【阅读全文】

阅读(220) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册