3067|5

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince上的flash读写问题 [复制链接]

  用writefile向文件中写数据,没有调用closehandle关闭文件。
  当系统重启的时候,writefile写的内容并没有保存在存储器上。
  如果调用FlushFileBuffers强制把数据写入存储器,程序执行完之后,存储器的空间就被占满了。
  请教各位有什么好的方法能解决这个问题

最新回复

问题解决了,guopeixin说的对,FlushFileBuffers一次的buffer不能太大,我是写满缓冲区再去交换的,这样造成了文件大小只占2M,但是其余的95M空间也没有了;如果FlushFileBuffers每次只交换几十个字节,就没有问题!谢谢各位  详情 回复 发表于 2009-12-9 14:57
点赞 关注

回复
举报

4

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
FlushFileBuffers函数的作用是保证在文件关闭之前所有的调用WriteFile写入磁盘的数据真正被写入磁盘

用writefile向文件中写数据  最后要判断是否写成功的
 
 

回复

1

帖子

0

TA的资源

禁止访问

板凳
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

4
 
to:调用FlushFileBuffers强制把数据写入存储器,程序执行完之后,存储器的空间就被占满
占满是什么意思?能不能描述一下具体的情况?
to:writefile写的内容并没有保存在存储器上,各位有什么好的方法能解决这个问
两种方法可供参考:
1、reset之前给ap驱动一个通知,保证当前的操作完成,但是这个要看你的ap写的质量是否很高,比如一次性写入的buffer不能太大等等
2、类似ap写不完而系统reset导致问题的情况,很难来进行完全cover。建议你在块驱动里面做一些处理,保证一些最小单位的写入完成,另外再加上上层的tfat或者texfat的配合
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 
“FlushFileBuffers强制把数据写入存储器”这样做有什么问题?数据是否正确写入?你所说的写满是因为本身数据就很大,还是出错了?
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

6
 
问题解决了,guopeixin说的对,FlushFileBuffers一次的buffer不能太大,我是写满缓冲区再去交换的,这样造成了文件大小只占2M,但是其余的95M空间也没有了;如果FlushFileBuffers每次只交换几十个字节,就没有问题!谢谢各位
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
【有奖直播】2025是德科技数字月-数字新品来助阵
直播时间:3月19日(周三)14:00
直播奖励:小米口红充电宝、倍思充电线、是德科技十周年鼠标垫

查看 »

 
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
快速回复 返回顶部 返回列表