bbiliu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2005-01-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1255回复:8

关于U盘开发中的READ 10的问题?

楼主#
更多 发布于:2004-04-19 09:33
    最近的u盘开发,走到处理read10命令。该命令要求读取512字节的LBA地址为0的一个BLOCK的FLASH数据,我发送了512字节的数据过去,用BUSHOUND抓包发现,发生了bus reset事件。
比较其他的u盘的抓包,分析发现设备在响应read10请求的时候只发送了128字节的数据包,然后就发送CSW包。是不是一定要这样?因为我发送512字节是不成功的。
bbiliu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2005-01-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-04-19 09:48
不好意思,搞错了,应该是发送了512字节,我的BUSHOUND只能抓127个字节。
但是现在还是不成功。用bushound看到的是。
我的设备发送了512字节过去后,主机连发了两个urb请求。
然后主机发送了一个bus reset动作,然后重新进行列举过程。
谁能告诉我,read10的操作过程(和主机的数据应答过程)。
dragon_hn
驱动中牛
驱动中牛
  • 注册日期2002-05-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分297分
  • 威望40点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-19 12:57
假设你的BULK端点大小为64BYTES。
1.发送7次数据.64×7=448字节数据
2.发送CSW
3.发送剩余的64字节
传输结束
www.dragon-2008.com 欢迎交流
LJ1978
驱动小牛
驱动小牛
  • 注册日期2004-02-25
  • 最后登录2011-06-08
  • 粉丝0
  • 关注0
  • 积分43分
  • 威望24点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-04-19 14:56
楼上的是WRITE10才需要在第七个包后才发CSW。
我做READ10并不需要这么做
楼主的原因可能还是你软件问题。就是可能你根本没发够512个字节或者多发了几个字节。我曾试过这种情况。你好好检查程序。
seu_zhufeng
驱动牛犊
驱动牛犊
  • 注册日期2004-01-02
  • 最后登录2006-07-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-24 20:49
我的read10也不需要提前发csw,write10倒是好像需要,但现在还没有完全调好。
dragon_hn
驱动中牛
驱动中牛
  • 注册日期2002-05-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分297分
  • 威望40点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-04-26 10:01
谢谢LJ1978纠正,差点误导人家了,以下是我的程序设计方法:
WRITE10在第七个包后就发CSW;
READ10在第八个包后才发送CSW;
以上针对一个扇区,EP大小为64B的情况
www.dragon-2008.com 欢迎交流
bbiliu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2005-01-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-04-26 11:51
各位老大,我的u盘基本完成了。
write10好像也没有出现你们说的那种情况,可能和usb芯片有关系。
目前正在整理文档,等整理完了,传上来和大家共享。
哦对了,我的format命令还没有做。
seu_zhufeng
驱动牛犊
驱动牛犊
  • 注册日期2004-01-02
  • 最后登录2006-07-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-04-26 13:56
我的也都调完了,非常感谢大家的支持,尤其是frank和floppydisk,以后会在速度以及动态插拔上作一些处理,另外我是用了我们公司操作系统的一些功能,愿意和大家讨论。
seu_zhufeng
驱动牛犊
驱动牛犊
  • 注册日期2004-01-02
  • 最后登录2006-07-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-04-26 13:59
关于bbiliu所说的write10的问题,确实存在这种情况,在有的硬件上就不存在提前发Csw的问题。
游客

返回顶部