[发明专利]一种基于单片机的可回溯的升级方法在审
申请号: | 202110406869.6 | 申请日: | 2021-04-15 |
公开(公告)号: | CN113127035A | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 严海龙;马慧娇;刘雄江;袁宏亮;林栋 | 申请(专利权)人: | 沃太能源股份有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F11/10;G06F11/14;G06F1/24 |
代理公司: | 苏州威世朋知识产权代理事务所(普通合伙) 32235 | 代理人: | 杨林洁 |
地址: | 226100 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 单片机 回溯 升级 方法 | ||
本发明公开了一种基于单片机的可回溯的升级方法,包括以下步骤:单片机上电,运行BOOT代码;进行上电复位检测,包括以下步骤:对应用程序区进行CRC计算,与数据存储区的CRC比对;对比通过:执行应用程序,应用程序运行过程中若收到升级指令则擦除备份区,对备份区进行写入操作,若升级数据暂停则停止写入flash,继续执行上述步骤;若收到结束升级指令与CRC值,则写入CRC值至数据存储区,执行上述步骤,此时,进行软件复位检测;比对不通过:报错“flash损坏”,每次开机BMU均会对应用程序区进行校验,防止意外的flash损坏导致运行后出现意外故障;升级失败后可自动退回应用程序继续工作;Boot内代码极少,只有搬运flash的代码,易于维护,不易出错。
技术领域
本发明涉及单片机技术领域,具体为一种基于单片机的可回溯的升级方法。
背景技术
目前单片机的应用日益广泛,其应用范围包括工业自动化、仪器仪表、家用电器、信息和通信产品及军事装备等。为了提高产品的竞争力,设备厂商所生产的产品在其售后服务上均最大程度地提供其最新的应用软件,这就要求设备支持自动给单片机升级的能力。
现有技术中,对单片机的在线升级方式可能会由于网络波动、升级中途掉电、通讯线路不稳导致应用程序丢失。虽然可以继续升级,但是程序丢失之后系统将会报通讯丢失错误,暂时会处于故障模式。如果一直无法升级成功,系统将会持续处于故障模式。
由于设备内的单片机的数量多、种类不一,CN109358887A公布了一种单片机程序的在线升级方法、装置及系统,针对在对不同的单片机的程序进行升级时,会出现其他单片机对应的程序文件升级到另一不同功能的单片机的情况,从而导致升级失败或者异常,具体的,是通过将MCU控制器的内部程序Flash进行分区,第一区域用于存储引导加载程序,第二区域用于存储应用程序,第三区域用于存储标志位信息可以通过应用程序来执行与升级和其他功能,引导加载程序用来根据第二标志位信息的内容选择是否进行在线升级,并将待更新的程序数据更新至程序数据区,进行分区以后,使得单片机即可以运行具有在线升级功能的程序,也能运行应用程序;通过在线升级功能程序,对自身的应用程序进行在线升级。但是,上述公布的方法,不能对升级过程进行回溯,即,当出现网络波动、升级中途掉电、通讯线路不稳等因素导致的应用程序丢失,同样会造成升级失败,并且,因为一直无法升级成功,系统将会持续处于故障模式,所以,针对于上述因素造成的升级失败,需要一种可回溯的升级方法。
有些单片机有一个很强大的功能是支持应用程序中编程在线升级,即应用程序自己可以往程序存储器里写数据或修改程序。单片机的升级方法为:单片机上电后根据升级标志位判断是否升级,若确定升级,则从中央处理器下载升级程序并覆盖原有的应用程序,然后清除升级标志位并重启,单片机运行升级程序,这种升级方式不能确保升级后单片机正常运行,甚至还会缩短单片机的使用寿命,针对上述单片机升级方法出现的问题,CN108021381A公布了设备的单片机升级方法及装置,具体的是,只有在升级成功并校验升级程序成功后,才会将升级程序覆盖应用程序,若升级失败或者校验升级程序失败,都会将应用程序覆盖升级程序,并运行应用程序,来确保单片机正常运行;并且,由于采用发送指令的方式通知单片机执行相应的操作,无需读写升级标志位,不会对单片机的寿命产生任何影响。但是,上述升级方法不能保证新的程序具有问题时,会造成单片机持续性故障,为了解决故障,需要回溯到原来的程序,但是,上述方式的升级方法是新的应用程序完全覆盖原有的程序,原有程序丢失,所以,针对上述缺陷,需要能够将单片机程序回溯到初始的某个版本,而不是简单地覆盖,所以,需要一种基于单片机的可回溯的升级方法。
发明内容
本发明的目的在于提供一种基于单片机的可回溯的升级方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于单片机的可回溯的升级方法,包括以下步骤:
S1:单片机上电,运行BOOT代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于沃太能源股份有限公司,未经沃太能源股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110406869.6/2.html,转载请声明来源钻瓜专利网。