[发明专利]一种MCU自我备份加载刷新的方法有效
申请号: | 201610095745.X | 申请日: | 2016-02-22 |
公开(公告)号: | CN105760165B | 公开(公告)日: | 2019-09-06 |
发明(设计)人: | 刘钧;姚顺;冯颖盈;杨学锋;郑必伟 | 申请(专利权)人: | 深圳威迈斯新能源股份有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F11/14;G06F21/57 |
代理公司: | 深圳市康弘知识产权代理有限公司 44247 | 代理人: | 胡朝阳;孙洁敏 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 mcu 自我 备份 加载 刷新 方法 | ||
本发明公开了一种MCU自我备份加载刷新的方法,包括下列步骤:将MCU的FLASH分为Boot区、App区、Bak区和Flag区;MCU上电后首先在Boot区中读取Flag区中的标志位;判断进入App区还是在Boot区完成加载过程;如是App区,则往Flag区写入加载标志、软硬件版本号及模块地址信息后重启;如是Boot区,则判断是新加载还是之前加载失败恢复App数据;恢复App区数据则直接从Bak区中读取数据并更新到App区;新加载,则输入加载密钥,校验通过则将相关数据写入Bak区;从Bak区中取出数据写入App区,并更新App区代码;终止加载过程,重新启动并进入当前App区执行App程序。本发明仅靠MCU自身即可完成备份加载过程,节省外设成本也提高了加载功能的可靠性。
技术领域
本发明涉及应用程序备份和更新的方法,尤其涉及一种BootLoader进行在线加载刷新的通讯电源模块,通过MCU自带的大容量内存进行加载过程中的应用程序自我备份和更新的方法。
背景技术
通讯电源模块开发及市场应用中常常涉及应用程序升级,以修复BUG或增加新功能,此时会用到引导装载程序(BootLoader)加载刷新应用程序,常规的加载刷新方式是直接对APP区程序进行擦除,进而刷新程序,这种刷新方式简单,但当刷新失败时,模块无法继续正常工作,会一直处于等待刷新状态,直到人工再进行强制刷新,恢复正常APP程序才能继续工作。对于在偏远地方无人值守的大型通讯电源系统,通常一个系统框中有好几十个模块,利用此类刷新方式由于某些原因造成局部模块刷新失败时会导致这些模块宕机继而影响整个系统工作,此时需要人工现场处理,这样无疑影响客户体验和增加处理成本。
当前处理这种问题的方式多是通过增加一个外扩闪存(FLASH)或电可擦可编程只读存储器(EEPROM)之类的存储芯片进行程序备份,加载时会先将相关代码存入这类芯片,刷新时再从外扩芯片中读取相关代码并更新自身APP区,当更新失败时会自动重启并继续从外扩芯片中读取相关代码完成自我刷新。此类刷新方式解决了前面提出的问题,但通过外扩方式进行加载刷新一方面增加了成本,另一方面也不可靠,当自身芯片或外扩芯片线路受到干扰或异常时,将影响程序备份甚至导致彻底无法进行加载刷新。
发明内容
本发明针对上述现有技术存在的缺陷,提出一种单片机(MCU)自我备份加载刷新的方法。
本发明提出的技术方案是,一种MCU自我备份加载刷新的方法,包括下列步骤:
步骤1. 将MCU的FLASH分为以下四个用于存储不同的功能数据的部分:Boot区,用于执行加载过程;App区,用于存储正常应用程序代码;Bak区,用于存储应用程序代码备份数据;Flag区,用于掉电或重启过程中的数据保存;
步骤2.MCU上电后首先进入Boot区,在Boot区中读取Flag区中的标志位;
步骤3.判断进入App区还是在Boot区完成加载过程;
如果进入App区,则在代码执行过程中接收到加载请求后,判断软硬件版本号,当版本号满足要求时,往Flag区写入加载标志、软硬件版本号及模块地址信息后重启;当进入Boot区,则进入步骤4,开始执行加载过程;
步骤4.判断是新加载还是之前加载失败恢复App数据,如是恢复App区数据则直接从Bak区中读取数据并更新到App区;如果是新加载,则要求输入加载密钥;
步骤5.判断加载密钥是否正确,加载密钥匹配正确后开始接收数据并校验,校验通过则将相关数据写入Bak区;加载密钥不匹配则转步骤7;
步骤6.从Bak区中取出数据写入App区,并更新App区代码;
步骤7.终止加载过程,重新启动并进入当前App区执行App程序;
步骤8.重新启动,完成MCU的自我备份加载刷新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳威迈斯新能源股份有限公司,未经深圳威迈斯新能源股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610095745.X/2.html,转载请声明来源钻瓜专利网。