bbiliu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2005-01-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:4375回复:3

关于u盘中的read capacity和read format capacity命令?

楼主#
更多 发布于:2004-05-10 17:18
这两个命令中都要求应答last LBA address 和number of blocks
,这两个字段怎么计算,是不是直接用flash的大小除以块的大小?
产看别的u盘的数据包,发现都比直接除的数据要小,为什么?

我用的是16M的FLASH,block 大小是512字节。
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-05-10 17:24
这个问题也困扰了我很久,我觉得都是一样的,都是最大的block数
bbiliu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2005-01-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-05-10 17:32
问题解决了,flash大小/block大小 -1 =read capacity命令中的last LBA address, flash大小/block大小 = read format capacity中的number of blocks 的值。
bbiliu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2005-01-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-05-10 17:38
其实如果只是单纯的u盘使用,只要是小于最大的block数就不会有什么问题,顶多浪费一点空间。
我在做现在这个项目的时候,因为系统内部还有一个文件系统(商业的),发现如果在u盘下格式化flash,然后用内部的文件系统的文件生成函数生成的文件,在u盘下是打不开的。把read capacity和read format capacity中的值该为32767(最后一个LBA地址,总块数减一)和32768就可以了。
游客

返回顶部