6433|18

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于wince 在读写flash时候突然掉电的问题 [复制链接]

昨天,一应用程序员反问了这个问题

在写向flash写数据的时候,突然断电,下次再启动的时候。这个文件变成不可读写了,说是写保护了。

请问大家是否遇到这种情况了?

我看了两个类似的帖子。
http://topic.eeworld.net/u/20080616/11/C34E5388-9A67-4579-9D8A-D61E14CA713A.html
http://topic.eeworld.net/u/20080731/16/80CBBA93-B42B-4BA3-885E-433150D50009.html

感觉很相似。

我起初以为是我的flash驱动有问题,但是我拿一个老外进口的手持机尝试一样断电,也会这样。

那些老帖提到用什么大电容保持电一段时间,觉得听上去可以,但是未必可行。

问了一些网友,他们说他们的机子不会,他也没有做什么保障措施,他们说wince文件系统做了保护。咋我的就会呢?
还有windows XP 突然断电,就会重新检测硬盘才行,wince是否可以这样做做呢?又该如何实现呢?

欢迎大家指点。

此帖出自WindowsCE论坛

最新回复

汗,研究过再讨论好不。jffs主要针对nor,yaffs才是nand。你能想象开发的东西用yaffs,插上windows却识别不出来吗。技术是技术,产品是产品。ExFAT和yaffs无法相提并论。  详情 回复 发表于 2009-5-22 08:57
点赞 关注
 

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
那个貌似是微软的 fat 文件系统的通病了,
linux 下一般采用 jffs 文件系统,它能够较好的避免这个问题
此帖出自WindowsCE论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
建议 LZ 将 TFAT(Transaction-Safe FAT File System) 加入, 可大大地提高 File System 的稳定性.

Paul, Chao @ Techware
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 1 楼 paul_chao 的回复:
建议 LZ 将 TFAT(Transaction-Safe FAT File System) 加入, 可大大地提高 File System 的稳定性.

Paul, Chao @ Techware


TFAT和FAT可以共存的吗?

直接选上去就可以了?这个我要看看怎么使用先。编译的DLL和FAT一样,还是要自己在reg bib文件修改的?
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 
Paul, Chao 太厉害了,帮助我不少,加分100
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

6
 
晕,明天才能加。
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 
MSDN关于TFAT和FAT的差异, 感觉TFAT主要改进就是2个FATs 不是同时更新的,而是在操作前更新备份的FAT, 操作完成后再更新另一个FAT, 这样文件要么全部写入, 要么全部没有写入,可以防止突然掉电造成FAT表混乱.
——试试使用TFAT先!
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 6 楼 gooogleman 的回复:
MSDN关于TFAT和FAT的差异, 感觉TFAT主要改进就是2个FATs 不是同时更新的,而是在操作前更新备份的FAT, 操作完成后再更新另一个FAT, 这样文件要么全部写入, 要么全部没有写入,可以防止突然掉电造成FAT表混乱.
——试试使用TFAT先!

TFAT相比FAT好很多,不过如果你的设备使用Mass Storage的话,还是要权衡一下,使用TFAT的设备在
使用Mass Storage挂载到PC端并不能做到完全兼容。
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

9
 
为啥一定要向某人询问?开个玩笑

产生这个问题的原因主要是由于FAT文件系统本身的问题和NandFlash的特性,本人认为改善这个问题有几个方案,第一个保证供电状态,第二个就是用TFAT,不过TFAT WinXP不认,好知为之。
此帖出自WindowsCE论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

10
 
引用 9 楼 xbsmail 的回复:
为啥一定要向某人询问?开个玩笑

产生这个问题的原因主要是由于FAT文件系统本身的问题和NandFlash的特性,本人认为改善这个问题有几个方案,第一个保证供电状态,第二个就是用TFAT,不过TFAT WinXP不认,好知为之。


一直以为断点之后文件损坏是无解的
现在才知道还有这样的方法,改天试试。
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 9 楼 xbsmail 的回复:
为啥一定要向某人询问?开个玩笑

产生这个问题的原因主要是由于FAT文件系统本身的问题和NandFlash的特性,本人认为改善这个问题有几个方案,第一个保证供电状态,第二个就是用TFAT,不过TFAT WinXP不认,好知为之。


能连上同步软件即可,不管那么多。
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

12
 
LZ, 您 registry 有沒有加入

"Flags"=dword:00640024   ;FATFS_TFAT_ALWAYS|FATFS_FORCE_TFAT|FATFS_TRANS_DATA

這個值啊, 沒加它還是跑 FATFS 哦

Paul, Chao @ Techware
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

13
 
“不可读写”?也无法打开了?那说明此文件已经损坏。

文件在写入时处于“写保护”,直到写完才会取消保护,允许别的程序访问。瞬间掉电,那么文件肯定无法完全写完整,保护的特性还存在,但是在FAT表中已经有对应的记录,所以能看到,只是文件实际上不完整,那么就无法真实的访问了。

文件的保护跟操作系统和文件系统有很大的关联,不是一个软件能解决的。至少FAT到NTFS都无法解决,否则XP也不需要再自检了。

WINCE也可以做,不过好像必要性不大吧。
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

14
 
; @CESYSGEN IF CE_MODULES_TFAT
   fatfsd.dll       $(_FLATRELEASEDIR)\tfat.dll                NK  SH
   diskcache.dll    $(_FLATRELEASEDIR)\diskcache.dll           NK  SH
; @CESYSGEN ELSE
; @CESYSGEN IF CE_MODULES_FATFSD
   fatfsd.dll       $(_FLATRELEASEDIR)\fatfsd.dll                NK  SH
   diskcache.dll    $(_FLATRELEASEDIR)\diskcache.dll             NK  SH
; @CESYSGEN ENDIF
; @CESYSGEN ENDIF

——哦,选上即可。但是要注意不能FAT和TFAT都选,否则FAT会覆盖掉TFAT的。
此帖出自WindowsCE论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

15
 
现在编译完了,你们意思不能在PC用同步软件看?但是我现在可以啊。
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

16
 
TFAT只解决了一部分问题,换上MLC试试,包死的挺挺的。
XP认肯定是没问题的,不过TFAT被FAT写过以后,就没有TFAT特性了。要完全支持,安装补丁包吧。
此帖出自WindowsCE论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

17
 
引用 13 楼 clementzhao 的回复:
TFAT只解决了一部分问题,换上MLC试试,包死的挺挺的。
XP认肯定是没问题的,不过TFAT被FAT写过以后,就没有TFAT特性了。要完全支持,安装补丁包吧。


我更新了2008 和2007全年的补丁了。
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

18
 
引用 14 楼 wogoyixikexie_gliet 的回复:
引用 13 楼 clementzhao 的回复:
TFAT只解决了一部分问题,换上MLC试试,包死的挺挺的。
XP认肯定是没问题的,不过TFAT被FAT写过以后,就没有TFAT特性了。要完全支持,安装补丁包吧。


我更新了2008 和2007全年的补丁了。


extfat的补丁啊,别理解错了
此帖出自WindowsCE论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

19
 
引用 15 楼 morris88 的回复:
那个貌似是微软的 fat 文件系统的通病了,
linux 下一般采用 jffs 文件系统,它能够较好的避免这个问题


汗,研究过再讨论好不。jffs主要针对nor,yaffs才是nand。你能想象开发的东西用yaffs,插上windows却识别不出来吗。技术是技术,产品是产品。ExFAT和yaffs无法相提并论。
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表