阅读:2433回复:16
Bulk-Only Mass Storage Reset(给30分)
我用68013+CF卡实现U盘功能,读已经正常,写有点问题,不能连续向U盘中写文件,如果连写两三个,则会BUS RESET.我用BUS HOUND检测,好象没有发现计算机发Bulk-Only Mass Storage Reset命令.所以在程序中我没有实现Bulk-Only Mass Storage Reset命令,是不是这个导致上述问题的发生.你们在做的过程中处理过Bulk-Only Mass Storage Reset没,是怎么处理的啊?
|
|
沙发#
发布于:2005-01-24 15:29
高手看一下啊!!!!!
|
|
板凳#
发布于:2005-01-25 10:27
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2005-01-25 15:21
可能问题在于:
缓存够否,写数据速度跟不上会没响应的 之后可能引发RESET |
|
|
地下室#
发布于:2005-01-25 17:47
BUS RESET后,主机再发命令,就超时.wolfwoo22,你在BUS RESET后还能正确处理其他命令吗?shen_51000,OUT缓存2K应该够了啊?我发现好象主机发出的数我的OUT端点并没有接到,这有没有可能啊?
|
|
5楼#
发布于:2005-01-26 08:13
用户被禁言,该主题自动屏蔽! |
|
6楼#
发布于:2005-01-26 10:29
wolfwoo22,我是在中断中处理主机命令的,主机不发命令,就一直等待,直到主机发命令产生中断为止.我用的是68013,firmware是CYPRESS开发包里带的,我只修改一些描述符.firmware中,一旦发生BUS RESET,就进入FULL SPEED模式,我在Bus reset中断里面清了端点,但主机并没有再重发上一个命令.是不是Bus reset中断处理不对.
用BUS HOUND 检测,是在Bus reset之前发生time out的.你的firmware中处理Bus reset中断的代码是怎样的,能给我看一下吗? 我另开贴给你分!! |
|
7楼#
发布于:2005-01-26 10:38
用户被禁言,该主题自动屏蔽! |
|
8楼#
发布于:2005-01-26 10:38
这是我检测的出错部分的数据:
20 CDB 2a 00 000000 26 00 00 01 00 WRITE 522.1.0 118us 20 CDB 2a 00 00 00 01 1b 00 00 01 00 WRITE 523.1.0 90us 19.2 LEN 1f 00 00 00 31 524.1.0 136us 19.2 DO 55 53 42 43 40 54 3e 84 00 02 00 00 00 00 0a 2a USBC@T>........* 524.2.0 4us 00 00 00 00 26 00 00 01 00 00 00 00 00 00 00 ....&.......... 524.2.16 19.2 LEN 00 02 00 00 512 525.1.0 227us 19.2 DO f8 ff ff 7f ff ff ff ff ff ff ff ff ff ff 08 00 . 525.2.0 5us 09 00 0a 00 0b 00 0c 00 0d 00 0e 00 0f 00 10 00 ................ 525.2.16 19.6 LEN 0d 00 00 00 13 526.1.0 12ms 19.6 DI 55 53 42 53 40 54 3e 84 00 00 00 00 00 USBS@T>...... 526.2.0 6us 20 LEN 00 02 00 00 512 522.2.0 109us 20 DO f8 ff ff 7f ff ff ff ff ff ff ff ff ff ff 08 00 ................ 522.3.0 4us 09 00 0a 00 0b 00 0c 00 0d 00 0e 00 0f 00 10 00 ................ 522.3.16 19.2 LEN 1f 00 00 00 31 527.1.0 123us 19.2 DO 55 53 42 43 68 a8 eb 84 00 02 00 00 00 00 0a 2a USBCh..........* 527.2.0 4us 00 00 00 01 1b 00 00 01 00 00 00 00 00 00 00 ............... 527.2.16 19.2 LEN 00 02 00 00 512 528.1.0 242us 19.2 DO f8 ff ff 7f ff ff ff ff ff ff ff ff ff ff 08 00 ................ 528.2.0 4us 09 00 0a 00 0b 00 0c 00 0d 00 0e 00 0f 00 10 00 ................ 528.2.16 20 CDB 00 00 00 00 00 00 TEST UNIT READY 529.1.0 257ms 20 SSTS 09 timeout 523.2.0 9.0sc 19 RSET 530.1.0 136us 20 CDB 25 00 00 00 00 00 00 00 00 00 READ CAPACITY 531.1.0 89us 20 CDB 2a 00 00 00 01 1b 00 00 01 00 WRITE 532.1.0 999ms 19 RSET 533.1.0 4.4sc |
|
9楼#
发布于:2005-01-26 10:44
是2.0芯片,Chirp是什么意思?我在中断中处理,有时能写几M的文件也没问题,有时就不行了
|
|
10楼#
发布于:2005-01-26 10:44
用户被禁言,该主题自动屏蔽! |
|
11楼#
发布于:2005-01-26 10:48
用户被禁言,该主题自动屏蔽! |
|
12楼#
发布于:2005-01-26 11:53
我作了测试,命令没响应,是因为主机发出的命令68013没有接到,或者是接到的命令与主机发出的不同,从而导致没响应.
|
|
13楼#
发布于:2005-01-26 11:58
我在主程序中处理命令,一个文件也写不进去,只能写一个扇区512字节.原来在中断中处理时,只能连续处理3个写命令,后来,我在发CSW后加了延时,就能有时写文件,有时不能写文件
|
|
14楼#
发布于:2005-01-26 12:04
用户被禁言,该主题自动屏蔽! |
|
15楼#
发布于:2005-01-26 12:55
你能发个demo给我吗?(C语言的),或者哪里有下?
lxping1023@126.com |
|
16楼#
发布于:2005-01-27 16:32
用户被禁言,该主题自动屏蔽! |
|