阅读:2731回复:6
关于U盘format中发现的问题,及我的解决方法。
最近困扰我的不能多次format的问题,终于有了一个初步的解决办法。
以我的系统中的16M的flash做为u盘为例。 在u盘操作中,大家知道有read format capacity和read capacity的命令。这两个命令请求知道u盘的容量和最后一个lba的地址(详细见ufi协议文档)。我的16M的flash我填入的0x8000,和0x7fff(以512字节为单位sector)。在填入上述值的情况下,发现format只能格式化一次。这个问题我也在论坛中多次问过,可是没有人回答。后来我把这两个值改为,0x7ef0和0x7ee0,这两个值是我随便取的。结果不能多次format的问题就解决了。 其实现在还是不知道这两个值该如何决定,从抓的别的u盘的包看都要比实际的flash的容量小,且read capacity中的last LBA address的值要比read format capacity中的值要小。 有哪位对这方面有了解我们可以讨论一下。 |
|
沙发#
发布于:2004-05-14 11:04
我做的32M的,以下两个命令的值为
read format capacity:0xfaff read capacity:0xfaff 在格式化时没有出现无法多次格式化的问题 后来取为 (不好意思开始写反了) read format capacity:0xffff read capacity:0xfaff 也没有出现无法多次格式化的问题 手册中 read capacity命令返回的为the last valid LBA for use with media access commands read format capacity命令返回的为the total number if addressable blocks for the descriptor\'s media type 按上所说一般read capacity中的last LBA address的值要比read format capacity中的值要小 [编辑 - 5/14/04 by chenchi1982] |
|
板凳#
发布于:2004-05-14 11:20
hi,bbiliu
你在format u disk时,有没碰到过,format的进度条结束后,W2K会有 \"windows was unable to complete the format\"弹出,但实际上FLASH已经被format了,一直不知道怎样去掉这个warning,急! |
|
|
地板#
发布于:2004-05-14 11:40
楼上的,如果你用0x10000到read format capacity用0xffff到read capacity试试,看会不会出现不能多次格式化的问题。
|
|
地下室#
发布于:2004-05-14 12:59
chenchi1982:
在u盘没有格式化的情况下,你的程序中对read format capacity和read capacity的应答是如何做的。 |
|
5楼#
发布于:2004-05-14 20:22
一样的处理啊
21.1 DO 55 53 42 43 20 8b ac ff USBC ... 10.1.0 fc 00 00 00 80 00 0a 23 .......# 10.1.8 00 00 00 00 00 00 00 fc ........ 10.1.16 00 00 00 00 00 00 00 ....... 10.1.24 21.1 DI 00 00 00 08 00 00 2f ff ....../. 11.1.0 03 00 02 00 .... 11.1.8 21.1 DI 55 53 42 53 20 8b ac ff USBS ... 12.1.0 f0 00 00 00 00 ..... 12.1.8 21.1 DO 55 53 42 43 20 8b ac ff USBC ... 13.1.0 08 00 00 00 80 00 0a 25 .......% 13.1.8 00 00 00 00 00 00 00 00 ........ 13.1.16 00 00 00 00 00 00 00 ....... 13.1.24 21.1 DI 00 00 2f ff 00 00 02 00 ../..... 14.1.0 21.1 DI 55 53 42 53 20 8b ac ff USBS ... 15.1.0 f0 00 00 00 00 ..... 15.1.8 |
|
6楼#
发布于:2009-07-10 11:11
andy083 我也遇到了这个问题
但是格式化也没写进去 你的问题解决了吗 如何解决的呢 |
|