共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 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流! | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
【有奖活动】震撼来袭!这场直播将直击工程师的心灵! | |
“我想要一部加热台”活动,不花钱赢取开发好工具!活动开始了哦 | |
【有奖活动】伙伴们:您的“需求”解决了吗? |
打赏帖 | |
---|---|
如何实现基于NXPiMX.RT1021的BH1730采集被打赏50分 | |
【换取手持数字示波器】AHT10温度检测分享被打赏40分 | |
【换取手持数字示波器】ACM32F070开发板点亮LCD屏和触控按键,串口,ADC被打赏40分 | |
【换取手持数字示波器】ACM32F070LCD屏和触控按键功驱动蜂鸣器分享被打赏40分 | |
【换取手持数字示波器】国民技术PWM功能知识分享被打赏40分 | |
【换取手持数字示波器】放大器运放知识分享被打赏40分 | |
【分享评测,赢取加热台】+开关电源AC输入知识分享被打赏30分 | |
【换取手持数字示波器】N32G430点亮数码管与串口打印、ADC被打赏40分 | |
老胖子聊电路--分析一个反馈电路被打赏50分 | |
【换取手持数字示波器】+点亮WS2812RGB灯被打赏50分 |