OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6580|回复: 6

对于在spiflash写操作的时候掉电而进行的数据保护措施

[复制链接]

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2016-3-16
在线时间
7 小时
发表于 2016-4-13 21:37:30 | 显示全部楼层 |阅读模式
在对spiflash或其他flash进行写操作(没有文件系统)时最长遇到的问题是正在写的时候断电,这时要写的数据没有写进去,那么在下次读取的时候就会造成很严重的后果。
在读取数据的时候可以加一些校验来保证数据的完整性。
1、我们在读取数据时,最先需要知道的就是数据的长度。
那么断电可能导致长度错误,解决方法我遇到的是,每次在写长度的时候,要在两个不同的扇区记录,还要在另外一个扇区记录哪个扇区记录的长度是有效的,进而来保证断电后不会导致严重的后果。
2、使用spiflash存储升级程序时,更要注意如果升级失败,导致程序无法运行的后果。那么就要在flash中划分两个区域都用来做app程序的存储,如果升级失败还可以用另外一块的app程序运行。

我的感觉是这样的操作很麻烦,大家有没有其他的简便又使用的方法吗?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2016-3-16
在线时间
7 小时
 楼主| 发表于 2016-4-16 15:42:26 | 显示全部楼层
回复 支持 反对

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2016-3-16
在线时间
7 小时
 楼主| 发表于 2016-4-26 21:22:42 | 显示全部楼层
自己顶顶
回复 支持 反对

使用道具 举报

43

主题

481

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1352
金钱
1352
注册时间
2014-12-24
在线时间
321 小时
发表于 2016-4-26 22:18:00 | 显示全部楼层
在论坛问别人,等了这么长时间,这么久足够将此问题以多种方式个解决一遍了
没有啥简单办法啊!想简单就告诉使用者在某些情况下不准断电。或者把问题丢给做硬件的,让他们在检测到断电后再给你保持一段时间
回复 支持 反对

使用道具 举报

1

主题

192

帖子

0

精华

高级会员

Rank: 4

积分
596
金钱
596
注册时间
2014-4-14
在线时间
104 小时
发表于 2016-4-27 08:58:46 | 显示全部楼层
上个法拉电容,做个掉电检测,确保掉电之后还能有足够的能量结束FLASH操作,不产生文件碎片是最彻底的办法。
回复 支持 反对

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2016-3-16
在线时间
7 小时
 楼主| 发表于 2016-5-23 14:36:33 | 显示全部楼层
jinggx 发表于 2016-4-26 22:18
在论坛问别人,等了这么长时间,这么久足够将此问题以多种方式个解决一遍了。
没有啥简单办法啊! ...

我没有等这么长时间来解决这个问题,我已经说了自己的方法,而且,方法也是可行的。只是想跟大家讨论一下有没有更好的方法而已。
回复 支持 反对

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2016-3-16
在线时间
7 小时
 楼主| 发表于 2016-5-23 14:37:13 | 显示全部楼层
翼间 发表于 2016-4-27 08:58
上个法拉电容,做个掉电检测,确保掉电之后还能有足够的能量结束FLASH操作,不产生文件碎片是最彻底的办法 ...

嗯,是个办法
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 08:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表