共2条
1/1 1 跳转至页
430 探讨一下430的数据存储问题
问
请大家探讨一下在430中要维护一个若干数据记录形式的数据存储(不外接EEPROM),则只能存储在信息存储器中或片内FLASH内,但是430内的FLASH是段式的,即删除或修改一条数据记录则必须先删除当前段,即其它数据记录也必须删除,所以更新一条数据记录就必须删除当前段重新写入,即各条记录实际是同时删除和写入的,但FLASH写入次数也就是100000次左右,如本次写入出错,则也调不出上次的数据记录,并不能因为采用了数据记录形式的数据管理形式而提高了系统可靠性。大家对此有何看法?
答 1:
这样理解不对。不知道你的记录多长字节一条啊!
我做的产品中10个字节一条记录,我也是保存到Flash中的,有一全局变量用来保存记录的总个数,当要保存一条新记录时,先通过记录总个数变量×10再加上这段FLASH的基地址,就可以确定下一个保存记录的起始位置了,然后把新记录保存上!记录总个数加1,这样,1段FLASH(假设512字节)可以保存51条记录,当记录满时才进行一次擦除FLASH段操作!然后再保存新的记录。
因为擦除时记录会全部丢失,可以采用2段FLASH备用,第1段写满时写第2段,第2段写满时擦第一段,再写第一段,当第一段满时,擦第二段,这样相会备用,能时钟保存住最近保存过的记录。 答 2: 梁哥确实高见!! 答 3: 引用: 答 4: "全局变量用来保存记录的总个数"这个全局变量保存在哪呢?是不是在10个字节中 答 5: 引用: 答 6: xiaoliang说的我也考虑过,但是这样对全局变量的依赖性较大,如全局变量出错,则数据记录就失去了意义,对提高系统可靠性没有很大帮助。不论是铁电或EEPROM,都需在片外增加新的芯片,没有必要。 答 7: 引用: 答 8: 引用: 答 9: 是的! 答 10: 引用: 答 11: 引用:
我做的产品中10个字节一条记录,我也是保存到Flash中的,有一全局变量用来保存记录的总个数,当要保存一条新记录时,先通过记录总个数变量×10再加上这段FLASH的基地址,就可以确定下一个保存记录的起始位置了,然后把新记录保存上!记录总个数加1,这样,1段FLASH(假设512字节)可以保存51条记录,当记录满时才进行一次擦除FLASH段操作!然后再保存新的记录。
因为擦除时记录会全部丢失,可以采用2段FLASH备用,第1段写满时写第2段,第2段写满时擦第一段,再写第一段,当第一段满时,擦第二段,这样相会备用,能时钟保存住最近保存过的记录。 答 2: 梁哥确实高见!! 答 3: 引用: 答 4: "全局变量用来保存记录的总个数"这个全局变量保存在哪呢?是不是在10个字节中 答 5: 引用: 答 6: xiaoliang说的我也考虑过,但是这样对全局变量的依赖性较大,如全局变量出错,则数据记录就失去了意义,对提高系统可靠性没有很大帮助。不论是铁电或EEPROM,都需在片外增加新的芯片,没有必要。 答 7: 引用: 答 8: 引用: 答 9: 是的! 答 10: 引用: 答 11: 引用:
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图四被打赏50分 | |
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 |