应用程序更新方法、启动装载程序设计方法及设备与流程

文档序号:34370962发布日期:2023-06-05 03:41阅读:27来源:国知局
应用程序更新方法、启动装载程序设计方法及设备与流程

本技术涉及电子,尤其涉及一种应用程序更新方法、启动装载程序设计方法及设备。


背景技术:

1、在日新月异的电子行业中,新技术的出现往往导致产品的升级或更新换代。目前,在产品现有的硬件上,通过无线网络、总线网络或其它通讯手段升级软件程序,或修复产品缺陷,成本低,操作简便,是一种得到广泛应用的方式。例如,在微控制单元(microcontroller unit,mcu)软件设计中,一般是以启动装载(bootloader)程序加上应用(application)程序的模式进行设计的,从而利用bootloader程序来删除、更改application程序,以达到对application程序的升级和更新换代。但是,在该方式中无法判断更改后的application程序(即升级文件)的完整性和与产品自身的匹配性,从而导致产品升级或更新的安全性和成功率低。


技术实现思路

1、针对上述技术问题,本技术提供一种应用程序更新方法、启动装载程序设计方法及设备,能够提升产品升级或更新的成功率。

2、第一方面,本技术实施例提供了一种应用程序更新方法,该方法包括:获取应用程序的升级文件,应用程序的升级文件包括第一特性信息,第一特性信息包括产品名称、客户名称、硬件版本和校验值;通过消息摘要算法生成应用程序的升级文件的校验值;判断生成的校验值和第一特性信息包括的校验值是否一致;当生成的校验值和第一特性信息包括的校验值一致时,获取针对应用程序的第二特性信息,第二特性信息包括产品名称、客户名称、硬件版本、升级文件的存储介质类型、升级文件的存储介质地址、升级文件的长度、升级文件的名称和升级标志;判断第一特性信息与第二特性信息是否匹配;当第一特性信息和第二特性信息匹配时,运行启动装载程序,备份和删除应用程序,写入应用程序的升级文件;其中,应用程序存储于微控制单元mcu的闪存中的第一区域,启动装载程序存储于mcu的闪存中的第二区域,第二特性信息存储于第二区域中的第三区域。

3、可见,该方法中,在应用程序进行更新时,一方面,可以通过判断第一特性信息中包括的校验值和生成的校验值是否一致,来判断应用程序的升级文件的完整性;另一方面,可以基于第二特性信息判断应用程序的升级文件与产品的匹配性,从而提升应用程序升级或更新的成功率,进而提升产品升级的成功率。

4、一种可选的实施方式中,获取应用程序的升级文件之前,该方法还包括:判断是否升级应用程序;若不升级应用程序,则运行应用程序;或者,若升级应用程序,则基于第二特性信息,读取应用程序的升级文件。

5、一种可选的实施方式中,判断是否升级应用程序,包括:判断第二特性信息中是否包括升级文件的存储介质类型、升级文件的存储介质地址、升级文件的长度、升级文件的名称和升级标志;若第二特性信息中包括升级文件的存储介质类型、升级文件的存储介质地址、升级文件的长度、升级文件的名称和升级标志,则确定升级应用程序;或者,若第二特性信息中没有包括升级文件的存储介质类型、升级文件的存储介质地址、升级文件的长度、升级文件的名称和升级标志,则确定不升级应用程序。

6、可见,该实施方式中,可以根据第二特性信息是否包括特定的信息(如升级文件的存储介质类型、升级文件的存储介质地址、升级文件的长度、升级文件的名称和升级标志)来确定是否升级应用程序。

7、一种可选的实施方式中,判断是否升级应用程序之前,该方法还包括:获取应用程序的升级文件,应用程序的升级文件包括第一产品特性信息;第一产品特性信息包括产品名称、客户名称和硬件版本和校验值;基于应用程序的升级文件,将升级文件的存储介质类型、升级文件的存储介质地址、升级文件的长度、升级文件的名称和升级标志写入第二产品特性中;运行启动装载程序。

8、一种可选的实施方式中,获取应用程序的升级文件之前,该方法还包括:获取升级的应用程序的二进制镜像文件;对升级的应用程序的二进制镜像文件进行特性写入和加密处理,得到应用程序的升级文件。

9、一种可选的实施方式中,启动装载程序、应用程序和应用程序的升级文件均分别对应有独立的启动代码、主函数和中断向量表;启动代码是mcu复位进入主函数前执行的一段初始化程序;中断向量表为中断服务程序入口地址表,用于为mcu中所有中断服务程序提供对应的入口地址。

10、一种可选的实施方式中,该方法还包括:判断解密后的升级文件的中断向量表对应的偏移量是否在预设范围内;偏移量用于指示中断服务程序的入口地址;若解密后的升级文件的中断向量表中的偏移量不在预设范围内,则将解密后的升级文件删除后,在第二区域内写入应用程序并运行;或者,若解密后的升级文件的中断向量表中的偏移量在预设范围内,则运行解密后的升级文件对应的应用程序。

11、可见,该实施方式中,可以根据对偏移量的检测来确定运行那个版本的程序,保障了产品的有效性,进而提升了产品升级的安全性。

12、第二方面,本技术实施例提供了一种启动装载程序设计方法,该方法包括:

13、对微控制单元mcu的闪存进行分区,得到第一区域和第二区域,第一区域用于存储应用程序,第二区域用于存储启动装载程序;在第二区域内划分第三区域,第三区域用于存储针对应用程序的第二特性信息,第二特性信息包括产品名称、客户名称、硬件版本、升级文件的存储介质类型、升级文件的存储介质地址、升级文件的长度、升级文件的名称和升级标志;在第一区域内写入应用程序的二进制镜像文件,在第二区域内写入启动装载程序的二进制镜像文件,在第三区域内写入第二特性信息中的产品名称、客户名称和硬件版本。

14、可见,该方法中,在启动装载程序的存储区域中加入了针对应用程序的第二特性信息,有利于后续升级应用程序时,根据第二特性信息判断升级的应用程序与产品的匹配性,从而提高应用程序升级的成功率。

15、第三方面,本技术实施例提供了一种应用程序更新装置,该装置包括:

16、获取模块,用于获取应用程序的升级文件,应用程序的升级文件包括第一特性信息,第一特性信息包括产品名称、客户名称、硬件版本和校验值;

17、生成模块,用于通过消息摘要算法生成应用程序的升级文件的校验值;

18、判断模块,用于判断生成的校验值和第一特性信息包括的校验值是否一致;

19、处理模块,用于当生成的校验值和第一特性信息包括的校验值一致时,获取针对应用程序的第二特性信息,第二特性信息包括产品名称、客户名称、硬件版本、升级文件的存储介质类型、升级文件的存储介质地址、升级文件的长度、升级文件的名称和升级标志;

20、判断模块,还用于判断第一特性信息与第二特性信息是否匹配;

21、处理模块,还用于当第一特性信息和所述第二特性信息匹配时,运行启动装载程序,备份和删除应用程序,写入应用程序的升级文件;

22、其中,应用程序存储于微控制单元mcu的闪存中的第一区域,启动装载程序存储于mcu的闪存中的第二区域,第二特性信息存储于第二区域中的第三区域。

23、可选的,该应用程序更新装置可选的实施方式可参见上述第一方面的相关内容,此处不再详述。

24、第四方面,本技术实施例提供了一种启动装载程序设计装置,该装置包括:

25、分区模块,用于对微控制单元mcu的闪存进行分区,得到第一区域和第二区域,第一区域用于存储应用程序,第二区域用于存储启动装载程序;

26、分区模块,还用于在第二区域内划分第三区域,第三区域用于存储针对应用程序的第二特性信息,第二特性信息包括产品名称、客户名称、硬件版本、升级文件的存储介质类型、升级文件的存储介质地址、升级文件的长度、升级文件的名称和升级标志;

27、写入模块,用于在所述第一区域内写入所述应用程序的二进制镜像文件,在所述第二区域内写入所述启动装载程序的二进制镜像文件,在所述第三区域内写入所述第二特性信息中的产品名称、客户名称和硬件版本。

28、第五方面,本技术实施例提供了一种计算机设备,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行本技术实施例提供的方法。

29、相应地,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现本技术实施例提供的方法。

30、相应地,本技术实施例还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。终端设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述终端设备执行本技术实施例提供的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1