Bootloader程序升级方法、装置及微控制器制造方法及图纸

技术编号:38157523 阅读:16 留言:0更新日期:2023-07-13 09:27
本发明专利技术公开了一种Bootloader程序升级方法、装置及微控制器,本发明专利技术通过调用启动管理模块进行启动跳转访问控制,调用启动管理模块识别升级请求;当识别到升级请求时,跳转访问引导加载程序模块;调用引导加载程序模块下载升级程序数据,当升级程序数据包括Bootloader升级程序数据时,将Bootloader升级程序数据存储至引导程序自升级模块;并在下载完成后,跳转访问引导程序自升级模块,通过引导程序自升级模块中的Bootloader升级程序数据对引导加载程序模块中的Bootloader程序进行升级,设置占用独立内存的引导程序自升级模块,实现Bootloader程序自更新,提高升级的效果。提高升级的效果。提高升级的效果。

【技术实现步骤摘要】
Bootloader程序升级方法、装置及微控制器


[0001]本专利技术涉及车辆升级
,尤其涉及一种Bootloader程序升级方法、装置及微控制器。

技术介绍

[0002]随着汽车电子技术的飞速发展,车辆的功能复杂性日益提高,车辆的ECU(Electronic Control Unit,电子控制单元)软件代码量指数增长,代码的复杂意味着BUG的增多、软件升级的频度增高,所以在若干年前ECU出厂时就内置了Bootloader(启动引导)程序,其一般基于车载的CAN(Controller Area Network,控制器域网)或LIN(Local Interconnect Network,局域互联网络)或Ethernet(以太网)通信,方便OEM(Original Equipment Manufacture,原始生产设备制造厂)快速更新程序。
[0003]在日益发展的今天,Bootloader程序的复杂度由于网络安全、OTA(Over

the

Air Technology,空中下载技术)、多ECU组网烧录等新需求引入也变得格外复杂,它自身升级更新成为迫切需求。
[0004]现有的Bootloader程序升级策略有:Bootloader程序将自身全部代码加载到RAM(Random Access Memory,随机存取存储器)运行,然后直接刷写其本身占用的Flash区间,达到了自我升级的目的。但是,若升级过程中断则会导致bootloader程序损坏,从而使得ECU不可用。

技术实现思路

[0005]本专利技术的主要目的在于提供一种Bootloader程序升级方法、装置及微控制器,旨在解决现有技术对Bootloader程序升级效果较差的技术问题。
[0006]为实现上述目的,本专利技术提供了一种Bootloader程序升级方法,Bootloader程序升级方法应用于微控制器,微控制器的存储分区包括:启动管理模块、引导加载程序模块以及引导程序自升级模块,Bootloader程序升级方法包括以下步骤:
[0007]调用启动管理模块进行启动跳转访问控制,启动跳转访问对象包括引导加载程序模块和引导程序自升级模块;
[0008]调用启动管理模块识别升级请求;
[0009]当识别到升级请求时,跳转访问引导加载程序模块;
[0010]调用引导加载程序模块下载升级程序数据,当升级程序数据包括Bootloader升级程序数据时,将Bootloader升级程序数据存储至引导程序自升级模块;
[0011]在包括Bootloader升级程序数据的升级程序数据下载完成后,跳转访问引导程序自升级模块,通过引导程序自升级模块中的Bootloader升级程序数据对引导加载程序模块中的Bootloader程序进行升级。
[0012]可选地,跳转访问引导程序自升级模块,包括:
[0013]调用启动管理模块对引导程序自升级模块进行程序有效性识别;
[0014]当识别到引导程序自升级模块的程序有效时,跳转访问引导程序自升级模块。
[0015]可选地,存储分区还包括应用程序模块,当升级程序数据包括应用程序升级数据时,将应用程序升级数据存储至应用程序模块。
[0016]可选地,存储分区还包括应用程序模块,调用启动管理模块对引导程序自升级模块进行程序有效性识别之前,方法还包括:
[0017]调用启动管理模块对应用程序模块进行程序有效性识别。
[0018]可选地,通过引导程序自升级模块中的Bootloader升级程序数据对引导加载程序模块中的Bootloader程序进行升级之后,还包括:
[0019]检测引导加载程序模块中Bootloader程序升级是否发生中断;
[0020]当检测到引导加载程序模块中Bootloader程序升级发生中断时,调用启动管理模块搜索引导程序自升级模块中是否存在有效的Bootloader升级程序数据;
[0021]当搜索到引导程序自升级模块中存在有效的Bootloader升级程序数据时,重新执行通过引导程序自升级模块中的Bootloader升级程序数据对引导加载程序模块中的Bootloader程序进行升级的步骤。
[0022]可选地,通过引导程序自升级模块中的Bootloader升级程序数据对引导加载程序模块中的Bootloader程序进行升级,包括:
[0023]将引导程序自升级模块中的Bootloader升级程序数据传输至引导加载程序模块,并覆盖引导加载程序模块中的Bootloader程序。
[0024]可选地,应用程序模块和引导程序自升级模块中均设有有效性判断区域,有效性判断区域中的标志包括头部标志和尾部标志;
[0025]进行程序有效性识别,包括:
[0026]识别有效性判断区域中的头部标志和尾部标志是否均为有效标志;
[0027]当识别到头部标志和尾部标志均为有效标志时,确定程序有效;
[0028]当识别到头部标志和尾部标志中的至少一个为无效标志时,确定程序无效。
[0029]可选地,引导加载程序模块中设有有效性判断区域,有效性判断区域中的标志包括头部标志和尾部标志;
[0030]检测引导加载程序模块中Bootloader程序升级是否发生中断,包括:
[0031]调用启动管理模块检测引导加载程序模块的有效性判断区域中是否存在无效标志;
[0032]当检测到引导加载程序模块的有效性判断区域中存在无效标志时,确定引导加载程序模块中Bootloader程序升级发生中断;
[0033]当检测到引导加载程序模块的有效性判断区域中不存在无效标志时,确定引导加载程序模块中Bootloader程序升级未发生中断。
[0034]可选地,通过引导程序自升级模块中的Bootloader升级程序数据对引导加载程序模块中的Bootloader程序进行升级之后,方法还包括:
[0035]在引导加载程序模块中的Bootloader程序升级完成后,将引导程序自升级模块中的有效程序修改为无效程序。
[0036]可选地,跳转访问引导程序自升级模块之前,方法还包括:
[0037]触发复位请求,并根据复位请求控制芯片复位。
[0038]可选地,存储分区还包括:芯片底层引导模块,调用启动管理模块进行启动跳转访问控制之前,方法还包括:
[0039]在芯片复位后,调用芯片底层引导模块,引导访问启动管理模块。
[0040]此外,为实现上述目的,本专利技术还提出一种Bootloader程序升级装置,Bootloader程序升级装置包括:
[0041]调用模块,用于调用启动管理模块进行启动跳转访问控制,启动跳转访问对象包括引导加载程序模块和引导程序自升级模块;
[0042]识别模块,用于调用启动管理模块识别升级请求;
[0043]识别模块,还用于当识别到升级本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Bootloader程序升级方法,其特征在于,所述Bootloader程序升级方法应用于微控制器,所述微控制器的存储分区包括:启动管理模块、引导加载程序模块以及引导程序自升级模块,所述方法包括:调用所述启动管理模块进行启动跳转访问控制,启动跳转访问对象包括所述引导加载程序模块和所述引导程序自升级模块;调用所述启动管理模块识别升级请求;当识别到所述升级请求时,跳转访问所述引导加载程序模块;调用所述引导加载程序模块下载升级程序数据,当所述升级程序数据包括Bootloader升级程序数据时,将所述Bootloader升级程序数据存储至所述引导程序自升级模块;在包括所述Bootloader升级程序数据的升级程序数据下载完成后,跳转访问所述引导程序自升级模块,通过所述引导程序自升级模块中的所述Bootloader升级程序数据对所述引导加载程序模块中的Bootloader程序进行升级。2.如权利要求1所述的Bootloader程序升级方法,其特征在于,所述跳转访问所述引导程序自升级模块,包括:调用所述启动管理模块对所述引导程序自升级模块进行程序有效性识别;当识别到所述引导程序自升级模块的程序有效时,跳转访问所述引导程序自升级模块。3.如权利要求2所述的Bootloader程序升级方法,其特征在于,所述存储分区还包括应用程序模块,当所述升级程序数据包括应用程序升级数据时,将所述应用程序升级数据存储至所述应用程序模块。4.如权利要求2或3所述的Bootloader程序升级方法,其特征在于,所述存储分区还包括应用程序模块,所述调用所述启动管理模块对所述引导程序自升级模块进行程序有效性识别之前,所述方法还包括:调用所述启动管理模块对所述应用程序模块进行程序有效性识别。5.如权利要求1所述的Bootloader程序升级方法,其特征在于,所述通过所述引导程序自升级模块中的所述Bootloader升级程序数据对所述引导加载程序模块中的Bootloader程序进行升级之后,还包括:检测所述引导加载程序模块中Bootloader程序升级是否发生中断;当检测到所述引导加载程序模块中Bootloader程序升级发生中断时,调用所述启动管理模块搜索所述引导程序自升级模块中是否存在有效的Bootloader升级程序数据;当搜索到所述引导程序自升级模块中存在有效的Bootloader升级程序数据时,重新执行通过所述引导程序自升级模块中的所述Bootloader升级程序数据对所述引导加载程序模块中的Bootloader程序进行升级的步骤。6.如权利要求1或5所述的Bootloader程序升级方法,其特征在于,所述通过所述引导程序自升级模块中的所述Bootloader升级程序数据对所述引导加载程序模块中的Bootloader程序进行升级,包括:将所述引导程序自升级模块中的Bootloader升级程序数据传输至所述引导加载程序模块,并覆盖所述引导加载程序模块中的Bootloader程序。7.如权利要求2至4任一所述的Bootloader程序升级方法,其特征在于,所述应用程序
模块和引导程序自升级模块中均设有有效性判断区域,所述有效性判断区域中的标志包括头部标志和尾部标志;所述进行程序有效性识别,包括:识别所述...

【专利技术属性】
技术研发人员:柏利春王力
申请(专利权)人:苏州汇川联合动力系统有限公司
类型:发明
国别省市:

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

1