发明名称 一种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自身即可完成备份加载过程,节省外设成本也提高了加载功能的可靠性。
申请公布号 CN105760165A 申请公布日期 2016.07.13
申请号 CN201610095745.X 申请日期 2016.02.22
申请人 深圳威迈斯电源有限公司 发明人 刘钧;姚顺;冯颖盈;杨学锋;郑必伟
分类号 G06F9/44(2006.01)I;G06F11/14(2006.01)I;G06F21/57(2013.01)I 主分类号 G06F9/44(2006.01)I
代理机构 深圳市康弘知识产权代理有限公司 44247 代理人 胡朝阳;孙洁敏
主权项 一种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的自我备份加载刷新。
地址 518000 广东省深圳市南山区科技园北区五号路风云大厦4楼