一种汽车程序自动存储回滚控制方法、装置及存储介质与流程

文档序号:30484061发布日期:2022-06-21 23:51阅读:386来源:国知局
一种汽车程序自动存储回滚控制方法、装置及存储介质与流程

1.本技术涉及汽车程序回滚技术领域,尤其涉及一种汽车程序自动存储回滚控制方法、装置及存储介质。


背景技术:

2.汽车的通讯网络架构包括网关,通过网关连接t-box,车身控制器、车门控制器、一键启动控制器、防盗控制器、ecu、tcu和adas等。与网关相连接的控制元件需要配置固件才能实现其功能。
3.汽车使用过程中,汽车软件的升级往往并非强制性的,用户会根据需求对控制元件的程序进行更新,甚至有的用户在对汽车进行维护时,会对汽车的控制元件进行替换,替换后的控制元件可能无法适配汽车原厂的后续升级程序或原厂提供的初始程序。无论是对控制元件程序的选择性更新还是汽车控制元件的更换,导致汽车现有控制元件以及控制元件配置程序的混乱。若遇到汽车程序升级失败或者汽车升级后程序不适配,而导致汽车功能缺失的情况,一般需要通过回滚对汽车进行恢复出厂,而控制元件以及配置程序的混乱使得恢复出厂并不一定能够恢复汽车功能,如替换后的控制元件无法适配后续升级程序且无法适配原厂提供的初始程序的情况。


技术实现要素:

4.为了解决上述技术问题或者至少部分地解决上述技术问题,本技术提供一种汽车程序自动存储回滚控制方法、装置及存储介质。
5.第一方面,本技术提供一种汽车程序自动存储回滚控制方法,包括:
6.执行程序存储使得存储模块存储能支持汽车正常运行的各个控制元件的程序;其中,执行程序存储包括:,向与网关控制器中mcu通讯连接的程序管理mcu发送程序存储请求,程序管理mcu响应程序存储请求,发起第一安全加密验证,且在通过第一安全加密验证后,根据程序列表获取待存储的目标程序并存储于存储模块中,反馈存储结果;其中,所述程序列表关联记录了网关控制器通讯连接的全部控制元件、控制元件配置程序的程序标签和用于表示程序标签对应程序是否已存储到存储模块的存储指示标记;
7.汽车控制元件升级失败或升级不适配时,执行程序回滚,将需回滚控制元件的程序恢复到能支持汽车正常运行的目标回滚程序,执行程序回滚包括:向程序管理mcu发送程序回滚请求,程序管理mcu响应程序回滚请求,发起第二安全加密验证,且在通过第二安全加密验证后,程序管理mcu根据程序回滚请求从存储模块查找获取目标回滚程序并将目标回滚程序刷写到需回滚控制元件,刷写成功则执行程序标签修改将程序列表中的需回滚控制元件的现有程序标签修改为回滚目标程序的程序标签,记录刷写成功日志。
8.更进一步地,所述根据程序列表获取待存储的目标程序并存储于存储模块包括:
9.程序管理mcu获取程序列表;
10.遍历程序列表,从中提取存储指示标记表示程序未存储到存储模块的目标控制元
件和目标程序标签;
11.程序管理mcu利用网关控制器与目标控制元件通讯;
12.按目标程序标签从目标控制元件获取对应的目标程序并存储在程序管理mcu所连接的存储模块中,存储目标程序时,存储目标程序的程序标签、程序文件和程序标定数据。
13.更进一步地,按目标程序标签从目标控制元件获取对应的目标程序并存储包括:预设目标程序存储失败后允许重复尝试存储的第一次数阈值;定义初始值为0的存储失败计数变量;目标程序存储失败则存储失败计数变量自加一,存储失败计数变量小于第一次数阈值,则允许在失败时重复尝试获取目标程序并存储,否则提示目标程序存储失败。
14.更进一步地,所述程序管理mcu根据程序回滚请求从存储模块查找获取目标回滚程序并将目标回滚程序刷写到需回滚控制元件包括:
15.程序管理mcu从程序回滚请求中获取指示目标回滚程序的程序标签和需回滚控制元件;
16.程序管理mcu利用网关控制器与需回滚控制元件通讯;
17.程序管理mcu按照程序标签从存储模块中查找对应的目标回滚程序;
18.程序管理mcu按校验策略校验目标回滚程序是否正确,正确则,程序管理mcu按刷写策略将目标回滚程序刷写到需回滚控制元件。
19.更进一步地,程序管理mcu按校验策略校验目标回滚程序是否正确包括:
20.预设目标回滚程序校验失败后允许重复尝试校验的第二次数阈值;定义初始值为0的校验失败计数变量;目标回滚程序校验失败则校验失败计数变量自加一,校验失败计数变量小于第二次数阈值,则允许在校验失败时重复尝试对目标回滚程序校验,否则提示目标回滚程序校验失败导致回滚失败。
21.更进一步地,程序管理mcu按刷写策略将目标回滚程序刷写到需回滚控制元件包括:
22.预设目标回滚程序刷写失败后允许重复尝试刷写的第三次数阈值;定义初始值为0的刷写失败计数变量;目标回滚程序刷写失败则刷写失败计数变量自加一,刷写失败计数变量小于第三次数阈值,则允许在刷写失败时重复尝试刷写目标回滚程序,否则提示目标回滚程序刷写失败导致回滚失败。
23.更进一步地,执行程序标签修改包括:
24.向程序管理mcu发送程序标签修改请求,程序管理mcu响应程序标签修改请求发起第三安全加密验证,且在通过第三安全加密验证后,从标签修改请求获取被修改控制元件和修改后程序标签,程序管理mcu利用被修改控制元件从程序列表查询到被修改程序标签,将被修改程序标签替换为修改后程序标签。
25.更进一步地,执行程序存储使得存储模块存储能支持汽车正常运行的各个控制元件的程序包括:在汽车更换控制元件或变动控制元件配置程序后汽车功能正常时,执行程序标签修改将程序列表中被改动控制元件的程序标签修改为改动后控制元件所配程序的程序标签,并将程序列表中被改动控制元件的存储指示标记配置为未存储;再执行程序存储,以存储改动控制元件的程序。
26.第二方面,本发明提供一种汽车程序自动存储回滚装置,包括:与车辆的网关控制器中网关mcu通讯连接的程序管理mcu,所述程序管理mcu电连接存储模块;所述存储模块存
储至少一条指令,所述程序管理mcu读取并执行所述指令实现任一项所述的汽车程序自动存储回滚控制方法。
27.第三方面,本发明提供一种实现汽车程序自动存储回滚控制方法的存储介质,所述实现汽车程序自动存储回滚控制方法的存储介质存储至少一条指令,读取并执行所述指令实现所述的汽车程序自动存储回滚控制方法。
28.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:
29.本技术通过与网关控制器中mcu通讯连接的程序管路mcu、存储模块配合网关控制器实现各个控制元件的程序自动存储回滚。程序管路mcu、存储模块配合网关控制器执行程序标签修改和执行程序存储,能将控制元件现有的程序存储在汽车本地的存储模块中,使得存储模块保存各个控制元件应用过的历史程序,在汽车控制元件程序更新失败或升级后不适配而导致汽车功能缺失时,尤其是导致汽车无法联网时,能够通过执行程序回滚将控制元件的程序恢复到可用的历史版本,维护便捷高效,提升用户的用车体验。
附图说明
30.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
31.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
32.图1为本技术实施例提供的汽车程序自动存储回滚控制方法的应用流程示意图;
33.图2为本技术实施例提供的利用汽车的网关控制器、程序管理mcu和存储模块执行程序存储的流程图;
34.图3为本技术实施例提供的根据程序列表获取待存储的目标程序并存储于存储模块的流程图;
35.图4为本技术实施例提供的利用汽车的网关控制器、程序管理mcu和存储模块执行程序回滚的流程图;
36.图5为本技术实施例提供的程序管理mcu根据程序回滚请求从存储模块查找获取目标回滚程序并将目标回滚程序刷写到需回滚控制元件的流程图;
37.图6为本技术实施例提供的利用汽车的网关控制器、程序管理mcu和存储模块执行程序标签修改的流程图;
38.图7为本技术实施例提供一种汽车程序自动存储回滚装置的示意图。
具体实施方式
39.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
40.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而
且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
41.实施例1
42.参阅图1所示,本技术实施例提供一种汽车程序自动存储回滚控制方法,所述汽车程序自动存储回滚控制方法基于网关控制器、与网关控制器中mcu通讯连接的程序管理mcu和程序管理mcu连接的存储模块实现,包括:s100,执行程序存储使得存储模块存储能支持汽车正常运行的各个控制元件的程序;s200,汽车控制元件升级失败或升级不适配时,执行程序回滚,将需回滚控制元件的程序恢复到能支持汽车正常运行的目标回滚程序。
43.具体实施过程中,s100包括:在汽车下线时,利用汽车的网关控制器、程序管理mcu和存储模块执行程序存储以存储汽车下线时控制元件的程序。s100还包括:在汽车更换控制元件或变动控制元件配置程序后汽车功能正常时,执行程序标签修改将程序列表中被改动控制元件的程序标签修改为改动后控制元件所配程序的程序标签,并将程序列表中被改动控制元件的存储指示标记配置为未存储;再执行程序存储,以存储改动控制元件的程序。
44.参阅图2所示,s100中应用到的利用汽车的网关控制器、程序管理mcu和存储模块执行程序存储包括:
45.s101,向与网关控制器中mcu通讯连接的程序管理mcu发送程序存储请求。
46.s102,程序管理mcu响应程序存储请求,发起第一安全加密验证,并判断第一安全加密验证是否通过,若未通过则执行s103,若通过则执行s104。
47.s103,提示第一安全加密验证失败。
48.s104,根据程序列表获取待存储的目标程序并存储于存储模块中,反馈存储结果。
49.具体实施过程中,参阅图3所示,所述根据程序列表获取待存储的目标程序并存储于存储模块包括:
50.s1041,程序管理mcu获取并遍历程序列表,从中提取存储指示标记表示程序未存储到存储模块的目标控制元件和目标程序标签。其中,所述程序列表关联记录了网关控制器通讯连接的全部控制元件、控制元件配置程序的程序标签和用于表示程序标签对应程序是否已存储到存储模块的存储指示标记。汽车刚下线时,程序列表中全部的存储指示标记设置为未存储。
51.s1042,程序管理mcu利用网关控制器与目标控制元件通讯。
52.s1043,程序管理mcu获取预设的目标程序存储失败后允许重复尝试存储的第一次数阈值,定义初始值为0的存储失败计数变量。
53.s1044,程序管理mcu按目标程序标签从目标控制元件获取对应的目标程序并存储;按目标程序标签从目标控制元件获取对应的目标程序并存储在程序管理mcu所连接的存储模块中,存储目标程序时,存储目标程序的程序标签、程序文件和程序标定数据。
54.s1045,检测目标程序存储是否成功,是则,执行s1046,否则执行s1047。
55.s1046,反馈目标程序存储成功。
56.s1047,存储失败计数变量自加一。
57.s1048,判断存储失败计数变量是否小于第一次数阈值,是则允许在失败时重复尝试获取目标程序并存储即执行s1044,否则执行s1049,
58.s1049,提示目标程序存储失败。
59.汽车控制元件升级失败或升级不适配时,执行程序回滚,将需回滚控制元件的程序恢复到能支持汽车正常运行的目标回滚程序。利用汽车的网关控制器、程序管理mcu和存储模块执行程序回滚以将汽车上指定控制元件的程序回滚到从前的程序。
60.参阅图4所示,s200中应用到的利用汽车的网关控制器、程序管理mcu和存储模块执行程序回滚包括:
61.s201,向程序管理mcu发送程序回滚请求。
62.s202,程序管理mcu响应程序回滚请求,发起第二安全加密验证,并判断第二安全加密验证是否通过,若未通过则执行s203,若通过则执行s204。
63.s203,提示第二安全加密验证失败。
64.s204,程序管理mcu根据程序回滚请求从存储模块查找获取目标回滚程序并将目标回滚程序刷写到需回滚控制元件。
65.具体实施过程中,参阅图5所示,所述程序管理mcu根据程序回滚请求从存储模块查找获取目标回滚程序并将目标回滚程序刷写到需回滚控制元件包括:
66.s2041,程序管理mcu从程序回滚请求中获取指示目标回滚程序的程序标签和需回滚控制元件。
67.s2042,程序管理mcu利用网关控制器与需回滚控制元件通讯。
68.s2043,程序管理mcu获取预设的目标回滚程序校验失败后允许重复尝试校验的第二次数阈值,定义初始值为0的校验失败计数变量。
69.s2044,程序管理mcu按照程序标签从存储模块中查找对应的目标回滚程序。
70.s2045,程序管理mcu按校验策略校验目标回滚程序是否正确,校验正确则执行s2046,校验错误则执行s2047。
71.s2046,程序管理mcu按刷写策略将目标回滚程序刷写到需回滚控制元件。
72.具体的,程序管理mcu按刷写策略将目标回滚程序刷写到需回滚控制元件包括:
73.获取预设目标回滚程序刷写失败后允许重复尝试刷写的第三次数阈值,定义初始值为0的刷写失败计数变量。
74.检测目标回滚程序刷写是否成功,
75.目标回滚程序刷写成功则执行s205,
76.目标回滚程序刷写失败则,目标回滚程序刷写失败则刷写失败计数变量自加一。
77.判断刷写失败计数变量是否小于第三次数阈值,是则允许在刷写失败时重复尝试刷写目标回滚程序,否则提示目标回滚程序刷写失败导致回滚失败。
78.s2047,校验失败计数变量自加一。
79.s2048,判断校验失败计数变量是否小于第二次数阈值,是则允许在校验失败时重复尝试对目标回滚程序校验,即执行s2045,否则执行s2049。
80.s2049,提示目标回滚程序校验失败导致回滚失败。
81.s205,刷写成功则执行程序标签修改将程序列表中的需回滚控制元件的现有程序标签修改为回滚目标程序的程序标签,记录刷写成功日志。
82.参阅图6所示,s100和s200中均涉及利用汽车的网关控制器、程序管理mcu和存储模块执行程序标签修改,s300利用汽车的网关控制器、程序管理mcu和存储模块执行程序标
签修改包括:
83.s301,向程序管理mcu发送程序标签修改请求。
84.s302,程序管理mcu响应程序标签修改请求发起第三安全加密验证,并判断第三安全加密验证是否通过,否则执行s303,是则执行s304。
85.s303,提示第三安全加密验证未通过。
86.s304,程序管理mcu从标签修改请求获取被修改控制元件和修改后程序标签。
87.s305,程序管理mcu利用被修改控制元件从程序列表查询到被修改程序标签,将被修改程序标签替换为修改后程序标签。
88.实施例2
89.参阅图7所示,本发明提供一种汽车程序自动存储回滚装置,包括:与车辆的网关控制器中网关mcu通讯连接的程序管理mcu,所述程序管理mcu电连接存储模块;所述存储模块存储至少一条指令,所述程序管理mcu读取并执行所述指令实现所述的汽车程序自动存储回滚控制方法。具体实施过程中,所述存储模块包括rom存储器和flash存储器,其中,所述flash存储器的存储空间分为5个区域,5个区域分别存储汽车的车辆信息、程序标签、程序文件、程序标定数据和刷写协议。其中,车辆信息包括vin、下线时间、刷写成功日志文件。
90.实施例3
91.本发明实施例提供一种实现汽车程序自动存储回滚控制方法的存储介质,所述实现汽车程序自动存储回滚控制方法的存储介质存储至少一条指令,读取并执行所述指令实现所述的汽车程序自动存储回滚控制方法。
92.本技术通过与网关控制器中mcu通讯连接的程序管路mcu、存储模块配合网关控制器实现各个控制元件的程序自动存储回滚。程序管路mcu、存储模块配合网关控制器执行程序标签修改和执行程序存储,能将控制元件现有的程序存储在汽车本地的存储模块中,使得存储模块保存各个控制元件应用过的历史程序,在汽车控制元件程序更新失败或升级后不适配而导致汽车功能缺失时,尤其是导致汽车无法联网时,能够通过执行程序回滚将控制元件的程序恢复到可用的历史版本,维护便捷高效,提升用户的用车体验。
93.在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
94.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
95.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
96.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发
明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1