软件升级方法、车辆及计算机可读存储介质技术

技术编号:31490401 阅读:11 留言:0更新日期:2021-12-18 12:27
本发明专利技术公开了一种软件升级方法、车辆及计算机可读存储介质,所述方法包括:接收上位机发送的待升级文件,将所述待升级文件烧录至未激活区域,并获取软件升级结果;若所述软件升级结果为成功,则激活所述未激活区域,并将当前运行区域切换为所述未激活区域;若所述软件升级结果为失败,则保持激活区域为当前运行区域。本发明专利技术解决了现有软件升级中需要将升级文件备份两次的问题。件备份两次的问题。件备份两次的问题。

【技术实现步骤摘要】
软件升级方法、车辆及计算机可读存储介质


[0001]本专利技术涉及车辆
,尤其涉及一种软件升级方法、车辆及计算机可读存储介质。

技术介绍

[0002]当前汽车上,软件已经扮演了越来越重要的角色。但软件由于自身特点,往往需要进行升级以修复缺陷或者提升性能。之前需要去4S店进行升级,现在也兴起了无线升级技术(Over

the

Air Technology,OTA)技术。传统OTA升级过程为:1.进入到引导模式;2.擦除应用程序的程序;3.烧录应用程序;4.重启,引导回应用程序。在第2、3步过程中,如果出现意外情况(例如过程中断电、擦除失败、写失败等),会导致既有的应用程序已被擦除,但新的应用程序还没有写成功(或写完整)。此时ECU无法正常工作,只能等待重新烧录。针对这种情况,部分客户提出了所谓烧录失败自恢复的要求。即当烧录失败后,ECU能够自行恢复到最新一次运行成功的应用程序。
[0003]目前实现自恢复功能的技术为:通过镜像备份技术:即在FLASH(Flash Memory,Flash存储器)的设定区域,保存有上一次运行的应用程序镜像,当烧录失败后,引导程序自动把镜像从备份区拷贝到运行区。备份区可以在擦除之前写,或者新程序运行成功之后写。但这种办法的不足在于:升级一次程序,实质需要写2份镜像,而且相应的等待时间也变长了,需要和上位机协商升级过程,降低了升级效率。

技术实现思路

[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]本专利技术提出的一种软件升级方法、车辆及计算机可读存储介质,通过接收上位机发送的待升级文件,将所述待升级文件烧录至预设未激活区域,并获取软件升级结果,实现了车载软件的升级,并通过设置未激活区域进行文件烧录,能够在不影响软件正常运行的情况下,进行软件升级,提高了升级效率,避免了软件升级过程中的等待时间;在所述软件
升级结果为成功的情况下,通过激活所述预设未激活区域并将当前运行区域切换为所述预设未激活区域,实现了软件升级区域的切换,能够将车辆当前运行的区域切换为已经进行升级过后的区域,实现车载软件的升级替换,缩短烧录升级时间,延长Flash存储器的使用寿命;在所述软件升级结果为失败的情况下,通过保持预设激活区域为当前运行区域,可以实现软件升级失败的数据自动恢复,防止升级失败后丢失数据,导致延长升级时间,可以提高升级效率。
附图说明
[0034]图1是本专利技术实施例方案涉及的硬件运行环境的结构示意图;
[0035]图2为本专利技术软件升级方法第一实施例的流程示意图;
[0036]图3为本专利技术软件升级方法第二实施例的流程示意图;
[0037]图4为本专利技术软件升级方法第三实施例的流程示意图;
[0038]图5为本专利技术软件升级方法第四实施例的流程示意图。
[0039]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0040]应当理解,此处所描述的具体实施例仅仅用以解释本发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件升级方法,其特征在于,所述软件升级方法包括步骤:接收上位机发送的待升级文件,将所述待升级文件烧录至未激活区域,并获取软件升级结果;若所述软件升级结果为成功,则激活所述未激活区域,并将当前运行区域切换为所述未激活区域;若所述软件升级结果为失败,则保持激活区域为当前运行区域。2.如权利要求1所述的软件升级方法,其特征在于,所述接收上位机发送的待升级文件,将所述待升级文件烧录至未激活区域,并获取软件升级结果的步骤包括:接收上位机发送的待升级文件,获取未激活区域信息;根据所述未激活区域信息,将所述待升级文件烧录至未激活区域,并判断所述待升级文件是否烧录完成;若所述待升级文件烧录完成,获取烧录至未激活区域的文件信息,并根据所述未激活区域的文件信息,获取软件升级结果。3.如权利要求2所述的软件升级方法,其特征在于,所述获取烧录至预设未激活区域的文件信息,并根据所述预设未激活区域的文件信息,获取软件升级结果的步骤包括:获取烧录至未激活区域的文件信息,根据所述文件信息以及待升级文件,判断所述文件信息是否完整;若所述文件信息完整,则发送第一烧录结束信号,并判定软件升级结果为成功。4.如权利要求3所述的软件升级方法,其特征在于,所述获取烧录至未激活区域的文件信息,根据所述文件信息以及待升级文件,判断所述文件信息是否完整的步骤之后,还包括:若所述文件信息不完整,则发送第二烧录结束信号,并判定软件升级结果为失败。5.如权利要求2所述的软件升级方法,其特征在于,所述将所述待升级文件烧录至未激活区域,并判断所述待升级文件是否烧录完成的步骤包括:获取待升级文件中的识别数据块以及子待升级文件,根据所述识别数据块、子待升级文件以及未激活区域,判断所述识别数据块是否属于未激活区...

【专利技术属性】
技术研发人员:庞子润高桂芬罗文庆蓝中华夏云飞
申请(专利权)人:上汽通用五菱汽车股份有限公司
类型:发明
国别省市:

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

1