阅读:1869回复:4
请教一个U盘固件的问题!
我想用ARM7和USBN9603做一个U盘,现在程序进入响应UFI命令阶段,任务栏已经出现U盘的标志,显示有mass storage连接。
根据各位大侠所说,当响应完12h命令后,就应该出现盘符,可是我的盘符没有出现,主机继续发出23h命令,我回答这个命令后,主机接着又发25h,回答后接着是28h(我28h的响应程序还没编好,于是主机就不停的重发28h),这是为什么啊? |
|
沙发#
发布于:2005-01-30 11:19
不错嘛。等你编好28h的响应程序就好了。
一个U盘插上,Windows要连续的发送12h(INQUIRY),23h(READ FORMAT CAPACITIES),25h(READ CAPACITY),28h(READ10),最后的这个READ10是要读取U盘的MBR。 如果这个READ10成功了,主机可能还会发送MODE SENSE命令。 然后,是一系列的READ10…… 你可以用Bus hound看看可用的U盘嘛。 |
|
|
板凳#
发布于:2005-01-31 15:43
据你所说28h(READ10)读取U盘的MBR,那么命令中的Logical Block Address值就应该总是0才对吧?可是我用Bus hound看主机发出的命令中Logical Block Address值是变化的,这是为什么?这个命令到底是有什么作用啊?
还有,在28h之后,主机又发了个1ah,这个命令的格式是什么啊,我在UFI Command Specification中找不到这个命令! |
|
地板#
发布于:2005-02-02 21:49
据你所说28h(READ10)读取U盘的MBR,那么命令中的Logical Block Address值就应该总是0才对吧?可是我用Bus hound看主机发出的命令中Logical Block Address值是变化的,这是为什么?这个命令到底是有什么作用啊? 在主机需要读取MBR的时候,Logical Block Address肯定是0。 不过,如果需要读取其它的扇区,那么LBA就肯定不是0了。 毕竟MBR只有512字节。 1A在SCSI中是MODE SENSE(6)命令。 |
|
|
地下室#
发布于:2005-02-03 10:24
注意ARM7中的4字节对齐问题, 再看一下自己结构
|
|