本技术涉及智能汽车,具体涉及一种车辆域控制器安全启动方法、系统及存储介质。
背景技术:
1、车辆智能驾驶域控制器soc和mcu的硬盘存储,都分别划分有第一分区和第二分区。第一分区和第二分区大小相同,同一个时间之内soc和mcu只能在其中一个分区下运行,也就是说soc和mcu都在其对应的第一分区运行,或者都在其对应的第二分区运行。假如当前运行分区为第一分区,ota升级时会在第二分区进行程序的刷写,如果当前运行分区为第二分区,则在第一分区进行刷写。ota升级成功以后,域控制器会进行重启,soc和mcu都会切换到另一个分区运行,完成ota的升级。
2、现有技术中,mcu和soc的运行界面都是有mcu的ucb刷写记录决定的,在网络通信异常等特殊情况下,如果只有soc进行了重启,mcu没有进行重启,可能会导致soc和mcu的运行分区无法保持同为第一分区或者同为第二分区的问题。
技术实现思路
1、为解决以上技术问题,本技术提供了一种车辆域控制器安全启动方法、系统及存储介质。
2、本技术将第一控制单元的ucb刷写记录所在分区作为全局变量,并以全局变量决定第二控制单元的运行分区,并不以mcu的ucb刷写记录直接做为决定soc运行界面的因素。
3、第一方面,本技术提供了一种车辆域控制器安全启动方法,包括:
4、第一控制单元上电启动过程中,读取原ucb刷写记录,根据所述原ucb刷写记录确定第一控制单元上电启动后的运行分区,并赋值全局变量为所述原ucb刷写记录所在分区。
5、第二控制单元上电启动后,根据所述全局变量确定所述第二控制单元的运行分区。
6、进一步的,所述原ucb刷写记录为:所述第一控制单元上一次上电启动后的刷写分区。
7、第一控制单元的刷写分区在第一控制单元进行更新升级后,会进行一次数据记录,即ucb刷写记录,当第一控制单元进行重启时,会更换运行分区为上一次升级过程中的刷写分区,即原ucb刷写记录。
8、进一步的,所述第一控制单元包括:第一控制单元第一分区和第一控制单元第二分区;
9、其中,
10、第一控制单元第一分区为运行分区时,第一控制单元第二分区为刷写分区。
11、第一控制单元第一分区为刷写分区时,第一控制单元第二分区为运行分区。
12、进一步的,所述第二控制单元包括:第二控制单元第一分区和第二控制单元第二分区。
13、其中,
14、第二控制单元第一分区为运行分区时,第二控制单元第二分区为刷写分区。
15、第二控制单元第一分区为刷写分区时,第二控制单元第二分区为运行分区。。
16、当第一控制单元和第二控制单元处于运行状态时,一分区作为运行分区,另一分区作为刷写分区,通过此方法设计,可以无需关闭第一控制单元和第二控制单元便可实现车辆域控制器的更新升级。
17、进一步的,根据所述全局变量确定所述第二控制单元的运行分区,具体为括:
18、当全局变量为第一控制单元第一分区时,第二控制单元的运行分区为第二控制单元第一分区。
19、当全局变量为第一控制单元第二分区时,第二控制单元的运行分区为第二控制单元第二分区。
20、第一控制单元的运行分区需与第二控制单元的运行分区保持一致,第一控制单元第一分区对应第二控制单元第一分区,第一控制单元第二分区对应第二控制单元第二分区,全局变量为ucb刷写记录,也为当前第一控制单元的运行分区,所以第二控制单元运行分区的选择必须与全局变量相对应。
21、进一步的,所述安全启动方法,还包括:
22、当第一控制单元和第二控制单元均处于上电启动状态,且检测到第二控制单元存在新的ota更新包时,则依次根据所述新的ota更新包完成第二控制单元和第一控制单元刷写分区的固件刷写。
23、刷写更新完成后,第一控制单元设置新的ucb刷写记录为此次第一控制单元刷写分区。
24、对第一控制单元刷写分区和第二控制单元刷写分区进行刷写更新,更新完成后设置新的ucb刷写记录为第一控制单元刷写分区,在进行重新上电启动过后,第一控制单元运行分区和第二控制单元运行分区都将变为此次第一控制单元刷写分区和第二控制单元刷写分区。
25、进一步的,在设置新的ucb刷写记录之后,还包括:
26、若第一控制单元和第二控制单元均重启,则读取所述新的ucb刷写记录,并重新赋值全局变量;所述第一控制单元和第二控制根据赋值后的全局变量确定本轮运行分区。
27、由于在设置新的ucb刷写记录之后,ucb刷写记录已更新,第一控制单元重新启动上电过程中,全局变量也对应变化,第二控制单元的运行分区随着全局变量的变化而发生变化,此时第一控制单元和第二控制单元的运行分区发生同样变化,第一控制单元和第二控制单元的运行分区是一致的。
28、进一步的,在设置新的ucb刷写记录之后,还包括:
29、若第二控制单元重启,第一控制单元未重启,则第二控制单元根据原ucb刷写记录所对应的全局变量确定本轮运行分区。
30、由于在设置新的ucb刷写记录之后,ucb刷写记录已更新,此时若只有第二控制单元重启,由于第一控制单元并未重启,此时虽然更新了ucb刷写记录,但全局变量并未更新,第二控制单元的运行分区又是由全局变量所决定的,所以此时第二控制单元即使重启,第二控制单元运行分区依然不会发生改变,第一控制单元和第二控制单元的运行分区依然是相对应的。
31、本技术提出的一种车辆域控制器安全启动方法,将ucb刷写记录设置为了全局变量,并且第二控制单元的运行分区由所述全局变量所决定。由于全局变量赋值是在第一控制单元上电启动过程中,第一控制单元读取ucb刷写记录后发生的,因此当第一控制单元未重启时,全局变量并不会发生改变,第二控制单元的运行分区又是由全局变量所决定的,因此当第一控制单元未重启时,第二控制单元即使重启,运行分区也不会发生改变,保障了第一控制单元和第二控制单元的运行分区始终是一致的。
32、第二方面,本技术提出一种车辆域控制器的升级系统,包括:
33、第一控制单元运行分区判断模块:用于读取原ucb刷写记录,根据所述原ucb刷写记录确定第一控制单元上电启动后的运行分区;
34、全局变量存储模块:用于赋值全局变量为所述原ucb刷写记录所在分区;
35、第二控制单元运行分区判断模块:用于根据所述全局变量确定所述第二控制单元的运行分区。
36、车辆域控制器安全启动的系统还包括:
37、刷写模块:用于当第一控制单元和第二控制单元均处于上电启动状态,且检测到第二控制单元存在新的ota更新包时,则依次根据所述新的ota更新包完成第二控制单元和第一控制单元刷写分区的固件刷写。
38、ucb刷写记录设置模块:用于刷写更新完成后,第一控制单元设置新的ucb刷写记录为此次第一控制单元刷写分区。
39、需要说明的是,由于第一控制单元和第二控制单元均设有两个分区,因此第一控制单元运行分区判断模块和第二控制单元运行分区判断模块得出第一控制单元运行分区和第二控制单元运行分区后,未被视为运行分区的分区便自动划为第一控制单元刷写分区和第二控制单元刷写分区。
40、第三方面,基于同一发明构思,本技术还一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被控制处理器执行时实现如所述的车辆域控制器安全启动方法。
41、需要说明的是,由于本实施例中的计算机可读存储介质与上述实施例中的车辆域控制器安全启动方法基于相同的发明构思,因此,方法实施例中的相应内容同样适用于本系统实施例,此处不再详述。
42、综上所述,本技术提出一种车辆域控制器安全启动方法、系统及存储介质,本技术将第一控制单元的ucb刷写记录作为全局变量,并以全局变量决定第二控制单元的运行分区。在第一控制单元上电启动过程中,读取第一控制单元的ucb刷写记录,作为第一控制单元的运行分区,并设置为全局变量;第二控制单元上电启动后,根据全局变量决定第二控制单元的运行分区。
43、与现有技术相比,本技术至少存在以下有益效果:
44、本技术将第一控制单元的ucb刷写记录作为全局变量,并以全局变量决定第二控制单元的运行分区。而全局变量是在第一控制单元上电启动过程中,第一控制单元读取第一控制单元刷写分区后设置的,因此当第一控制单元未重启时,全局变量并不会发生改变,第二控制单元的运行分区又是由全局变量所决定的,因此当第一控制单元未重启时,第二控制单元即使重启,运行分区也不会发生改变,保障了第一控制单元和第二控制单元的运行分区始终是保持一致的。
45、通过此方法,可以保障在车辆域控制器升级过程中,第二控制单元和第一控制单元的运行分区始终是保持一致的,避免了在升级过程中由于异常,第二控制单元单独重启所导致的第一控制单元和第二控制单元的运行分区无法对应的问题。
1.一种车辆域控制器安全启动方法,其特征在于,具体包括:
2.根据权利要求1所述的一种车辆域控制器安全启动方法,其特征在于,所述原ucb刷写记录为:所述第一控制单元上一次上电启动后的刷写分区。
3.根据权利要求2所述的一种车辆域控制器安全启动方法,其特征在于,所述第一控制单元包括:第一控制单元第一分区和第一控制单元第二分区;
4.根据权利要求3所述的一种车辆域控制器安全启动方法,其特征在于,根据所述全局变量确定所述第二控制单元的运行分区,具体包括:
5.根据权利要求1-4任意所述的一种车辆域控制器安全启动方法,其特征在于,所述安全启动方法,还包括:
6.根据权利要求5所述的一种车辆域控制器安全启动方法,其特征在于,在设置新的ucb刷写记录之后,还包括:
7.根据权利要求5所述的一种车辆域控制器安全启动方法,其特征在于,在设置新的ucb刷写记录之后,还包括:
8.一种根据权利要求1-7任一项所述的车辆域控制器安全启动的系统,其特征在于,包括:
9.根据权利要求8所述的一种车辆域控制器安全启动的系统,其特征在于,所述系统还包括:
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,其特征在于,所述计算机可执行指令被控制处理器执行时实现如权利要求1-7任一项所述的车辆域控制器安全启动方法。