SD卡压力测试,快速插拔卡就会出SD卡被格式化了

IT铁哥 2012-03-28 11:36:16
SD卡压力测试,快速插拔卡就会出SD卡被格式化了。
引起格式化的原因是因为读出卡的分区信息好像不对。然后引起后面invalid BPB, volume deemed invalid,然后就被格式化了。

不知有没有大侠碰到过这种问题。或者有好的建议也可以帮忙提出,谢谢!!qq732393618

[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
"FriendlyName"="FAT FileSystem"
"Dll"="fatfsd.dll"
"Flags"=dword:00020014 ;;这个要怎么设才会不让格式化。 "Paging"=dword:1
"EnableCache"=dword:1
"CacheSize"=dword:0
"Util"="fatutil.dll"
"CacheDll"="diskcache.dll"

DEBUG打印信息如下:


0x837ff8c8: SDHCControllerIst - Card is Inserted!
0x83820bb0: SHCSDSlotOptionHandler - Setting Host Control Register 0
0x83820bb0: SDSetCardInterfaceForSlot - HC ClockRate differs desired setting: desired: 100000 Hz, Actual : 97656 Hz
0x83820bb0: HandleErrors - ERROR INT STATUS=0x01
0x83820bb0: DumpCurrentRequest: 0x00054394
0x83820bb0: Command: 5
0x83820bb0: Argument: 0x00000000
0x83820bb0: ResponseType: 5
0x83820bb0: NumBlocks: 0
0x83820bb0: BlockSize: 0
0x83820bb0: HCParam: 0
0x83820bb0: HandleErrors - Command line error (0x1). Resetting CMD line.

0x83820bb0: SDSynchronousBusRequest_I: queue request failed(0xc0000014),TransferClass(2), CommandCode(5),CommandArgument(0)

0x83820bb0: HandleErrors - ERROR INT STATUS=0x01
0x83820bb0: DumpCurrentRequest: 0x00054394
0x83820bb0: Command: 1
0x83820bb0: Argument: 0x00300000
0x83820bb0: ResponseType: 4
0x83820bb0: NumBlocks: 0
0x83820bb0: BlockSize: 0
0x83820bb0: HCParam: 0
0x83820bb0: HandleErrors - Command line error (0x1). Resetting CMD line.

0x83820bb0: SDSynchronousBusRequest_I: queue request failed(0xc0000014),TransferClass(2), CommandCode(1),CommandArgument(300000)
SDBusDriver: The SDIO card does not support block mode. Use Soft-Block instead.
0x83820bb0: SHCSDSlotOptionHandler - Setting Host Control Register 0
0x83820bb0: HandleAddDevice: LoadDevice type = 2, slot 00x83820bb0: DEVICE!RegReadActivationValues RegQueryValueEx(\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class\High_Capacity\BusPrefix) returned 2

0x83820bb0: SDMemory: +SMC_Init

0x83820bb0: SDGetDeviceHandle: ActivePath: Drivers\Active\55
0x83820bb0: SDGetClientFunctions: +Init
0x83820bb0: SDGetClientFunctions: -Init
0x83820bb0: SDMemCardConfig: Card is high capacity (2.0+)

0x83820bb0: SDMemCalcDataAccessClocks: Tpd:f ns, Asynch: f ns, AsyncClocks:0 , SyncClocks: 1078198272, ReadTotal: 0, Write Factor: 1093567616 WriteTotal: 25000
0x83820bb0: SDMemory: Initialize: Using block transfer size of 64 blocks

0x83820bb0: SDMemory: Idle Timeout: 2000 Idle Power State: 2

0x83820bb0: SDMemory: Power Management Setup complete
0x83820bb0: SDMemory: -SMC_Init

0x83fbad34: [NOTIFY] HandleSystemEvent 7 /ADD DSK2:

0x83fe9b90: SDMemory: GetDeviceInfo - Profile = SDMemory, length = 18

0x83fe9b90: SDMemory: GetStorageID Insufficient buffer space

SDMemory: -GetStorageID

0x83fe9b90: Loading partition driver mspart.dll hModule=83FADE88

0x83fe9b90: Driver mspart.dll loaded

0x83fe9b90: Opened the store hSt

0x83fe9b90: NumSec=7577600 BytesPerSec=512 FreeSec=0 BiggestCreatable=0

0x83fe9b90: Partition Part00 NumSectors=7569408

0x83fe9b90: MSPART!PD_OpenPartition: dwStoreId=000DB6B0, PartName=Part00
0x83fe9b90: FSD_MountDisk: mounting volumes for hDsk=000E5170

0x83fe9b90: SDMemory: GetDeviceInfo - Profile = SDMemory, length = 18

0x83fe9b90: FATFS!OpenVolume: access time updates disabled

0x83fe9b90: FATFS!OpenVolume: event logging enabled

0x83fe9b90: FATFS!OpenVolume: automatic scanning disabled

0x83fe9b90: FATFS!OpenVolume: write verify disabled

0x83fe9b90: FATFS!OpenVolume: extra FAT on format enabled

0x83fe9b90: FATFS!OpenVolume: force write through disabled

0x83fe9b90: FATFS!OpenVolume: Codepage = 1

0x83fe9b90: FATFS!OpenVolume: Number of path cache entries = 50

0x83fe9b90: FATFS!InitVolume: sector 0 byte 0 suspicious (0x0)

0x83fe9b90: FATFS!InitVolume: invalid BPB, volume deemed invalid

0x83fe9b90: FATFS!InitVolume: FAT version: 12

0x83fe9b90: FATFS!InitVolume: Cluster Size (Sectors): 0

0x83fe9b90: FATFS!InitVolume: TFAT enabled: FALSE

0x83fe9b90: FormatDisk!FormatVolume: New extended boot sector successfully written

...全文
487 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
WINCEANDROID 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

我这是SD卡,
对SD卡的驱动没有完全吃透。看样子还要慢慢来。
从协议开始。
[/Quote]

楼主问题解决了吗??
IT铁哥 2012-05-17
  • 打赏
  • 举报
回复
不建议快速插拔卡,最好等SD卡加载好后再拔出来。
IT铁哥 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
引用 9 楼 的回复:

我这是SD卡,
对SD卡的驱动没有完全吃透。看样子还要慢慢来。
从协议开始。


楼主问题解决了吗??
[/Quote]

九鼎创展,呵呵。是哪位大侠??
IT铁哥 2012-05-17
  • 打赏
  • 举报
回复
;FATFS_DISABLE_AUTOFORMAT 0x00000040 disable automatic formatting of unformatted volumes

按道理"Flags" = dword:64 就可以将FormatVolume 这个功能去掉了。
但是FATFS里面有个 VOLF_SECUREWIPE不知是做什么的。
强行做了FormatVolume 。修改一下,应该就OK了。
gooogleman 2012-04-04
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
我遇到过这种情况。
那是2009 年11月份这样。
我插入我的手机SD卡 到TQ2440 上,我的妈啊。出来后发现所有相片,数据全不见了。
被迅速格式化了,所以我对TQ2440 从此很恐惧。呵呵,
我有很多重要的相片的,但是被格式化掉了。真是悲催!
[/Quote]
插进去拔出来,就全没有了,应该和楼主现象一样,不过当时没有深入研究。至今不懂怎么回事。
gooogleman 2012-04-04
  • 打赏
  • 举报
回复
我遇到过这种情况。
那是2009 年11月份这样。
我插入我的手机SD卡 到TQ2440 上,我的妈啊。出来后发现所有相片,数据全不见了。
被迅速格式化了,所以我对TQ2440 从此很恐惧。呵呵,
我有很多重要的相片的,但是被格式化掉了。真是悲催!
IT铁哥 2012-03-31
  • 打赏
  • 举报
回复
我这是SD卡,
对SD卡的驱动没有完全吃透。看样子还要慢慢来。
从协议开始。
David_Hu 2012-03-30
  • 打赏
  • 举报
回复
好像最终还是调用 了你对flash block那里操作的,包括你前面说的读出卡的分区信息好像不对,这里也可以查一下,读的分区信息是nand驱动里的。
看是读的不对,还是没读到或是返回的值不对
IT铁哥 2012-03-30
  • 打赏
  • 举报
回复
这是FSFAT里面的东东。
David_Hu 2012-03-29
  • 打赏
  • 举报
回复
我觉得楼主应该是可以跟下去的,看为什么会调用format
woshi_ziyu 2012-03-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 2 楼 的回复:
这种问题 一般需要改驱动的代码

FAT File System Registry Settings

Storage Manager Registry Settings

http://www.cnblogs.com/Jade2009/archive/2010/1/22.html


你说的这个配置,我改了,但
FATFS!OpenVolume:……
[/Quote]
看一下具体的代码呢
IT铁哥 2012-03-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
这种问题 一般需要改驱动的代码

FAT File System Registry Settings

Storage Manager Registry Settings

http://www.cnblogs.com/Jade2009/archive/2010/1/22.html
[/Quote]

你说的这个配置,我改了,但
FATFS!OpenVolume: extra FAT on format enabled
总是这样子。
IT铁哥 2012-03-28
  • 打赏
  • 举报
回复
不是吧,就这么沉掉了。

19,519

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧