一种程序升级方法、装置及电子设备制造方法及图纸

技术编号:39318669 阅读:16 留言:0更新日期:2023-11-12 16:00
本发明专利技术公开一种程序升级方法、装置及电子设备。设备内的存储区包括第一存储区、第二存储区和中转区,待升级的旧程序存储在第一存储区,该方法包括:下载新程序至第二存储区;依次循环执行以下刷写步骤:将第一存储区的旧程序中预设大小的数据发送至中转区,将第二存储区的新程序中预设大小的数据发送至第一存储区,将中转区中预设大小的数据发送至第二存储区;当实际执行步数达到指定步数时完成刷写,指定步数与程序大小有关。本发明专利技术在升级中断时,可依据当前实际执行步数继续刷写,避免程序升级发生错误导致内存损坏、模块故障甚至报废的问题,若升级失败可回到之前的旧程序,无需回到出厂状态,无需使用外部flash即可保证程序升级安全性。级安全性。级安全性。

【技术实现步骤摘要】
一种程序升级方法、装置及电子设备


[0001]本专利技术涉及程序升级
,具体而言,涉及一种程序升级方法、装置及电子设备。

技术介绍

[0002]目前,进行程序升级时,采用的是单boot单app或单boot双app的方式,boot区作为在线升级的引导,boot储存进行在线升级的驱动程序且该驱动程序是在上电时执行,app储存应用程序且在boot程序跳转之后执行。
[0003]但是,上述方式对于安全方面的考虑不足,由于没有冗余系统,一旦发生错误,会造成内存损坏、数据错误,最终导致模块故障甚至报废。对此,目前主要的解决方法是在外部flash中备份一份出厂程序,当升级失败时,可以直接恢复出厂设置,但使用外部flash会增加成本。
[0004]针对现有技术中如何在不额外增加成本的情况下保证程序升级安全性的问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]本专利技术实施例提供一种程序升级方法、装置及电子设备,以至少解决现有技术中如何在不额外增加成本的情况下保证程序升级安全性的问题。
[0006]为解决上述技术问题,本专利技术实施例提供了一种程序升级方法,设备内的存储区包括第一存储区、第二存储区和中转区,待升级的旧程序存储在所述第一存储区,所述方法包括:
[0007]下载新程序至所述第二存储区;
[0008]依次循环执行以下刷写步骤:将所述第一存储区的旧程序中预设大小的数据发送至所述中转区,将所述第二存储区的新程序中预设大小的数据发送至所述第一存储区,以及,将所述中转区中预设大小的数据发送至所述第二存储区;
[0009]当实际执行步数达到指定步数时,完成刷写,其中,所述指定步数与程序大小有关。
[0010]可选的,在依次循环执行刷写步骤的过程中,包括:
[0011]每执行一步刷写,将本次刷写的源区域中对应位置的内容清除,且实际执行步数加一,再执行下一步刷写;或者,
[0012]每执行一步刷写,对本次刷写的目标区域所接收的数据帧进行校验,校验通过后,将本次刷写的源区域中对应位置的内容清除,且实际执行步数加一,再执行下一步刷写。
[0013]可选的,将所述新程序中预设大小的数据发送至所述第一存储区,包括:将本次刷写的数据写入所述第一存储区中的第一目标位置,其中,所述第一目标位置为上一步刷写时所述第一存储区中清除内容所空出的位置;
[0014]将所述中转区中预设大小的数据发送至所述第二存储区,包括:将本次刷写的数
据写入所述第二存储区中的第二目标位置,其中,所述第二目标位置为上一步刷写时所述第二存储区中清除内容所空出的位置。
[0015]可选的,在依次循环执行刷写步骤之前,还包括:对所述新程序的大小和所述旧程序的大小进行比较,确定出二者中较大的值;计算所述较大的值与所述预设大小的比值再乘以3,得到所述指定步数。
[0016]可选的,上述方法还包括:若刷写过程中出现中断,重新上电后,根据当前实际执行步数确定待刷写地址;根据所述待刷写地址继续进行刷写。
[0017]可选的,根据当前实际执行步数确定待刷写地址,包括:计算所述当前实际执行步数与3的比值;根据所述比值确定所述待刷写地址。
[0018]可选的,在完成刷写之后,还包括:
[0019]加载已刷写至所述第一存储区的新程序,以进行试运行;
[0020]若试运行成功,则确定程序升级成功;
[0021]若试运行失败,则失败次数加一,并重新加载所述第一存储区的新程序;
[0022]若失败次数达到预设次数,则确定程序升级失败,通过循环刷写将所述第一存储区中的内容恢复为所述旧程序。
[0023]可选的,所述中转区的大小大于或等于所述预设大小;若每一步刷写都进行校验,则所述中转区的大小大于或等于所述预设大小与校验信息的大小的和。
[0024]可选的,在下载新程序至所述第二存储区之前,还包括:将所述第二存储区清空。
[0025]本专利技术实施例还提供了一种程序升级装置,设备内的存储区包括第一存储区、第二存储区和中转区,待升级的旧程序存储在所述第一存储区,所述装置包括:
[0026]下载模块,用于下载新程序至所述第二存储区;
[0027]循环刷写模块,用于依次循环执行以下刷写步骤:将所述第一存储区的旧程序中预设大小的数据发送至所述中转区,将所述第二存储区的新程序中预设大小的数据发送至所述第一存储区,以及,将所述中转区中预设大小的数据发送至所述第二存储区;
[0028]确定模块,用于当实际执行步数达到指定步数时,完成刷写,其中,所述指定步数与程序大小有关。
[0029]本专利技术实施例还提供了一种电子设备,包括:本专利技术实施例所述的程序升级装置。
[0030]本专利技术实施例还提供了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本专利技术实施例所述方法的步骤。
[0031]本专利技术实施例还提供了一种非易失性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本专利技术实施例所述方法的步骤。
[0032]应用本专利技术的技术方案,将旧程序和新程序存储在设备内的不同区域,利用设备内的中转区,以预设大小为单位进行程序的循环刷写,通过记录实际执行步数能够保存升级进度,当升级过程中断时,能够依据当前的实际执行步数继续进行刷写升级,避免程序升级发生错误时导致内存损坏、模块故障甚至报废的问题,若升级失败,可回到之前的旧程序,无需回到出厂状态,提高用户体验,在无需使用外部flash额外增加成本的前提下,保证了程序升级的安全性。并且完成程序刷写后,可按照原BootLoader引导地址直接加载运行,无需更改BootLoader引导地址,较为便捷。
附图说明
[0033]图1是本专利技术实施例一提供的程序升级方法的流程图;
[0034]图2是本专利技术实施例二提供的循环刷写的示意图;
[0035]图3是本专利技术实施例二提供的程序升级流程示意图;
[0036]图4是本专利技术实施例三提供的程序升级装置的结构框图。
具体实施方式
[0037]为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。
[0038]需要说明的是,本专利技术的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种程序升级方法,其特征在于,设备内的存储区包括第一存储区、第二存储区和中转区,待升级的旧程序存储在所述第一存储区,所述方法包括:下载新程序至所述第二存储区;依次循环执行以下刷写步骤:将所述第一存储区的旧程序中预设大小的数据发送至所述中转区,将所述第二存储区的新程序中预设大小的数据发送至所述第一存储区,以及,将所述中转区中预设大小的数据发送至所述第二存储区;当实际执行步数达到指定步数时,完成刷写,其中,所述指定步数与程序大小有关。2.根据权利要求1所述的方法,其特征在于,在依次循环执行刷写步骤的过程中,包括:每执行一步刷写,将本次刷写的源区域中对应位置的内容清除,且实际执行步数加一,再执行下一步刷写;或者,每执行一步刷写,对本次刷写的目标区域所接收的数据帧进行校验,校验通过后,将本次刷写的源区域中对应位置的内容清除,且实际执行步数加一,再执行下一步刷写。3.根据权利要求2所述的方法,其特征在于,将所述新程序中预设大小的数据发送至所述第一存储区,包括:将本次刷写的数据写入所述第一存储区中的第一目标位置,其中,所述第一目标位置为上一步刷写时所述第一存储区中清除内容所空出的位置;将所述中转区中预设大小的数据发送至所述第二存储区,包括:将本次刷写的数据写入所述第二存储区中的第二目标位置,其中,所述第二目标位置为上一步刷写时所述第二存储区中清除内容所空出的位置。4.根据权利要求1所述的方法,其特征在于,在依次循环执行刷写步骤之前,还包括:对所述新程序的大小和所述旧程序的大小进行比较,确定出二者中较大的值;计算所述较大的值与所述预设大小的比值再乘以3,得到所述指定步数。5.根据权利要求1所述的方法,其特征在于,还包括:若刷写过程中出现中断,重新上电后,根据当前实际执行步数确定待刷写地址;根据所述待刷写地址继续进行刷写。6.根据权利要求5所述的方法,其特征在于,根据当前实际执行步数确定待...

【专利技术属性】
技术研发人员:岳子豪周葆林郭肖文朱倩浦贵选
申请(专利权)人:珠海格力电器股份有限公司
类型:发明
国别省市:

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

1