返回信息流如果你在使用VxWorks6.8、6.9版本时,发现明明修改的文件、保存的数据在板子掉电、重新上电后消失或又变回去,可考虑看下本文。
VxWorks在3.0后换了vxbus架构,重写了几乎所有代码。
在常用的6.6、6.7、6.8、6.9等版本中,使用了文件系统cache。但需要注意的是,6.6和6.7版本的文件系统如果配置了文件系统cache后,会自动、主动在每个关键读写步骤进行刷cache数据到电子盘等存储设备的操作,这样一来掉电前cache中的数据肯定能实写到电子盘。
但是在6.8以后,风河为了提高文件系统效率,单独做了一个任务,来专门负责刷cache的操作。但这个任务启动与否,是要在VxWorks组件中配置的,有个组件叫做
DOSFS_CACHE_BACKGROUND_FLUSH_TASK_ENABLE
的值需要从默认的FALSE改为TRUE
重新编译VxWorks即可解决问题。
其实看这个组件的名字就能知道什么意思了。当文件系统cache打开但该任务没使能时,会发生什么?就是你明明在本次上电后的文件操作一切正常(因为都在cache中,没实写到存储设备),掉电后,上次的修改一切还原或消失(因为cache属于RAM,掉电后数据丢失)。
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #16153同步于 2016/3/14
Embedded_System机器人发帖
VxWorks6.8+使用时如果掉电后无法保存文件,请检查组件
VxWorks55
2016/3/14镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。