| 首页 | DSP技术 | 嵌入式开发 | 电源技术 | 单片机学习 | IC设计 | 工业自动化 | 无线通讯技术 | 嵌入式实时操作系统 |
| 驱动开发 | CAN总线 | EDA技术 | PCB设计 | 8051单片机 | MSP单片机 | PIC单片机 | 电子基础 |
| AVR单片机 | ARM学习 | LED论坛 | FPGA论坛 | 周立功单片机 | mp3开发 | Flash闪存 | 手机方案 |
请教一个U盘固件的问题!
问题: 我想用ARM7和USBN9603做一个U盘,现在程序进入响应UFI命令阶段,任务栏已经出现U盘的标志,显示有mass storage连接。
根据各位大侠所说,当响应完12h命令后,就应该出现盘符,可是我的盘符没有出现,主机继续发出23h命令,我回答这个命令后,主机接着又发25h,回答后接着是28h(我28h的响应程序还没编好,于是主机就不停的重发28h),这是为什么啊?
回答 1:不错嘛。等你编好28h的响应程序就好了。
一个U盘插上,Windows要连续的发送12h(INQUIRY),23h(READ FORMAT CAPACITIES),25h(READ CAPACITY),28h(READ10),最后的这个READ10是要读取U盘的MBR。
如果这个READ10成功了,主机可能还会发送MODE SENSE命令。
然后,是一系列的READ10……
你可以用Bus hound看看可用的U盘嘛。
回答 2:据你所说28h(READ10)读取U盘的MBR,那么命令中的Logical Block Address值就应该总是0才对吧?可是我用Bus hound看主机发出的命令中Logical Block Address值是变化的,这是为什么?这个命令到底是有什么作用啊?
还有,在28h之后,主机又发了个1ah,这个命令的格式是什么啊,我在UFI Command Specification中找不到这个命令!
回答 3:[quote] 据你所说28h(READ10)读取U盘的MBR,那么命令中的Logical Block Address值就应该总是0才对吧?可是我用Bus hound看主机发出的命令中Logical Block Address值是变化的,这是为什么?这个命令到底是有什么作用啊?
还有,在28h之后,主机又发了个1ah,这个命令的格式是什么啊,我在UFI Command Specification中找不到这个命令!
[/quote]
在主机需要读取MBR的时候,Logical Block Address肯定是0。
不过,如果需要读取其它的扇区,那么LBA就肯定不是0了。
毕竟MBR只有512字节。
1A在SCSI中是MODE SENSE(6)命令。
回答 4:注意ARM7中的4字节对齐问题, 再看一下自己结构
<
相关资料:
| Copyright © 2005-2006 电子技术学习网 和 电子电路图网 均为 单片机设计网旗下网站 |