车辆软件的更新方法、装置、车辆及存储介质与流程

未命名 08-22 阅读:134 评论:0


1.本技术涉及车辆技术领域,具体涉及一种车辆软件的更新方法、装置、车辆及存储介质。


背景技术:

2.在对车辆的软件进行更新时,出于安全性考虑,必须要停车之后进行软件更新,在行车过程中无法对车辆进行软件更新,导致驾驶员需要在停车之后等待更新过程的进行。更新过程浪费驾驶员较长时间,影响驾驶员正常驾驶车辆,从而降低车辆使用体验。


技术实现要素:

3.本技术的一个目的在于提出一种车辆软件的更新方法、装置、车辆及存储介质,旨在使得车辆可以在行车过程中进行车辆软件更新,避免更新时间过长造成驾驶体验差,从而提升车辆的使用体验。
4.根据本技术实施例的一方面,提供了一种车辆软件的更新方法,所述方法包括:
5.在车辆运行过程中,从所述车辆的多个程序存储器中,确定当前运行程序的运行存储器以及当前未运行程序的备份存储器;
6.获取车辆中待更新系统的更新软件程序,将所述更新软件程序安装至所述备份存储器;
7.在所述车辆重启后,切换至所述备份存储器运行所述更新软件程序,以通过所述更新软件程序控制所述待更新系统运行,并停止通过所述运行存储器运行程序。
8.根据本技术实施例的一方面,提供了一种车辆软件的更新装置,所述装置包括:
9.确定模块,用于在车辆运行过程中,从所述车辆的多个程序存储器中,确定当前运行程序的运行存储器以及当前未运行程序的备份存储器;
10.安装模块,用于获取车辆中待更新系统的更新软件程序,将所述更新软件程序安装至所述备份存储器;
11.切换模块,用于在所述车辆重启后,切换至所述备份存储器运行所述更新软件程序,以通过所述更新软件程序控制所述待更新系统运行,并停止通过所述运行存储器运行程序。
12.在本技术的一些实施例中,基于以上技术方案,所述装置配置为:
13.获取动力系统的运行状态;所述待更新系统包括动力系统;
14.若所述运行状态匹配参考状态,则输出更新提示信息;所述参考状态是所述动力系统停机时运行状态所在区间;
15.响应于对所述更新提示信息的确定指令,重启所述车辆;
16.若所述运行状态不匹配所述参考状态,则输出停机更新提示信息;
17.响应于对所述停机更新提示信息的确定指令,控制所述动力系统停机,并重启所述车辆。
18.在本技术的一些实施例中,基于以上技术方案,所述装置配置为:
19.输出针对所述车辆中待更新系统的数据下载提示信息;
20.响应于对所述数据下载提示信息的确定指令,从云端服务器下载所述待更新系统的更新软件程序以及数字签名;
21.若校验所述数字签名通过,则保存所述更新软件程序。
22.在本技术的一些实施例中,基于以上技术方案,所述装置配置为:
23.获取所述车辆中预设系统的版本信息;
24.若根据所述版本信息,检测到所述预设系统存在新版本,则获取所述新版本的更新描述信息;
25.生成包括所述更新描述信息的所述下载提示信息。
26.在本技术的一些实施例中,基于以上技术方案,所述装置配置为:
27.输出针对所述更新软件程序的安装提示信息;
28.响应于对所述安装提示信息的确定指令,将下载的所述更新软件程序写入至所述备份存储器,并覆盖所述备份存储器中的已有软件程序;
29.获取安装所述更新软件程序的进度信息,并展示所述进度信息。
30.在本技术的一些实施例中,基于以上技术方案,所述装置配置为:
31.若检测到安装至所述备份存储器成功,则重启所述车辆;
32.若检测到安装至所述备份存储器失败,则从所述运行存储器中读取当前版本的软件数据,并将所述当前版本的软件数据写入至所述备份存储器。
33.在本技术的一些实施例中,基于以上技术方案,所述装置配置为:
34.重新检测当前运行程序的运行存储器,并根据重新检测的运行存储器的存储数据获取版本信息;
35.将重新检测到的运行存储器的标识以及重新获取的所述版本信息发送至云端服务器;
36.若检测到所述云端服务器反馈的更新指令,则重新下载所述更新指令对应的更新软件程序,并将所述更新指令对应的更新软件程序更新至所述车辆当前未运行的备份存储器中。
37.根据本技术实施例的一方面,提供了一种车辆,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述车辆实现上述各种可选实现方式中提供的方法。
38.根据本技术实施例的一方面,提供了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述各种可选实现方式中提供的方法。
39.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
40.在本技术实施例提供的技术方案中,通过在车辆运行过程中,车辆的多个程序存储器中,确定当前运行程序的运行存储器以及当前未运行程序的备份存储器,获取车辆中
待更新系统的更新软件程序,将更新软件程序安装至备份存储器,在车辆重启后,切换至备份存储器运行更新软件程序,以通过更新软件程序控制待更新系统运行,并停止通过运行存储器运行程序。在车辆运行过程中,多个程序存储器中包括当前正在运行程序的程序存储器以及当前未运行程序的程序存储器,更新软件的过程中,运行存储器可以继续正常运行程序,以使得车辆正常行车,同时可以将更新软件程序安装至备份存储器,以对待更新系统的软件进行更新;由于更新软件程序安装在独立于运行存储器的备份存储器中,在车辆重启之后,可以直接切换至备份存储器运行更新软件程序,使得通过更新软件程序控制待更新系统运行而完成车辆软件的更新,并且可以停止通过此前的运行存储器来运行程序。在车辆软件的更新过程中,车辆无需停车即可将更新软件程序更新至未运行程序的备份存储器,而重启之后即可快速切换至备份存储器来运行更新的软件程序,减少了停车等待更新的时间,极大程度降低了对正常驾驶的干扰,从而提高了车辆的使用体验。
41.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
42.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本技术。
附图说明
43.通过参考附图详细描述其示例实施例,本技术的上述和其它目标、特征及优点将变得更加显而易见。
44.图1示出了根据本技术一个实施例的车辆软件的更新方法的流程示意图。
45.图2示出了根据本技术一个实施例的车辆软件的更新方法的流程示意图。
46.图3示出了根据本技术一个实施例的车辆软件的更新方法的流程示意图。
47.图4示出了根据本技术一个具体实现方式中的车辆软件的更新流程示意图。
48.图5示出了云端服务器、车载客户端以及ecu之间通信交互的示意图。
49.图6示出了mcu与两个flash的通信交互示意图。
50.图7示出了根据本技术一实施例的车辆软件的更新装置的结构示意图。
51.图8示出了根据本技术一个实施例的车辆的结构示意图。
具体实施方式
52.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本技术的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本技术的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
53.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本技术的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本技术的各方面变得模糊。
54.附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
55.车辆的软件更新可以通过空中下载(over-the-air,ota)实现,由于车辆需要兼顾安全性,因此在更新软件过程中,需要停车进行更新。具体而言,车辆的程序存储器包括两个分区,一个分区用于运行程序,另一个程序用于备份程序,目前在进行ota更新过程中,需要将软件下载至运行程序的分区,由于该分区正在运行程序,无法直接写入更新软件,只能将车辆停下来,通过ota下载更新程序写入至运行程序的分区,备份分区的作用在于,如果更新失败,可以将备份分区中此前保存的软件重新写入至运行程序的分区,避免更新失败造成的运行程序的分区的程序损坏。可以看出,上述方式只能在车辆停止运行时,才能进行软件更新,此过程需要驾驶员停车,然后进行更新操作,之后等待车辆进行软件下载和更新,直至所有更新完成后,才能继续驾驶车辆,造成时间浪费,干扰正常用车,从而降低了车辆使用体验。为解决上述问题,提出以下各个实施例阐述本技术的技术方案。
56.图1示出了根据本技术一个实施例的车辆软件的更新方法的流程示意图,该方法包括:
57.步骤s101:在车辆运行过程中,从车辆的多个程序存储器中,确定当前运行程序的运行存储器以及当前未运行程序的备份存储器。
58.在本实施例中,执行主体为车辆。程序存储器是存储车辆运行所需程序的存储器。程序存储器是一种非易失性存储器,比如flash。程序存储器的数量可以为两个或者两个以上。程序存储器基于其当前是否运行程序可以被划分为运行存储器和备份存储器。如果当前正在运行程序,则该程序存储器被识别为运行存储器,如果当前未运行程序,则该程序存储器被识别为备份存储器。如此可以使得车辆中既有维持正常运行程序的存储器,也有用于进行软件更新的备份存储器。
59.在一实施例中,程序存储器包括第一程序存储器以及第二程序存储器,通过在第一程序存储器和第二程序存储器中识别运行程序的存储器和未运行程序的存储器,分别得到运行存储器和备份存储器。
60.步骤s102:获取车辆中待更新系统的更新软件程序,将更新软件程序安装至备份存储器。
61.待更新系统是需要进行更新的系统,待更新系统可以是动力系统,也可以是非动力系统。此外,可以通过ota技术来下载更新软件程序,并且将更新软件程序写入备份存储器,并覆盖备份存储器原有的软件程序。
62.在一实施例中,获取车辆中待更新系统的更新软件程序,包括:输出针对车辆中待更新系统的数据下载提示信息;响应于对数据下载提示信息的确定指令,从云端服务器下载待更新系统的更新软件程序以及数字签名;若校验数字签名通过,则保存更新软件程序。
63.数据下载提示信息是用于提示使用者是否需要下载更新程序的信息。输出该数据下载提示信息的方式比如在车辆的多媒体设备上进行展示或者播放,或者将该下载提示信息发送至关联的电子设备等。确定指令是确定需要下载更新软件程序的指令,该指令可以是触控交互指令、语音指令等形式。云端服务器存储有最新版本的更新软件程序,并存储有
该更新软件程序的数字签名。
64.在一实施例中,车辆获取到更新软件程序之后,通过预先存储的公钥对数字签名进行验证,该预先存储的公钥可以是车辆制造商的公钥,也可以是其他可信的公钥,如果数字签名验证通过,则表明更新软件程序是数字签名的私钥拥有者进行签名的,且更新软件程序没有被篡改过,否则,车辆将拒绝该更新软件程序,并可以停止更新过程。此外,如果数字签名验证通过,车辆还可以继续验证更新软件程序的完整性和真实性,比如对更新软件程序的哈希值进行计算,并与预先存储的哈希值进行比对,如果更新软件程序的哈希值与预先存储的哈希值相符,则表明更新软件程序是完整的且没有篡改过。此后车辆可以保存该更新软件程序,并继续更新过程。
65.在一实施例中,若校验数字签名不通过,则丢弃更新软件程序,并重新请求更新软件程序。
66.采用上述方式,可以提高更新过程的安全性,同时还匹配了使用者的数据下载需求,在使用者确认的情况下进行数据下载,提高使用者的使用体验。
67.在一实施例中,输出针对车辆中待更新系统的数据下载提示信息之前,该方法还包括:获取车辆中预设系统的版本信息;若根据版本信息,检测到预设系统存在新版本,则获取新版本的更新描述信息;生成包括更新描述信息的下载提示信息。
68.预设系统是车辆中存在的系统,比如动力系统和非动力系统。版本信息包括预设系统当前使用的软件的版本号,此外该版本信息中也可以包括与版本号对应的预设系统中各零部件的标识。更新描述信息是描述该新版本的更新内容的信息,比如哪些零部件的相应固件、哪些功能得到了更新的相关介绍。下载提示信息包括该更新描述信息,从而可以使得使用者结合更新描述判断是否需要更新。
69.在一实施例中,可以通过如下方式检测预设系统是否存在新版本:将版本信息发送至云端服务器,检测云端服务器根据版本信息反馈的更新指示,如果检测到云端服务器发送的更新指示,则表明预设系统存在新版本,如果未检测到云端服务器返回该更新指示,则表明预设系统暂时不存在新版本。
70.采用上述方式,能够检测车辆中系统的新版本,以及新版本系统更新的内容,便于使用者了解更新的内容。
71.在一实施例中,将更新软件程序安装至备份存储器,包括:输出针对更新软件程序的安装提示信息;响应于对安装提示信息的确定指令,将下载的更新软件程序写入至备份存储器,并覆盖备份存储器中的已有软件程序;获取安装更新软件程序的进度信息,并展示进度信息。
72.安装提示信息是提示是否确认需要安装更新的信息。已有软件程序是备份存储器此前保存的软件程序,可以是以前更新至该存储器的旧版本的软件程序。进度信息用于指示安装该更新软件程序的进度。
73.采用上述方式,匹配使用者的实际安装需求,将更新软件程序更新到备份存储器中,并且能够展示安装进度,便于使用者了解安装的情况,同时不影响正常行车,能够提高车辆的使用体验。
74.步骤s103:在车辆重启后,切换至备份存储器运行更新软件程序,以通过更新软件程序控制待更新系统运行,并停止通过运行存储器运行程序。
75.由于更新软件程序被更新到备份存储器中,从而需要切换至备份存储器运行其中的程序,以通过该程序控制待更新系统运行,以使得车辆按照更新后的程序运行,此外,由于此前确定的运行存储器已经暂时不再用于运行程序,从而需要停止运行其中的程序。
76.在一实施例中,在切换至备份存储器运行更新软件程序之后,将备份存储器标记为新的运行存储器,将此前确定的已经停止运行程序的运行存储器标记为备份存储器。若检测到待更新系统进一步需要更新,则根据新的标记为备份存储器的程序存储器,更新新的软件程序。如此,每次更新都可以在行车过程中进行,提高车辆的使用体验。
77.在一实施例中,停止通过运行存储器运行程序之后,该方法还包括:重新检测当前运行程序的运行存储器,并根据重新检测的运行存储器的存储数据获取版本信息;将重新检测到的运行存储器的标识以及重新获取的版本信息发送至云端服务器;若检测到云端服务器反馈的更新指令,则重新下载更新指令对应的更新软件程序,并将更新指令对应的更新软件程序更新至车辆当前未运行的备份存储器中。
78.在通过备份存储器运行之后,如果后续需要进一步更新,则备份存储器将由于其运行程序而被确定为新的运行存储器,比如程序存储器a,在某次更新过程中作为备份存储器更新了软件程序,而由于后续切换至该备份存储器运行程序,则此时该程序存储器a的属性则变为运行存储器,此后更新过程中,需要结合运行存储器中的软件版本发送至云端服务器进行更新检测,如果云端服务器返回更新指令,则表明后续存在新的更新软件程序,从而需要重新下载更新指令对应的更新软件程序,并将更新指令对应的更新软件程序更新至车辆当前未运行的备份存储器,即程序存储器b中。采用此方式,可以使得车辆的后续迭代更新均能够在行车过程中进行,提高车辆使用体验。
79.在本实施例中,在车辆运行过程中,多个程序存储器中包括当前正在运行程序的程序存储器以及当前未运行程序的程序存储器,更新软件的过程中,运行存储器可以继续正常运行程序,以使得车辆正常行车,同时可以将更新软件程序安装至备份存储器,以对待更新系统的软件进行更新;由于更新软件程序安装在独立于运行存储器的备份存储器中,在车辆重启之后,可以直接切换至备份存储器运行更新软件程序,使得通过更新软件程序控制待更新系统运行而完成车辆软件的更新,并且可以停止通过此前的运行存储器来运行程序。在车辆软件的更新过程中,车辆无需停车即可将更新软件程序更新至未运行程序的备份存储器,而重启之后即可快速切换至备份存储器来运行更新的软件程序,减少了停车等待更新的时间,极大程度降低了对正常驾驶的干扰,从而提高了车辆的使用体验。
80.图2示出了根据本技术一个实施例的车辆软件的更新方法的流程示意图,该方法包括:
81.步骤s201:在车辆运行过程中,从车辆的多个程序存储器中,确定当前运行程序的运行存储器以及当前未运行程序的备份存储器。
82.在本实施例中,根据动力系统的不同状态,分别输出两种不同的提示,以使得使用者根据提示适时地进行车辆重启,完成运行程序的存储器的切换,以提高车辆使用体验。
83.步骤s202:获取车辆中待更新系统的更新软件程序,将更新软件程序安装至备份存储器。
84.步骤s203:获取动力系统的运行状态。
85.待更新系统包括动力系统。动力系统的运行状态包括发动机状态、车速、挡位等,
对于混合动力车型和纯电动车型,还涉及高压系统状态,如驱动电机转速,高压电池状态等。
86.步骤s204:若运行状态匹配参考状态,则输出更新提示信息。
87.参考状态是动力系统停机时的状态。动力系统停机的情况下进行相应软件的更新从而满足车辆安全性要求。在动力系统停机时,发动机状态为关闭状态,车速为0,挡位为p挡。更新提示信息是提示使用者确认安装更新软件程序的信息,在更新提示信息中还可以包括重启的描述信息,以使得使用者了解更新过程中会重启车辆。
88.步骤s205:响应于对更新提示信息的确定指令,重启车辆。
89.由于此时动力系统已经处于停机状态,车辆已经脱离行车状态,从而重启也不会干扰正常用车,并且重启车辆后待更新系统通过更新软件程序运行实现了车辆软件更新完整流程,提高了车辆的使用体验。
90.步骤s206:若运行状态不匹配参考状态,则输出停机更新提示信息。
91.如果运行状态不匹配参考状态,则动力系统可能未停机,此时为了避免影响车辆正常使用,先输出停机更新提示信息,使得使用者了解车辆需要进行停机才会重启车辆以切换运行程序的程序存储器。
92.步骤s207:响应于对停机更新提示信息的确定指令,控制动力系统停机,并重启车辆。
93.如果使用者此时正在行车,则可以忽略该停机更新提示信息,直至其用车完成,可以对该停机更新提示信息进行确认,此时控制动力系统停机,并重启车辆,进一步可以快速切换至备份存储器运行更新软件程序,从而可以在当前动力系统暂未停机的情况下,匹配使用者的用车需要,择机停机后重启车辆完成程序存储器的切换,实现待更新系统按照更新后的程序运行,更新过程不会影响使用者正常用车,提高了车辆的使用者体验。
94.在一实施例中,响应于对停机更新提示信息的取消指令,隐藏停机更新提示信息,间隔预设等待时长后,重新检测动力系统的运行状态是否匹配参考状态,如果匹配该参考状态,则输出更新提示信息,如果不匹配该参考状态,则重新输出停机更新提示信息。采用此方式,可以避免遗漏对车辆软件的更新。
95.步骤s208:在车辆重启后,切换至备份存储器运行更新软件程序,以通过更新软件程序控制待更新系统运行,并停止通过运行存储器运行程序。
96.采用上述方式,分别在动力系统运行和停机时提示使用者进行相应的确认操作,在各种使用场景中灵活进行车辆软件更新,不干扰使用者正常用车,同时匹配使用者的用车情况,提高车辆的使用体验。
97.图3示出了根据本技术一个实施例的车辆软件的更新方法的流程示意图,该方法包括:
98.步骤s301:在车辆运行过程中,从车辆的多个程序存储器中,确定当前运行程序的运行存储器以及当前未运行程序的备份存储器。
99.在本实施例中,还可以对车辆的软件程序进行回滚,以使得在安装更新失败的情况下,保留正常软件程序,以避免车辆软件出现异常。
100.步骤s302:获取车辆中待更新系统的更新软件程序,将更新软件程序安装至备份存储器。
101.步骤s303:若检测到安装至备份存储器成功,则重启车辆。
102.步骤s304:若检测到安装至备份存储器失败,则从运行存储器中读取当前版本的软件数据,并将当前版本的软件数据写入至备份存储器。
103.安装至备份存储器失败的原因比如网络中断、总线信号中断、电压过低以及电磁干扰等导致下载更新程序失败。此时,为了使得备份存储器中存储正常可运行的程序,通过从运行存储器中读取当前本版的软件数据,并将当前版本的软件数据写入至备份存储器。
104.步骤s305:在车辆重启后,切换至备份存储器运行更新软件程序,以通过更新软件程序控制待更新系统运行,并停止通过运行存储器运行程序。
105.采用上述方式,在安装更新失败的情况下,可将备份存储器中的程序回滚至当前可正常运行的程序版本,此外,由于运行存储器中的数据并未被擦除,即便更新失败也不会对运行存储器的程序造成干扰,不会影响正常车辆正常运行,从而可以在保证安全性的基础上,进行车辆软件的更新,提高车辆使用体验。
106.图4示出了根据本技术一个具体实现方式中的车辆软件的更新流程示意图,该流程包括:
107.步骤s401:车载客户端检测云端服务器的ota更新需求。
108.图5示出了云端服务器、车载客户端以及ecu之间通信交互的示意图。车载客户端与云端服务器之间无线通信,并通过识别零部件号、软件版本号发送至云端服务器,以检测云端服务器有软件ota更新需求。车载客户端如tbox,车载客户端和云端服务器采用以太网通讯,遵守iso 13400以太网传输协议。车载客户端与ecu之间通过内部总线通信。
109.步骤s402:车载客户端发送对应零部件软件更新内容至车载多媒体主机,请求用户进行ota软件下载。
110.tbox通过总线发送零部件名称、零部件号、软件版本以及预更新内容至多媒体主机,由多媒体主机进行软件ota下载请求。
111.步骤s403:用户同意下载的基础上,车载客户端基于加密手段下载更新程序,并提示用户车辆需要安装更新。
112.用户同意下载后,车载客户端通过数字签名等加密方式请求云端服务器进行程序下载,下载完成后多媒体主机推送信息提示用户进行零部件软件安装更新。其中,tbox采用标准以太网诊断接口模型进行数据下载。
113.步骤s404:用户同意安装更新的基础上,车载客户端将软件程序更新至对应ecu的备份区。
114.图6示出了mcu与两个flash的通信交互示意图。其中,a/b双flash程序存储器同时连接mcu(或mpu),aflash进行程序运行,b flash进行后台更新。aflash为运行存储器,b flash为备份存储器。通过多媒体主机提示用户进行软件更新,用户同意更新后,tbox与对应预更新车载ecu进行安全秘钥校验,通过后进行程序下载至b flash存储器,车载客户端将下载好的软件程序更新至对应ecu的b flash备份存储器,并将更新进度显示至用户进行参考。更新进度也可缩至主机后台界面。
115.步骤s405:更新完成后,提示用户进行择机下电切换,ecu将运行bflash区,并将aflash作为下次备份的程序存储器。
116.动力系统ecu在程序下载至b flash区后,综合发动机状态、发动机转速、车速、档
位等条件(混合动力或纯电动车型还涉及高压系统状态,如驱动电机转速、高压电池状态等)发送允许切换标志位至tbox和多媒体主机,如满足阈值条件,则通过多媒体主机提示用户进行停车退电切换;如不满足切换条件,则通过多媒体主机提示用户择机停车退电切换。
117.步骤s406:切换完成后将更新后的对应ecu信息回传至云端服务器,完成此次ota升级。
118.切换完成后车载ecu将存储后的当前零部件号、软件版本号、车辆vin及当前mcu主运行程序存储分区flash号等重要信息回传至云端服务器,并且上述信息可以体现在车载主机零部件版本信息中。
119.采用上述方式,双flash互不影响,在程序下载完成给以用户通知后,由用户选择适时切换或者车辆满足切换条件(如p档静态下电重启)则切换,能更快更安全地进行程序下载及切换,达到无感切换的目的。并且可实现车辆动力系统相关程序ota空中升级,采用mcu连接双flash进行内部连接,afalsh进行当前程序运行,b flash进行程序升级冗余,除实现无感切换保证驾驶员车辆稳定运行外,还为驾驶员节约ota升级完成时间,另外还能进一步提升动力域控制器的安全性,a flash运行出错,无缝切换到b flash,aflash进行功能冗余,从而保证车辆功能安全。
120.图7示出了根据本技术一实施例的车辆软件的更新装置的结构示意图,该装置包括:
121.确定模块501,用于在车辆运行过程中,从车辆的多个程序存储器中,确定当前运行程序的运行存储器以及当前未运行程序的备份存储器;
122.安装模块502,用于获取车辆中待更新系统的更新软件程序,将更新软件程序安装至备份存储器;
123.切换模块503,用于在车辆重启后,切换至备份存储器运行更新软件程序,以通过更新软件程序控制待更新系统运行,并停止通过运行存储器运行程序。
124.在本技术的一些实施例中,基于以上技术方案,该装置配置为:
125.获取动力系统的运行状态;待更新系统包括动力系统;
126.若运行状态匹配参考状态,则输出更新提示信息;参考状态是动力系统停机时运行状态所在区间;
127.响应于对更新提示信息的确定指令,重启车辆;
128.若运行状态不匹配参考状态,则输出停机更新提示信息;
129.响应于对停机更新提示信息的确定指令,控制动力系统停机,并重启车辆。
130.在本技术的一些实施例中,基于以上技术方案,该装置配置为:
131.输出针对车辆中待更新系统的数据下载提示信息;
132.响应于对数据下载提示信息的确定指令,从云端服务器下载待更新系统的更新软件程序以及数字签名;
133.若校验数字签名通过,则保存更新软件程序。
134.在本技术的一些实施例中,基于以上技术方案,该装置配置为:
135.获取车辆中预设系统的版本信息;
136.若根据版本信息,检测到预设系统存在新版本,则获取新版本的更新描述信息;
137.生成包括更新描述信息的下载提示信息。
138.在本技术的一些实施例中,基于以上技术方案,该装置配置为:
139.输出针对更新软件程序的安装提示信息;
140.响应于对安装提示信息的确定指令,将下载的更新软件程序写入至备份存储器,并覆盖备份存储器中的已有软件程序;
141.获取安装更新软件程序的进度信息,并展示进度信息。
142.在本技术的一些实施例中,基于以上技术方案,该装置配置为:
143.若检测到安装至备份存储器成功,则重启车辆;
144.若检测到安装至备份存储器失败,则从运行存储器中读取当前版本的软件数据,并将当前版本的软件数据写入至备份存储器。
145.在本技术的一些实施例中,基于以上技术方案,该装置配置为:
146.重新检测当前运行程序的运行存储器,并根据重新检测的运行存储器的存储数据获取版本信息;
147.将重新检测到的运行存储器的标识以及重新获取的版本信息发送至云端服务器;
148.若检测到云端服务器反馈的更新指令,则重新下载更新指令对应的更新软件程序,并将更新指令对应的更新软件程序更新至车辆当前未运行的备份存储器中。
149.下面参考图8来描述根据本技术实施例的车辆60。图8显示的车辆60仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
150.如图8所示,车辆60以通用计算设备的形式表现。车辆60的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630。
151.其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述示例性方法的描述部分中描述的根据本技术各种示例性实施方式的步骤。例如,处理单元610可以执行如图1中所示的各个步骤。
152.存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(rom)6203。
153.存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
154.总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
155.车辆60也可以与一个或多个外部设备700(例如蓝牙设备等)通信,还可与一个或者多个使得用户能与该车辆60交互的设备通信,和/或与使得该车辆60能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口650进行。输入/输出(i/o)接口650与显示单元640相连。并且,车辆60还可以通过网络适配器660与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器660通过总线630与车辆60的其它模块通信。应当明白,尽管图中未示出,可以结合车辆60使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数
据备份存储系统等。
156.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台车辆执行根据本技术实施方式的方法。
157.在本技术的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。
158.根据本技术的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本技术的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
159.程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
160.计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
161.可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
162.可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
163.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
164.此外,尽管在附图中以特定顺序描述了本技术中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
165.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台车辆执行根据本技术实施方式的方法。
166.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由所附的权利要求指出。

技术特征:
1.一种车辆软件的更新方法,其特征在于,所述方法包括:在车辆运行过程中,从所述车辆的多个程序存储器中,确定当前运行程序的运行存储器以及当前未运行程序的备份存储器;获取车辆中待更新系统的更新软件程序,将所述更新软件程序安装至所述备份存储器;在所述车辆重启后,切换至所述备份存储器运行所述更新软件程序,以通过所述更新软件程序控制所述待更新系统运行,并停止通过所述运行存储器运行程序。2.根据权利要求1所述的方法,其特征在于,所述待更新系统包括动力系统;将所述更新软件程序安装至所述备份存储器之后,所述方法还包括:获取所述动力系统的运行状态;若所述运行状态匹配参考状态,则输出更新提示信息;所述参考状态是所述动力系统停机时的状态;响应于对所述更新提示信息的确定指令,重启所述车辆;若所述运行状态不匹配所述参考状态,则输出停机更新提示信息;响应于对所述停机更新提示信息的确定指令,控制所述动力系统停机,并重启所述车辆。3.根据权利要求1所述的方法,其特征在于,获取车辆中待更新系统的更新软件程序,包括:输出针对所述车辆中待更新系统的数据下载提示信息;响应于对所述数据下载提示信息的确定指令,从云端服务器下载所述待更新系统的更新软件程序以及数字签名;若校验所述数字签名通过,则保存所述更新软件程序。4.根据权利要求3所述的方法,其特征在于,输出针对所述车辆中待更新系统的数据下载提示信息之前,所述方法还包括:获取所述车辆中预设系统的版本信息;若根据所述版本信息,检测到所述预设系统存在新版本,则获取所述新版本的更新描述信息;生成包括所述更新描述信息的所述下载提示信息。5.根据权利要求3所述的方法,其特征在于,将所述更新软件程序安装至所述备份存储器,包括:输出针对所述更新软件程序的安装提示信息;响应于对所述安装提示信息的确定指令,将下载的所述更新软件程序写入至所述备份存储器,并覆盖所述备份存储器中的已有软件程序;获取安装所述更新软件程序的进度信息,并展示所述进度信息。6.根据权利要求1所述的方法,其特征在于,将所述更新软件程序安装至所述备份存储器之后,所述方法还包括:若检测到安装至所述备份存储器成功,则重启所述车辆;若检测到安装至所述备份存储器失败,则从所述运行存储器中读取当前版本的软件数据,并将所述当前版本的软件数据写入至所述备份存储器。
7.根据权利要求1所述的方法,其特征在于,停止通过所述运行存储器运行程序之后,所述方法还包括:重新检测当前运行程序的运行存储器,并根据重新检测的运行存储器的存储数据获取版本信息;将重新检测到的运行存储器的标识以及重新获取的所述版本信息发送至云端服务器;若检测到所述云端服务器反馈的更新指令,则重新下载所述更新指令对应的更新软件程序,并将所述更新指令对应的更新软件程序更新至所述车辆当前未运行的备份存储器中。8.一种车辆软件的更新装置,其特征在于,所述装置包括:确定模块,用于在车辆运行过程中,从所述车辆的多个程序存储器中,确定当前运行程序的运行存储器以及当前未运行程序的备份存储器;安装模块,用于获取车辆中待更新系统的更新软件程序,将所述更新软件程序安装至所述备份存储器;切换模块,用于在所述车辆重启后,切换至所述备份存储器运行所述更新软件程序,以通过所述更新软件程序控制所述待更新系统运行,并停止通过所述运行存储器运行程序。9.一种车辆,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述车辆实现如权利要求1至7中任一项所述的方法。10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至7中任一项所述的方法。

技术总结
本申请提供了一种车辆软件的更新方法、装置、车辆及存储介质。车辆软件的更新方法包括:在车辆运行过程中,从所述车辆的多个程序存储器中,确定当前运行程序的运行存储器以及当前未运行程序的备份存储器;获取车辆中待更新系统的更新软件程序,将所述更新软件程序安装至所述备份存储器;在所述车辆重启后,切换至所述备份存储器运行所述更新软件程序,以通过所述更新软件程序控制所述待更新系统运行,并停止通过所述运行存储器运行程序。本申请能够使得车辆可以在行车过程中进行车辆软件更新,避免更新时间过长造成驾驶体验差,从而提升车辆的使用体验。的使用体验。的使用体验。


技术研发人员:杨斌 范永钊 谢天礼 李晓波 邓云飞 刘学武
受保护的技术使用者:广州汽车集团股份有限公司
技术研发日:2023.05.06
技术公布日:2023/8/21
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐