一种引导程序更新方法及装置制造方法及图纸

技术编号:28133934 阅读:13 留言:0更新日期:2021-04-19 12:00
本申请提出一种引导程序更新方法及装置,该方法包括:获取引导程序更新代码,所述引导程序更新代码包括用于对引导程序进行更新的程序代码,以及新版本的引导程序代码;运行引导程序存储区中的引导程序,将所述引导程序更新代码写入应用程序存储区;运行所述用于对引导程序进行更新的程序代码,对所述引导程序存储区中的引导程序进行更新。上述处理过程实现了对控制器引导程序的远程自更新,大大提高了对控制器引导程序更新的便捷性,提高了引导程序更新效率。序更新效率。序更新效率。

【技术实现步骤摘要】
一种引导程序更新方法及装置


[0001]本申请涉及计算机软件
,尤其涉及一种引导程序更新方法及装置。

技术介绍

[0002]控制器引导程序(boot loader)通常是出厂时固化的程序,其功能相对简单,需要更新的情况相对较少。但是,随着控制器功能的不断丰富,尤其是控制器联网后的业务类型越来越多,简单的引导程序无法胜任复杂的功能需求,因此对引导程序进行更新的需求也与日俱增。
[0003]现有的引导程序更新一般是通过现场更新的方式实现,该方式的便利性较差,更新效率低。

技术实现思路

[0004]基于上述技术现状,本申请提出一种引导程序更新方法及装置,能够提升引导程序更新的便利性和效率。
[0005]为了达到上述目的,本申请具体提出如下技术方案:
[0006]一种引导程序更新方法,包括:
[0007]获取引导程序更新代码,所述引导程序更新代码包括用于对引导程序进行更新的程序代码,以及新版本的引导程序代码;
[0008]运行引导程序存储区中的引导程序,将所述引导程序更新代码写入应用程序存储区;
[0009]运行所述用于对引导程序进行更新的程序代码,对所述引导程序存储区中的引导程序进行更新。
[0010]可选的,所述运行引导程序存储区中的引导程序,将所述引导程序更新代码写入应用程序存储区,包括:
[0011]运行引导程序存储区中的引导程序,判断重编程标志是否有效;其中,所述重编程标志由应用程序在接收到重编程指令时置为有效;
[0012]如果所述重编程标志有效,则将所述引导程序更新代码写入应用程序存储区;
[0013]检查写入所述应用程序存储区的引导程序更新代码的完整性;
[0014]当确定写入所述应用程序存储区的引导程序更新代码完整时,将所述引导程序更新代码的状态置为有效状态。
[0015]可选的,所述运行所述用于对引导程序进行更新的程序代码,对所述引导程序存储区中的引导程序进行更新,包括:
[0016]运行所述用于对引导程序进行更新的程序代码,判断所述引导程序存储区中的引导程序是否为最新的引导程序;
[0017]如果所述引导程序存储区中的引导程序不是最新的引导程序,则将所述新版本的引导程序代码更新至所述引导程序存储区;
[0018]将所述引导程序存储区中的新版本的引导程序代码的状态置为有效状态,并将所述引导程序更新代码的状态置为无效状态。
[0019]可选的,所述将所述新版本的引导程序代码更新至所述引导程序存储区,包括:
[0020]将所述引导程序存储区中的引导程序的状态置为无效状态;
[0021]擦除所述引导程序存储区中的引导程序;
[0022]将所述新版本的引导程序代码存储至所述引导程序存储区。
[0023]可选的,在将所述新版本的引导程序代码更新至所述引导程序存储区后,所述方法还包括:
[0024]校验是否成功将所述新版本的引导程序代码更新至所述引导程序存储区;
[0025]如果未成功将所述新版本的引导程序代码更新至所述引导程序存储区,则重复执行将所述新版本的引导程序代码更新至所述引导程序存储区的处理;
[0026]如果在设定重复次数内,成功将所述新版本的引导程序代码更新至所述引导程序存储区,则将所述引导程序存储区中的新版本的引导程序代码的状态置为有效状态;
[0027]如果在设定重复次数内,均未成功将所述新版本的引导程序代码更新至所述引导程序存储区,则触发上位机对所述引导程序存储区中的引导程序进行更新。
[0028]可选的,所述方法还包括:
[0029]运行所述引导程序存储区中的新版本的引导程序代码,触发上位机在所述应用程序存储区刷写应用程序代码。
[0030]可选的,所述运行所述引导程序存储区中的新版本的引导程序代码,触发上位机在所述应用程序存储区刷写应用程序代码,包括:
[0031]运行所述引导程序存储区中的新版本的引导程序代码,判断所述应用程序存储区中的引导程序更新代码是否有效;其中,所述引导程序更新代码的状态在其被写入所述应用程序存储区时被置为有效状态,并且,在其成功更新所述引导程序存储区中的引导程序后被置为无效状态;
[0032]当所述应用程序存储区中的引导程序更新代码无效时,触发上位机在所述应用程序存储区刷写应用程序代码。
[0033]一种引导程序更新装置,包括:
[0034]数据获取单元,用于获取引导程序更新代码,所述引导程序更新代码包括用于对引导程序进行更新的程序代码,以及新版本的引导程序代码;
[0035]第一更新单元,用于运行引导程序存储区中的引导程序,将所述引导程序更新代码写入应用程序存储区;
[0036]第二更新单元,用于运行所述用于对引导程序进行更新的程序代码,对所述引导程序存储区中的引导程序进行更新。
[0037]可选的,所述第一更新单元运行引导程序存储区中的引导程序,将所述引导程序更新代码写入应用程序存储区时,具体用于:
[0038]运行引导程序存储区中的引导程序,判断重编程标志是否有效;其中,所述重编程标志由应用程序在接收到重编程指令时置为有效;
[0039]如果所述重编程标志有效,则将所述引导程序更新代码写入应用程序存储区;
[0040]检查写入所述应用程序存储区的引导程序更新代码的完整性;
[0041]当确定写入所述应用程序存储区的引导程序更新代码完整时,将所述引导程序更新代码的状态置为有效状态。
[0042]可选的,所述第二更新单元运行所述用于对引导程序进行更新的程序代码,对所述引导程序存储区中的引导程序进行更新时,具体用于:
[0043]运行所述用于对引导程序进行更新的程序代码,判断所述引导程序存储区中的引导程序是否为最新的引导程序;
[0044]如果所述引导程序存储区中的引导程序不是最新的引导程序,则将所述新版本的引导程序代码更新至所述引导程序存储区;
[0045]将所述引导程序存储区中的新版本的引导程序代码的状态置为有效状态,并将所述引导程序更新代码的状态置为无效状态。
[0046]本申请提出的引导程序更新方法,对控制器芯片划分引导程序存储区和应用程序存储区,在对引导程序进行更新时,先获取引导程序更新代码,然后由引导程序存储区中的引导程序,将引导程序更新代码写入应用程序存储区,再运行该应用程序存储区中的引导程序更新代码,实现对引导程序存储区中的引导程序的更新。上述处理过程实现了对控制器引导程序的远程自更新,大大提高了对控制器引导程序更新的便捷性,提高了引导程序更新效率。
附图说明
[0047]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种引导程序更新方法,其特征在于,包括:获取引导程序更新代码,所述引导程序更新代码包括用于对引导程序进行更新的程序代码,以及新版本的引导程序代码;运行引导程序存储区中的引导程序,将所述引导程序更新代码写入应用程序存储区;运行所述用于对引导程序进行更新的程序代码,对所述引导程序存储区中的引导程序进行更新。2.根据权利要求1所述的方法,其特征在于,所述运行引导程序存储区中的引导程序,将所述引导程序更新代码写入应用程序存储区,包括:运行引导程序存储区中的引导程序,判断重编程标志是否有效;其中,所述重编程标志由应用程序在接收到重编程指令时置为有效;如果所述重编程标志有效,则将所述引导程序更新代码写入应用程序存储区;检查写入所述应用程序存储区的引导程序更新代码的完整性;当确定写入所述应用程序存储区的引导程序更新代码完整时,将所述引导程序更新代码的状态置为有效状态。3.根据权利要求1所述的方法,其特征在于,所述运行所述用于对引导程序进行更新的程序代码,对所述引导程序存储区中的引导程序进行更新,包括:运行所述用于对引导程序进行更新的程序代码,判断所述引导程序存储区中的引导程序是否为最新的引导程序;如果所述引导程序存储区中的引导程序不是最新的引导程序,则将所述新版本的引导程序代码更新至所述引导程序存储区;将所述引导程序存储区中的新版本的引导程序代码的状态置为有效状态,并将所述引导程序更新代码的状态置为无效状态。4.根据权利要求3所述的方法,其特征在于,所述将所述新版本的引导程序代码更新至所述引导程序存储区,包括:将所述引导程序存储区中的引导程序的状态置为无效状态;擦除所述引导程序存储区中的引导程序;将所述新版本的引导程序代码存储至所述引导程序存储区。5.根据权利要求3所述的方法,其特征在于,在将所述新版本的引导程序代码更新至所述引导程序存储区后,所述方法还包括:校验是否成功将所述新版本的引导程序代码更新至所述引导程序存储区;如果未成功将所述新版本的引导程序代码更新至所述引导程序存储区,则重复执行将所述新版本的引导程序代码更新至所述引导程序存储区的处理;如果在设定重复次数内,成功将所述新版本的引导程序代码更新至所述引导程序存储区,则将所述引导程序存储区中的新版本的引导程序代码的状态置为有效状态;如果在设定重复次数内,均未成功将所述新版本的引导程序代码更新至所述引导程序存储区,则触发上位机对所述...

【专利技术属性】
技术研发人员:李民飞
申请(专利权)人:北京经纬恒润科技股份有限公司
类型:发明
国别省市:

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

1