System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及车辆,特别涉及一种控制器升级方法、装置、车辆和可读存储介质。
技术介绍
1、智能驾驶技术的发展使得车辆中的控制器逐渐增多,控制器的软件升级和参数标定等需求也随之增加。随着控制器使用时间的推移,控制器中的运行代码出现问题或者控制器的功能需要更新时,就需要对控制器中的程序进行升级。
2、目前主流用于控制器升级的标定及刷写协议包括ccp/xcp标定协议与uds诊断协议,ccp/xcp标定协议或uds诊断协议对控制器升级时,会先擦除控制器上原有的数据,再重新写入新的数据完成升级。
3、但是,现有的控制器升级方法,当升级过程中发生异常掉电或通信故障时,没有将新数据完全写入控制器即软件升级失败,将造成控制器逻辑错误,存在控制器死机的风险。
技术实现思路
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、所述第二更新模块具体用于:在所述第二区域中升级后的目标程序的程序数据符合所本文档来自技高网...
【技术保护点】
1.一种控制器升级方法,其特征在于,应用于车辆的控制器,所述控制器包括第一区域和第二区域,所述第一区域和所述第二区域均用于存储目标程序数据,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述第二区域中的目标程序更新为新版本的目标程序之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述第二区域中的目标程序更新为新版本的目标程序之后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述将所述第二区域中的目标程序更新为新版本的目标程序之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述检查所述第一区域中的目标程序的程序数据以及所述第二区域中升级后的目标程序的程序数据是否符合所述预设数据要求之后,所述方法还包括:
6.根据权利要求1-5任一所述的方法,其特征在于,所述程序数据符合预设数据要求包括:所述程序数据的数据有效性符合预设数据有效性要求和/或,所述程序数据的数据完整性符合预设数据完整性要求。
7.一种控制器升级装置,其特征在于,应用于车辆的
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
9.一种车辆,其特征在于,所述车辆安装有如权利要求7或8所述的控制器升级装置,用于执行如权利要求1-6任一所述的控制器升级方法。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-6任一所述的控制器升级方法的步骤。
...【技术特征摘要】
1.一种控制器升级方法,其特征在于,应用于车辆的控制器,所述控制器包括第一区域和第二区域,所述第一区域和所述第二区域均用于存储目标程序数据,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述第二区域中的目标程序更新为新版本的目标程序之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述第二区域中的目标程序更新为新版本的目标程序之后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述将所述第二区域中的目标程序更新为新版本的目标程序之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述检查所述第一区域中的目标程序的程序数据以及所述第二区域中升级后的目标程序的程序数据是否符合所述预设数据要求之后,所述方法还包括:
...【专利技术属性】
技术研发人员:部荣,董晓,张海源,朱崇敬,
申请(专利权)人:江苏智驭汽车科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。