一种BootLoader程序升级方法及装置制造方法及图纸

技术编号:36580904 阅读:33 留言:0更新日期:2023-02-04 17:40
本申请实施例公开一种BootLoader程序升级方法,MCU包括第一BootLoader模块(第一模块)和第二BootLoader模块(第二模块)。MCU上电或复位后,判断第一模块的复位配置半字是否有效,若有效,表明第一模块存在完整的BootLoader程序,进入第一模块。判断第一模块的BootLoader程序版本是否不低于第二模块的版本,若是,判断接收的升级请求是否为BootLoader程序升级请求;若是,下载最新版本BootLoader程序,并将其存储至第二模块。若第一模块的BootLoader程序的版本低于第二模块的版本,进入第二模块,执行第二模块的BootLoader程序。BootLoader程序。BootLoader程序。

【技术实现步骤摘要】
一种BootLoader程序升级方法及装置


[0001]本申请涉及车辆控制
,具体涉及一种BootLoader程序升级方法及装置。

技术介绍

[0002]目前,汽车上的微控制单元(Microcontroller Unit,MCU)大多数都存储启动加载(BootLoader)程序,该BootLoader程序主要用于对MCU中的应用程序进行在线升级,以通过升级可以增加产品的新功能或修复潜在bug。随着汽车产品功能越来越复杂,促使Bootloader程序支持一些新的特性或功能,需要对BootLoader程序自身进行升级。
[0003]通常情况下,Bootloader程序比较可靠、不会发生改变,因此会在MCU出厂前,通过烧录方式将BootLoader程序写入MCU中。若出现问题,需要将车辆召回,从车辆上取下MCU,以在MCU上重新烧录Bootloader程序。
[0004]然而,当MCU封装在器件内部且该器件无预留升级接口时,拆卸MCU将导致器件受到破坏,增加升级成本。例如,电池管理系统中的MCU封装在电池包内,BootLoader程序出现问题时必须将电池包拆除才能重新烧录BootLoader程序。因此,如何降低BootLoader程序升级成本是急需解决的技术问题。

技术实现思路

[0005]有鉴于此,本申请实施例提供一种BootLoader程序升级方法和装置,以实现在不拆除MCU的情况下,对BootLoader程序进行自动升级,降低升级成本。
[0006]为实现上述目的,本申请实施例提供的技术方案如下:
[0007]在本申请实施例第一方面,提供了一种BootLoader程序升级方法,在微控制单元MCU上电或复位后,所述方法包括:
[0008]判断第一BootLoader模块中的复位配置半字是否有效;
[0009]在所述第一BootLoader模块中的复位配置半字有效时,运行所述第一BootLoader模块,所述第一BootLoader模块中的复位配置半字有效用于指示所述第一BootLoader模块中存在完整的BootLoader程序;
[0010]判断所述第一BootLoader模块中的BootLoader程序的版本是否不低于第二BootLoader模块中的BootLoader程序的版本;
[0011]如果是,判断当前接收的升级请求是否为BootLoader程序升级请求;
[0012]如果是,则下载最新版本的BootLoader程序,并将所述最新版本的BootLoader程序存储至所述第二BootLoader模块。
[0013]在一种具体的实现方式中,在所述第一BootLoader模块中的复位配置半字无效时,所述方法还包括:
[0014]判断所述第二BootLoader模块中的复位配置半字是否有效;
[0015]在所述第二BootLoader模块中的复位配置半字有效时,运行所述第二BootLoader模块。
[0016]在一种具体的实现方式中,在所述第一BootLoader模块中的BootLoader程序的版本低于所述第二BootLoader模块中的BootLoader程序的版本时,或者运行所述第二BootLoader模块时,所述方法还包括:
[0017]运行所述第二BootLoader模块,判断当前接收的升级请求是否为BootLoader程序升级请求;
[0018]如果是,下载最新版本的BootLoader程序,并将所述最新版本的BootLoader程序存储至所述第一BootLoader模块。
[0019]在一种具体的实现方式中,所述方法还包括:
[0020]在将所述最新版本的BootLoader程序存储至所述第二BootLoader模块之前,擦除所述第二BootLoader模块中的BootLoader程序。
[0021]在一种具体的实现方式中,所述方法还包括:
[0022]在将所述最新版本的BootLoader程序存储至所述第二BootLoader模块过程中出现中断时,将所述第二BootLoader模块的复位配置半字置为无效。
[0023]在一种具体的实现方式中,所述方法还包括:
[0024]在将所述最新版本的BootLoader程序存储至所述第一BootLoader模块之前,擦除所述第一BootLoader模块中的BootLoader程序。
[0025]在一种具体的实现方式中,所述方法还包括:
[0026]在将所述最新版本的BootLoader程序存储至所述第一BootLoader模块过程中出现中断时,将所述第一BootLoader模块的复位配置半字置为无效。
[0027]在本申请实施例第二方面,提供了一种BootLoader程序升级装置,所述装置包括:第一BootLoader模块和第二BootLoader模块,所述第一BootLoader模块和所述第二BootLoader模块均存储有BootLoader程序;
[0028]所述第一BootLoader模块,用于在所述第一BootLoader模块中的复位配置半字有效时,判断自身的BootLoader程序的版本是否不低于第二BootLoader模块中的BootLoader程序的版本;
[0029]所述第一BootLoader模块,还用于在自身的BootLoader程序的版本不低于所述第二BootLoader模块中的BootLoader程序的版本时,判断当前所接收的升级请求是否为BootLoader程序升级请求;
[0030]所述第一BootLoader模块,还用于在所述升级请求为BootLoader程序升级请求时,运行自身的BootLoader程序,以触发最新版本的BootLoader程序的下载,并将所述最新版本的BootLoader程序存储至所述第二BootLoader模块。
[0031]在一种具体的实现方式中,所述第二BootLoader模块,用于在所述第一BootLoader模块的复位配置半字无效且所述第二BootLoader模块的复位配置半字有效时,判断当前接收的升级请求是否为BootLoader程序升级请求;
[0032]所述第二BootLoader模块,还用于在所述升级请求为BootLoader程序升级请求时,运行自身的BootLoader程序,以触发最新版本的BootLoader程序的下载,并将所述最新版本的BootLoader程序存储至所述第一BootLoader模块。
[0033]在本申请实施例第三方面,提供了一种微控制单元,包括:处理器,存储器;
[0034]所述存储器,用于存储计算机可读指令或者计算机程序;
[0035]所述处理器,用于读取所述计算机可读指令或所述计算机程序,以使得所述设备实现第一方面所述的BootLoader程序升级方法。
[0036]在本申请实施例第四方面,提供了一种计算机可读存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种BootLoader程序升级方法,其特征在于,在微控制单元MCU上电或复位后,所述方法包括:判断第一BootLoader模块中的复位配置半字是否有效;在所述第一BootLoader模块中的复位配置半字有效时,运行所述第一BootLoader模块,所述第一BootLoader模块中的复位配置半字有效用于指示所述第一BootLoader模块中存在完整的BootLoader程序;判断所述第一BootLoader模块中的BootLoader程序的版本是否不低于第二BootLoader模块中的BootLoader程序的版本;如果是,判断当前接收的升级请求是否为BootLoader程序升级请求;如果是,则下载最新版本的BootLoader程序,并将所述最新版本的BootLoader程序存储至所述第二BootLoader模块。2.根据权利要求1所述的方法,其特征在于,在所述第一BootLoader模块中的复位配置半字无效时,所述方法还包括:判断所述第二BootLoader模块中的复位配置半字是否有效;在所述第二BootLoader模块中的复位配置半字有效时,运行所述第二BootLoader模块。3.根据权利要求1或2所述的方法,其特征在于,在所述第一BootLoader模块中的BootLoader程序的版本低于所述第二BootLoader模块中的BootLoader程序的版本时,或者运行所述第二BootLoader模块时,所述方法还包括:运行所述第二BootLoader模块,判断当前接收的升级请求是否为BootLoader程序升级请求;如果是,下载最新版本的BootLoader程序,并将所述最新版本的BootLoader程序存储至所述第一BootLoader模块。4.根据权利要求1

3任一项所述的方法,其特征在于,所述方法还包括:在将所述最新版本的BootLoader程序存储至所述第二BootLoader模块之前,擦除所述第二BootLoader模块中的BootLoader程序。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在将所述最新版本的BootLoader程序存储至所述第二BootLoader模块过程中出现中断时,将所述第二BootLoader模块的复位配置半字置为无效。6.根据权利要求3所述的方法,其特征在于,所述方法还包括:在将所述最新版本的BootLoader程序...

【专利技术属性】
技术研发人员:谢英才孙雷霸
申请(专利权)人:上海汽车集团股份有限公司
类型:发明
国别省市:

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

1