首页 DSP技术 嵌入式开发 电源技术 单片机学习 IC设计 工业自动化 无线通讯技术 嵌入式实时操作系统
驱动开发 CAN总线 EDA技术 PCB设计 8051单片机 MSP单片机 PIC单片机 电子基础
AVR单片机 ARM学习 LED论坛 FPGA论坛 周立功单片机 mp3开发 Flash闪存 手机方案

首页->ARM学习->正文

请教一个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字节对齐问题, 再看一下自己结构

<

 

相关资料:

设计软件及IP新品介绍、评测。仿真频率选择
计算机专业、电子专业,哪个更适合搞ARM?请问如果做静态图像处理的话ARM7的性能可以胜任么?
2410运行linux调试串口输出目录是乱码【附图】请问用uclinux一定要把源码弄懂是吗?如果只是应用呢?
ARM 进入中断会自动保存什么东西的?如果要办一个设计公司,ARM主要针对哪些客户?
现在大学里开设ARM课程吗?请大侠们指教---ADS支持AT91SAM7S256芯片吗?
谁有新版RealView开发套件哪里有免费的不受限制的keil uversion3
要想学会ARM,最好找哪方面的工作?一步一步教你开发嵌入式Linux应用程序
UCOS开关中断,求教!这种像是中断方式1 不像是中断方式请教netstat!!!关于hms30c7202的问题!!!

Copyright © 2005-2006 电子技术学习网 和 电子电路图网 均为 单片机设计网旗下网站