共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 跳转至页
回复
打赏帖 | |
---|---|
分享一种检测按键状态的方法被打赏20分 | |
周末总结一下,STM32C0系列的开发经验被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下定时器配置被打赏20分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下PWM配置被打赏20分 | |
【Cortex-M】Systick Timer使用被打赏10分 | |
分享汽车防盗系统的组成与分类(一)被打赏5分 | |
VOFA+波形显示+JYD-31蓝牙发送和解析不定长数据被打赏10分 | |
【换取手持数字示波器】-STM32F4PWM控制LED灯管亮度被打赏22分 | |
【换取手持数字示波器】STM32F4驱动RPR-0521RS照度、接近一体型传感器被打赏23分 | |
宏定义和const关键字定义被打赏5分 |