一种基于硬拷贝的MCU模拟EEPROM的数据保护方法技术

技术编号:27684986 阅读:14 留言:0更新日期:2021-03-17 03:47
本发明专利技术公开了一种基于硬拷贝的MCU模拟EEPROM的数据保护方法,所述方法包括以下步骤:步骤S1:在Flash定义一段内存区域用于NVM数据的硬拷贝;步骤S2:上电初始化时先判断NVM的状态是否存在异常;步骤S21:判断NVM能否进行自恢复;步骤S3:判断NVM是否进行过写访问操作;步骤S4:判断NVM初始化数据和硬拷贝Flash数据是否一致;步骤S5:分别对NVM初始化数据和硬拷贝Flash数据进行CRC校验。本发明专利技术的基于硬拷贝的MCU模拟EEPROM的数据保护方法通过NVM和FLASH的配合使用,实现了将NVM数据硬拷贝到FLASH上,保证了在NVM出现异常后能恢复所需要的关键数据。

【技术实现步骤摘要】
一种基于硬拷贝的MCU模拟EEPROM的数据保护方法
本专利技术涉及电子
,具体涉及一种基于硬拷贝的MCU模拟EEPROM的数据保护方法。
技术介绍
很多的MCU控制器不带有,但是我们有时候鉴于成本的考虑又不想外扩EEPROM,所以经常用Flash来模拟EEPROM存储,编程和擦除操作的灵活性使得它适合用于断电时必须保留的,以及在运行时需要单独更新的应用变量的数据存储。NVM所存储的数据中,很多关键数据是不能丢失的,比如电机控制中的转子初始位置,整车的零件号等重要信息,当NVM出现异常并不能进行自动修复时会导致MCU不能正常启动,这时我们需要对NVM进行擦写操作,擦写后NVM中的所有数据都丢失了,这时我们就有必要找出一种方法来保证在NVM出现异常后能恢复我们所需要的关键数据。现有EEPROM的数据保护方法基本为以下两种:1、外部EEPROM的数据保护方法:使用硬件手段对EEPROM的写操作进行了保护;通过使用户编程来启动或禁止软件控制的数据保护功能。2、将外部EEPROM分为数据区和备份区,数据区损坏,使用备份区数据进行恢复,备份区损坏,使用CRC16算法与RAID5对备份区以及数据区的数据进行恢复。基于上述情况,本专利技术提出了一种基于硬拷贝的MCU模拟EEPROM的数据保护方法,可有效解决以上问题。
技术实现思路
本专利技术的目的在于提供一种基于硬拷贝的MCU模拟EEPROM的数据保护方法。本专利技术的基于硬拷贝的MCU模拟EEPROM的数据保护方法通过NVM和FLASH的配合使用,实现了将NVM数据硬拷贝到FLASH上,保证了在NVM出现异常后能恢复所需要的关键数据。本专利技术通过下述技术方案实现:一种基于硬拷贝的MCU模拟EEPROM的数据保护方法,所述方法包括以下步骤:步骤S1:在Flash定义一段内存区域用于NVM数据的硬拷贝;步骤S2:上电初始化时先判断NVM的状态是否存在异常;若存在异常,则进入步骤S21;若不存在异常,则进入步骤S3;步骤S21:判断NVM能否进行自恢复;若能进行自恢复,则进入步骤S3;若不能进行自恢复,则需要对NVM进行擦除操作;步骤S3:判断NVM是否进行过写访问操作;若进行过写访问操作,则将NVM中的数据作为NVM的初始化数据;若没进行过写访问操作,则将硬拷贝Flash中的数据作为NVM的初始化数据;步骤S4:判断NVM初始化数据和硬拷贝Flash数据是否一致;若一致,则进入步骤S5;若不一致,则进入步骤S41;步骤S41:擦除硬拷贝Flash中的数据,并将NVM初始化数据拷贝到硬拷贝Flash中;步骤S5:分别对NVM初始化数据和硬拷贝Flash数据进行CRC校验;若校验通过,则进行下一步;若校验不通过,则进入步骤S41。本专利技术的目的在于提供一种基于硬拷贝的MCU模拟EEPROM的数据保护方法。本专利技术的基于硬拷贝的MCU模拟EEPROM的数据保护方法通过NVM和FLASH的配合使用,实现了将NVM数据硬拷贝到FLASH上,保证了在NVM出现异常后能恢复所需要的关键数据。优选的,所述步骤S1中需要在Flash中开辟一段内存区域用于NVM数据的硬拷贝,该内存区域需具有可读、可擦、可写功能。优选的,在程序运行过程中,当检测到NVM异常,不需要立即对NVM进行异常处理。优选的,在下电过程中,满足下电条件时计时器开始计时,若NVM存储失败,则强制下电。优选的,在使用BootLoader进行更新应用程序过程中,在进入刷写模式前判断NVM中的数据和硬拷贝Flash中的数据是否一致;若不一致,将NVM中的数据拷贝到硬拷贝Flash中并擦除NVM,待APP更新完成后,将硬拷贝Flash中的数据写入到NVM中。优选的,当所述计时器计时小于10s且NVM数据存储完成,进行正常下电;当计时器计时大于等于10s时,若NVM数据存储仍未完成,则做强制下电处理。本专利技术与现有技术相比,具有以下优点及有益效果:本专利技术的基于硬拷贝的MCU模拟EEPROM的数据保护方法通过NVM和FLASH的配合使用,实现了将NVM数据硬拷贝到FLASH上,保证了在NVM出现异常后能恢复所需要的关键数据。附图说明图1为本专利技术上电初始化的流程图;图2为本专利技术运行过程中NVM数据保护流程图;图3为本专利技术程序刷写NVM数据保护流程图。具体实施方式为了使本领域的技术人员更好地理解本专利技术的技术方案,下面结合具体实施例对本专利技术的优选实施方案进行描述,但是应当理解,附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本专利的限制。实施例1:如图1至3所示,一种基于硬拷贝的MCU模拟EEPROM的数据保护方法,所述方法包括以下步骤:步骤S1:在Flash定义一段内存区域用于NVM数据的硬拷贝;步骤S2:上电初始化时先判断NVM的状态是否存在异常;若存在异常,则进入步骤S21;若不存在异常,则进入步骤S3;步骤S21:判断NVM能否进行自恢复;若能进行自恢复,则进入步骤S3;若不能进行自恢复,则需要对NVM进行擦除操作;步骤S3:判断NVM是否进行过写访问操作;若进行过写访问操作,则将NVM中的数据作为NVM的初始化数据;若没进行过写访问操作,则将硬拷贝Flash中的数据作为NVM的初始化数据;步骤S4:判断NVM初始化数据和硬拷贝Flash数据是否一致;若一致,则进入步骤S5;若不一致,则进入步骤S41;步骤S41:擦除硬拷贝Flash中的数据,并将NVM初始化数据拷贝到硬拷贝Flash中;步骤S5:分别对NVM初始化数据和硬拷贝Flash数据进行CRC校验;若校验通过,则进行下一步;若校验不通过,则进入步骤S41。分别对HardCopy_Flash和HardCopy_Flash_RAM进行CRC16校验。循环冗余校验码(CRC),简称循环码,是一种常用的、具有检错、纠错能力的校验码。实施例2:如图1至3所示,一种基于硬拷贝的MCU模拟EEPROM的数据保护方法,所述方法包括以下步骤:步骤S1:在Flash定义一段内存区域用于NVM数据的硬拷贝;使用参数HardCopy_Flash作为硬拷贝Flash中的数据,Flash为可重复擦写的程序存储器,NVM和EEPROM均为非易失性存储器。步骤S2:上电初始化时先判断NVM的状态是否存在异常;若存在异常,则进入步骤S21;若不存在异常,则进入步骤S3;步骤S21:判断NVM能否进行自恢复;若能进行自恢复,则进入步骤S3;若不能进行自恢复,则需要对NVM进行擦除操作;检测到NVM异常后进行自恢复,本文档来自技高网...

【技术保护点】
1.一种基于硬拷贝的MCU模拟EEPROM的数据保护方法,其特征在于:所述方法包括以下步骤:/n步骤S1:在Flash定义一段内存区域用于NVM数据的硬拷贝;/n步骤S2:上电初始化时先判断NVM的状态是否存在异常;若存在异常,则进入步骤S21;若不存在异常,则进入步骤S3;/n步骤S21:判断NVM能否进行自恢复;若能进行自恢复,则进入步骤S3;若不能进行自恢复,则需要对NVM进行擦除操作;/n步骤S3:判断NVM是否进行过写访问操作;若进行过写访问操作,则将NVM中的数据作为NVM的初始化数据;若没进行过写访问操作,则将硬拷贝Flash中的数据作为NVM的初始化数据;/n步骤S4:判断NVM初始化数据和硬拷贝Flash数据是否一致;若一致,则进入步骤S5;若不一致,则进入步骤S41;/n步骤S41:擦除硬拷贝Flash中的数据,并将NVM初始化数据拷贝到硬拷贝Flash中;/n步骤S5:分别对NVM初始化数据和硬拷贝Flash数据进行CRC校验;若校验通过,则进行下一步;若校验不通过,则进入步骤S41。/n

【技术特征摘要】
1.一种基于硬拷贝的MCU模拟EEPROM的数据保护方法,其特征在于:所述方法包括以下步骤:
步骤S1:在Flash定义一段内存区域用于NVM数据的硬拷贝;
步骤S2:上电初始化时先判断NVM的状态是否存在异常;若存在异常,则进入步骤S21;若不存在异常,则进入步骤S3;
步骤S21:判断NVM能否进行自恢复;若能进行自恢复,则进入步骤S3;若不能进行自恢复,则需要对NVM进行擦除操作;
步骤S3:判断NVM是否进行过写访问操作;若进行过写访问操作,则将NVM中的数据作为NVM的初始化数据;若没进行过写访问操作,则将硬拷贝Flash中的数据作为NVM的初始化数据;
步骤S4:判断NVM初始化数据和硬拷贝Flash数据是否一致;若一致,则进入步骤S5;若不一致,则进入步骤S41;
步骤S41:擦除硬拷贝Flash中的数据,并将NVM初始化数据拷贝到硬拷贝Flash中;
步骤S5:分别对NVM初始化数据和硬拷贝Flash数据进行CRC校验;若校验通过,则进行下一步;若校验不通过,则进入步骤S41。


2.根据权利要求1所述的基于硬拷贝的MCU模拟EEPROM的数据保...

【专利技术属性】
技术研发人员:马丽宋瑞芳徐晶晶尹家骅
申请(专利权)人:浙江阿尔法汽车技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1