发明名称 一种基于MCU的FLASH不丢失更新存储方法
摘要 本发明公开了一种基于MCU的FLASH不丢失更新存储方法,通过将同一数据分别存储在FLASH的主存储区和备份存储区,在更新数据时先擦除并更新主存储区,然后更新擦除备份存储区。如果在擦除主存储区时发生掉电等异常情况,导致MCU的RAM和FLASH主存储区数据丢失,则备份存储区不受影响,数据完整,保持更新前的值,如果在擦除备份存储区时发生掉电等异常情况,导致MCU的RAM和FLASH备份存储区数据丢失,则主存储区不受影响,数据完整,保持更新后的值。因此能在发生意外的情况下保持数据的完整性,保证光模块的正常运行。
申请公布号 CN103914393A 申请公布日期 2014.07.09
申请号 CN201410146020.X 申请日期 2014.04.11
申请人 四川华拓光通信股份有限公司 发明人 范巍;陈气超
分类号 G06F12/02(2006.01)I;G06F12/16(2006.01)I 主分类号 G06F12/02(2006.01)I
代理机构 北京远大卓悦知识产权代理事务所(普通合伙) 11369 代理人 史霞
主权项 一种基于MCU的FLASH不丢失更新存储方法,其特征在于包括以下步骤:步骤一、将MCU的FLASH划分为主存储区和备份存储区,所述主存储区具有多个对应页,且所述备份存储区具有等数的相应对应页,将待存储的数据的所有字节依次分别存储到所述主存储区的一个对应页和所述备份储存区的相应对应页,并且在主存储区的该对应页存储完所述数据的最后一个字节时,添加一个预定的有效性鉴别标志;步骤二、更新主存储区的对应页上的数据时,MCU读出该对应页上的数据至MCU的RAM中并更新待修改的字节,然后MCU擦除中主存储区中该对应页上存储的数据,然后将RAM中更新后的数据的所有字节依次写入主存储区中该对应页上;如果写完最后一个字节时,则在主存储区中该对应页上再写入该预定的有效性鉴别标志数据,之后MCU擦除备份存储区的相应对应页上的数据,再将RAM中更新后的数据的所有字节依次写入备份储区中该对应页上,如果写完最后一个字节时,则再写入该预定的有效性鉴别标志数据;如果未写完所有字节,则不在主存储区中该对应页上写入该预定的有效性鉴别标志数据;步骤三、MCU执行上电初始化操作,即MCU检测主存储区的对应页上是否存在所述预定的有效性鉴别标志,如果存在,MCU将读取主存储区的该对应页上存储的数据至RAM,然后删除备份存储区数据,再将RAM内数据写入备份存储区;如果不存在,则MCU读出备份储存区的相应对应页上存储的数据至RAM,然后删除主存储区上的数据,再将RAM内的数据写入到相应的主存储区的对应页上。
地址 621000 四川省绵阳市金家林总部经济试验区