阅读:2192回复:10
NAND flash 文件系统配置求助!!紧急,谢谢各位大侠。
小弟初次来搞wince的驱动,现在在弄NAND flash的文件系统,遇到了几个问题,一直苦苦的摸索但是没有解决。
问题大致如下: 1、只有当配置以下三个注册表参数全部为1时,才能mount上,现在把AutoFormat 或者AutoPart 设置为0,就不能mount上,不知道啥原因。 AutoMount = 00000001 AutoPart = 00000001 AutoFormat = 00000001 2、当设置以上三个注册表参数全部为1时,可以mount上,但是当重新启动后,上一次写的文件,在重启后无法读取,也就是根本没有保存下来。但是通过打印,在执行ReadFile时,会调用FLASH的FMD_WriteSector函数,而且写入正确了。估计是每次的格式化把它给删除掉了,但是如果每次都必须要格式化的话,就根本无法保存文件。也不知道啥原因? 3、格式化失败的打印信息 4294786560 PID:400002 TID:640002 FormatDisk!FormatVolume: New FAT #0 successfully written 4294786700 PID:400002 TID:640002 FormatDisk!FormatVolume: New root directory successfully written 4294786725 PID:400002 TID:640002 FormatDisk!FormatVolume: New BPB successfully written 4294786732 PID:400002 TID:640002 FormatDisk!FormatVolume complete. 4294786754 PID:400002 TID:640002 FSDMGR!MountFileSystemDriver: failed formatting disk before mounting!4294786759 PID:400002 TID:640002 FSD_MountDisk: Mounting volume for hDsk=D0047370 4294786771 PID:400002 TID:640002 FMD_ReadSector+ dwNumSectors = 1 ,startSectorAddr = 0x 4294786792 PID:400002 TID:640002 FATFS!ReadRegistryValues: Registry flags = 0x24 4294786796 PID:400002 TID:640002 FATFS!ReadRegistryValues: Force write through enabled 4294786800 PID:400002 TID:640002 FATFS!ReadRegistryValues: Automatic formatting enabled 4294786804 PID:400002 TID:640002 FATFS!ReadRegistryValues: Transact data disabled 4294786807 PID:400002 TID:640002 FATFS!ReadRegistryValues: Security Support disabled 望各位wince的大侠多多指点,小弟在此不胜感激 |
|
沙发#
发布于:2007-05-21 13:49
AutoFormat = 00000001
没有找到MBR的情况下,才会format,找到MBR的情况下,应该不会format的 你是在eboot里面创建分区的吗? 重启就format 感觉是写的时候没写进去呢 偶也不知道了 搬个板凳做到等大侠来指点 |
|
|
板凳#
发布于:2007-05-21 15:54
就是在wince下面让它自动分区的,eboot下没有分区
|
|
地板#
发布于:2007-05-22 20:57
这种现象是因为你写的函数不对,没有把系统要写的数据写到FLASH上,
或者是读的函数不对,读出来有错,所以文件系统认为它没有格式化过这个分区, 每次启动就会格式化. 还有,SECTOR INFO也要正确保存与读出. |
|
|
地下室#
发布于:2007-05-23 09:47
数据是写入正确的,读取出来了。但是MBR的位置不在第一个page。
另外如果不能写入正确,那怎么mount的上,并且读写文件都正确。 问题就出在,自动分区格式化重启后,wince就不认识了。 |
|
5楼#
发布于:2007-05-23 15:12
那楼上有什么方法呢
这里我使用的是255平台~ 出现了同样的问题 问过一些人,他们也都说读写出错~可是所有单步处理后也没有发现什么问题 奇怪,问题解决中 |
|
6楼#
发布于:2007-05-23 15:14
每次之所以能购 mount 其实就是因为 format了
在format之前是错误的,也就是说写错了~~多数情况下 |
|
7楼#
发布于:2007-05-23 17:37
我用的是CE6.0的平台,苦闷啊。
|
|
8楼#
发布于:2007-05-24 20:50
有啥结果了?
|
|
9楼#
发布于:2007-05-28 10:28
我的已经搞定了。
本人初次搞wince的驱动,曾经搞了3年的vxworks bsp和驱动,与wince差异很大。 所以痛苦了这么一段时间。 我的问题原因是,spare的16个字节保存的不对,文件系统需要这些重要信息。 |
|
10楼#
发布于:2007-05-30 10:29
spare的16个字节保存的不对
能否详细一点说明呢? |
|