阅读:4374回复:3
关于u盘中的read capacity和read format capacity命令?
这两个命令中都要求应答last LBA address 和number of blocks
,这两个字段怎么计算,是不是直接用flash的大小除以块的大小? 产看别的u盘的数据包,发现都比直接除的数据要小,为什么? 我用的是16M的FLASH,block 大小是512字节。 |
|
沙发#
发布于:2004-05-10 17:24
这个问题也困扰了我很久,我觉得都是一样的,都是最大的block数
|
|
板凳#
发布于:2004-05-10 17:32
问题解决了,flash大小/block大小 -1 =read capacity命令中的last LBA address, flash大小/block大小 = read format capacity中的number of blocks 的值。
|
|
地板#
发布于:2004-05-10 17:38
其实如果只是单纯的u盘使用,只要是小于最大的block数就不会有什么问题,顶多浪费一点空间。
我在做现在这个项目的时候,因为系统内部还有一个文件系统(商业的),发现如果在u盘下格式化flash,然后用内部的文件系统的文件生成函数生成的文件,在u盘下是打不开的。把read capacity和read format capacity中的值该为32767(最后一个LBA地址,总块数减一)和32768就可以了。 |
|