打印

flash存储和读取问题

[复制链接]
1284|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
e08610318|  楼主 | 2013-12-27 11:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的是NXP的设备,LPC1765,Cortext-M3架构,跑ucos系统。
关于FLASH存储和读取的问题一直困扰我半年多了,一直没有很好的解决,最近在项目收官之际,专心去调试解决FLASH问题。
具体如下,有220字节的数据需要存入FLASH,使用16位CRC校验,之前考虑的机制是,计算好CRC后,写FLASH,然后读FLASH,检验读出来的数据CRC是否校验通过,如果不通过,反复地写FLASH,直到读出来的数据校验成功为止。
现在的问题是,我发现我成功写入FLASH后(确认读出来的数据CRC正确),我重启设备,重启后设备读取FLASH,这个时候有可能会出现CRC校验失败的情况,考虑了很多情况,代码进行了多次修改调试都不行。
后来考虑使用2块FLASH内存,其中一块专门用作备份,就是担心在写FLASH时设备掉电时使用的,写FLASH时主FLASH和备份FLASH同时写,当时考虑到如果出现掉电情况,至少有一块FLASH的内容是完整的,这样的话设备重启后不至于参数会被初始化(这是很危险的情况),但是实际测试后也不理想,主要原因还是上面提到的问题。


相关帖子

沙发
zchong| | 2013-12-28 21:08 | 只看该作者
很奇怪啊,是内部flash吗?
如果是内部flash的话,建议看一下器件的flash编程指南(ST的有),看看那是不是有些地方操作不当

使用特权

评论回复
板凳
e08610318|  楼主 | 2013-12-30 09:37 | 只看该作者
zchong 发表于 2013-12-28 21:08
很奇怪啊,是内部flash吗?
如果是内部flash的话,建议看一下器件的flash编程指南(ST的有),看看那是不是 ...

FLASH驱动是官方给的,主要调用内嵌的IAP代码,问题应该不大

使用特权

评论回复
地板
nefudongfang| | 2014-1-2 09:10 | 只看该作者
换页写试试呢......   

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:你可能不知道今天所做的事情会对未来有多大的干预能力!

67

主题

310

帖子

12

粉丝