一种监测单片机升级成功与否的方法技术

技术编号:38396690 阅读:16 留言:0更新日期:2023-08-07 11:10
本发明专利技术提供一种监测单片机升级成功与否的方法,包括以下步骤:将单片机通过辅助装置安装在检测装置上进行检测,在检测时将单片机的flash分成五个区:BOOT区、PARAM区、APP区、BACKUP区、OLDVERSION区,制作差分压缩包,下载保存至单片机flash的BACKUP区;利用MD5对BACKUP区的差分压缩包校验通过后,置位PARAM区的升级标志、清零当前升级次数,然后系统复位进入BOOT区运行bootloader程序。本发明专利技术提供的一种监测单片机升级成功与否的方法,若单片机发生了升级文件错误或单片机拷贝覆盖APP区错误等这类错误,该方法会自动发现该类错误并拷贝OLDVERSION区的旧版本bin文件,确保单片机正常运行application,即,假若单片机升级出问题了,单片机也不会一直卡在BOOT区的bootloader中。bootloader中。bootloader中。

【技术实现步骤摘要】
一种监测单片机升级成功与否的方法


[0001]本专利技术涉及单片机监测领域,尤其涉及一种监测单片机升级成功与否的方法。

技术介绍

[0002]单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统。
[0003]目前,在单片机升级方法中一般将单片机flash分为至少两个区:APP区与BOOT区,其中APP区运行application程序,BOOT区运行bootloader程序,若考虑更安全可靠的单片机升级,一般还会分BACK区,临时备份升级文件的flash区域,在单片机升级过程中,先将升级文件下载保存至flash中后,跳转至BOOT区运行bootloader程序,在bootloader中一般校验升级文件、校验通过后将升级文件更新至APP区、更新完成后跳转至APP区运行application程序,在这整个单片机升级过程中,一般会用CRC16、MD5对升级文件进行校验,以及一些加密算法对升级文件进行保护,来避免一些错误导致的升级失败,假若碰到升级文件本身错误、升级文件更新覆盖APP区错误等这类错误时,单片机程序从BOOT区无法成功跳转至APP区运行application,这类错误,目前除了业务流程管理外,并无一种有效的方法对单片机升级过程进行监测以及避开这类错误,使单片机程序不至于“跑飞”。
[0004]单片机升级过程中,可能会出现升级文件本身错误、升级文件更新覆盖APP区错误等这类错误,这将导致单片机程序从BOOT区无法成功跳转至APP区运行application,从而导致单片机程序“跑飞”了。
[0005]因此,有必要提供一种监测单片机升级成功与否的方法解决上述技术问题。

技术实现思路

[0006]本专利技术提供一种监测单片机升级成功与否的方法,解决了单片机升级过程中,可能会出现升级文件本身错误、升级文件更新覆盖APP区错误等这类错误,这将导致单片机程序从BOOT区无法成功跳转至APP区运行application,从而导致单片机程序“跑飞”的问题。
[0007]为解决上述技术问题,本专利技术提供的一种监测单片机升级成功与否的方法,包括以下步骤:
[0008]S1、将单片机通过辅助装置安装在检测装置上进行检测,在检测时将单片机的flash分成五个区:BOOT区、PARAM区、APP区、BACKUP区、OLDVERSION区;
[0009]S2、制作差分压缩包,下载保存至单片机flash的BACKUP区;利用MD5对BACKUP区的差分压缩包校验通过后,置位PARAM区的升级标志、清零当前升级次数,然后系统复位进入BOOT区运行bootloader程序;
[0010]S3、检测PARAM区的当前升级次数是否超限,若未超限再检查PARAM区是否有需要升级的标志,若有,调用差分还原算法与lzma解压算法,将BACKUP区的差分包还原成新版本bin,并写入APP区;若没有升级标志,则直接跳转至APP区运行application,执行第五步,若
当前升级次数已超限,直接拷贝OLDVERSION区旧版本bin数据至APP区;
[0011]S4、开启窗口看门狗,PARAM区的当前升级次数加1,程序跳转至APP区,运行application;
[0012]S5、在application开始处执行清除升级标志、清零当前升级次数、关闭窗口看门狗以及将新版本bin文件写入OLDVERSION区等功能的程序;
[0013]S6、若窗口看门狗未产生系统复位,单片机运行application正常,由于application中关闭了窗口看门狗,窗口看门狗不再会产生系统复位;
[0014]S7、若窗口看门狗产生了系统复位,则会执行S3。
[0015]优选的,所述S1中的BOOT区是指bootloader所在的flash区域,一般32kbyte。
[0016]优选的,所述S1中的PARAM区是指存放单片机升级相关的参数,一般为flash的一个扇区。
[0017]优选的,所述S1中的BACKUP区是指下载保存升级文件的flash区域,一般16kbyte以内。
[0018]优选的,所述S1中的APP区是指存放旧版本bin文件的flash区,所述OLDVERSION区是指存放旧版本bin文件的flash区。
[0019]优选的,所述S6中的窗口看门狗不再会产生系统复位,表明单片机升级成功。
[0020]优选的,所述S3中当检测PARAM区的当前升级次数已超限,直接拷贝OLDVERSION区旧版本bin数据至APP区。
[0021]优选的,所述S4中的的窗口看门狗作用于自动监测单片机的升级过程,并拥有一定的纠错能力,确保单片机成功运行APP的application,即避免单片机升级出问题。
[0022]优选的,所述S1中的BOOT区作用于假若单片机升级出问题,单片机也不会一直卡在BOOT区的bootloader中,会自动拷贝正确的bin文件,成功跳转至APP区运行application。
[0023]优选的,所述S4中的看门狗当前升级次数的超限次数可设置为三次。
[0024]与相关技术相比较,本专利技术提供的一种监测单片机升级成功与否的方法具有如下有益效果:
[0025]本专利技术提供一种监测单片机升级成功与否的方法,若单片机发生了升级文件错误或单片机拷贝覆盖APP区错误等这类错误,该方法会自动发现该类错误并拷贝OLDVERSION区的旧版本bin文件,确保单片机正常运行application,即,假若单片机升级出问题了,单片机也不会一直卡在BOOT区的bootloader中,会自动拷贝正确的bin文件,成功跳转至APP区运行application。
附图说明
[0026]图1为本专利技术提供的一种监测单片机升级成功与否的方法的第一实施例的结构示意图。
具体实施方式
[0027]下面结合附图和实施方式对本专利技术作进一步说明。
[0028]第一实施例
[0029]请结合参阅图1,其中,图1为本专利技术提供的一种监测单片机升级成功与否的方法的第一实施例的结构示意图。一种监测单片机升级成功与否的方法,包括以下步骤:
[0030]S1、将单片机通过辅助装置安装在检测装置上进行检测,在检测时将单片机的flash分成五个区:BOOT区、PARAM区、APP区、BACKUP区、OLDVERSION区;
[0031]S2、制作差分压缩包,下载保存至单片机flash的BACKUP区;利用MD5对BACKUP区的差分压缩包校验通过后,置位PARAM区的升级标志、清零当前升级次数,然后系统复位进入BOOT区运行bootloader程序;
[0032]S3、检测PARAM区的当前升级次数是否超限,若未超限再检查PA本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种监测单片机升级成功与否的方法,其特征在于,包括以下步骤:S1、将单片机通过辅助装置安装在检测装置上进行检测,在检测时将单片机的flash分成五个区:BOOT区、PARAM区、APP区、BACKUP区、OLDVERSION区;S2、制作差分压缩包,下载保存至单片机flash的BACKUP区;利用MD5对BACKUP区的差分压缩包校验通过后,置位PARAM区的升级标志、清零当前升级次数,然后系统复位进入BOOT区运行bootloader程序;S3、检测PARAM区的当前升级次数是否超限,若未超限再检查PARAM区是否有需要升级的标志,若有,调用差分还原算法与lzma解压算法,将BACKUP区的差分包还原成新版本bin,并写入APP区;若没有升级标志,则直接跳转至APP区运行application,执行第五步;S4、开启窗口看门狗,PARAM区的当前升级次数加1,程序跳转至APP区,运行application;S5、在application开始处执行清除升级标志、清零当前升级次数、关闭窗口看门狗以及将新版本bin文件写入OLDVERSION区等功能的程序;S6、若窗口看门狗未产生系统复位,单片机运行application正常,由于application中关闭了窗口看门狗,窗口看门狗不再会产生系统复位;S7、若窗口看门狗产生了系统复位,则会执行S3。2.根据权利要求1所述的监测单片机升级成功与否的方法,其特征在于,所述S1中的BOOT区是指bootloader所在的flash区域,一般32kbyte。3.根据权利要求1所述的监测单片机升...

【专利技术属性】
技术研发人员:刘民强张朋廖家华吴文凯
申请(专利权)人:湖南华医电磁医学研究院有限公司
类型:发明
国别省市:

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

1