System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种OTA升级方法、代码镜像加载处理方法、系统及车辆技术方案_技高网

一种OTA升级方法、代码镜像加载处理方法、系统及车辆技术方案

技术编号:40827845 阅读:4 留言:0更新日期:2024-04-01 14:49
本发明专利技术公开了一种OTA升级方法,包括步骤:在进入OTA升级模式后,获取Flash中用于升级的系统分区,所述用于升级的系统分区至少设置有IPL引导区;从OTA升级包中获取地址管理文件,并刷新至IPL引导区;根据地址管理文件中的各软件代码镜像存储地址信息获得所述代码区域和数据区域的对应的最新的存储地址信息;从升级包中获取对应的软件代码镜像,并依次刷新至代码区域的最新存储地址中。本发明专利技术还公开了相应的镜像加载方法、系统及车辆。实现本发明专利技术,可以对Flash布局进行动态更新,且能对代码区域的各个镜像文件地址进行管理,且可以实现更安全的失败回滚操作,提高了安全性,且不会限制升级次数。

【技术实现步骤摘要】

本专利技术涉及车辆的采用空中下载技术(over-the-air technology,ota)进行软件升级的,特别是涉及一种可动态调整flash布局(layout)的ota升级方法、代码镜像加载处理方法、系统及车辆。


技术介绍

1、目前市面上的乘用车很多已经是智能汽车,其电子控制单元(electroniccontrol unit,ecu)大都支持采用ota进行升级。但是ota并不是万能的。如果前期的数据存储区域规划没有设计好,后期随着代码量逐渐增大,会超出了原先设计的布局(layout)边界。则在升级时,可会出现擦写失败,导致升级失败,或车辆功能受损,严重的直接需要拖回4s店处理。所以很多ecu在出厂前刷写好了固件,在后期进行ota刷写软件时,很少会去更改ecu flash的布局(layout)。

2、图1为现有的一种ecu flash涉及的系统分区的布局示意图;在现有的这种布局中,在量产前对固定地址区域(代码区域和数据区域)分别进行空间预留,但是随着后期功能不断迭代,其代码量随之增加,前期规划很容易失效;在实际应用中,在升级进行了数次后(如超过3~5次),就会开始使用到预留空间,如果更新次数超过一定数量(如10次以上),预留区域基本上就不够使用了;而在现有技术中,为了数据安全性,一般数据区域的位置是固定的。如果代码区的刷新一旦越界(超出原布局中代码区域及预留区域的边界),就可能导致无法获得正确数据而启动失败;具体地,如果刷新区域超过了预留区域,跨越到了数据区域,那么原有的数据就会丢失,或者系统启动后会出现运行问题,用户数据的丢失带来的体验是非常差的,比如用户设置了座椅位置(和个人身高匹配),这些数据丢失后,其设置会恢复到了默认的位置,这样会降低用户的体验,同时还存在刷新失败需要进行维修的风险。

3、在这种情形下,在进行代码功能迭代开发,就会遇到瓶颈,原先的设计预留代码区域在不够用时,就需要充分优化以前的代码,以缩小代码空间,这样会延迟研发周期,并带来额外的代码重构风险。

4、在现有技术中,还出现了将代码区域进行a/b面分区备份,以实现代码区进行回滚操作,但是一旦新老版本的代码容量差异很大,很容易会导致回滚失败;但在现有技术中,不是所有的ecu都采用a/b面分区备份技术。特别是对于数据区域,由于数据分区中的数据是源源不断地进行实时更新的,故使用a/b面分区备份没有太大意义,切换到另外一个分区(如a→b分区),可能无法得到a分区实时的最新参数数据。故在现有技术中,针对无备份数据区的ecu,一旦刷新数据区域失败后,就无法知道数据区该如何恢复从哪个地址到哪个地址段,降低了升级的安全性。

5、故在现有技术中,无法在升级过程中,对ecu的flash布局无法进行动态更新,会限制升级次数或降低安全性。


技术实现思路

1、本专利技术所要解决的技术问题在于,提供一种ota升级方法、代码镜像加载处理方法、系统及车辆,在ota升级过程中,可以对flash布局进行动态更新,且能对代码区域的各个镜像文件地址进行管理,且可以实现更安全的失败回滚操作,提高了安全性,且不会限制升级次数。

2、为解决上述技术问题,作为本专利技术的一方面,提供一种ota升级方法,其至少包括如下步骤:在进入ota升级模式后,获取flash中用于升级的系统分区,所述用于升级的系统分区至少设置有boot区域、ipl引导区、代码区域和数据区域;

3、从ota升级包中获取地址管理文件,并刷新至所述用于升级的系统分区的ipl引导区,所述地址管理文件中包含有本次升级对应的各软件代码镜像存储地址信息;

4、根据所述地址管理文件中的各软件代码镜像存储地址信息获得所述代码区域的对应的最新的存储地址信息;

5、根据本次升级对应的软件代码镜像存储地址信息,从升级包中获取对应的软件代码镜像,并依次刷新至代码区域的对应的最新的存储地址中。

6、作为本专利技术的另一方面,还提供一种ota升级系统,其至少包括:

7、升级分区获取单元,用于在进入ota升级模式后,获取flash中用于升级的系统分区,所述用于升级的系统分区至少设置有boot区域、ipl引导区、代码区域和数据区域;

8、地址管理文件获取单元,用于从ota升级包中获取地址管理文件,并刷新至所述用于升级的系统分区的ipl引导区,所述地址管理文件中包含有本次升级对应的各软件代码镜像存储地址信息;

9、布局更新单元,用于根据所述地址管理文件中的各软件代码镜像存储地址信息获得所述代码区域的对应的最新的存储地址信息;

10、镜像刷新处理单元,用于根据本次升级对应的软件代码镜像存储地址信息,从升级包中获取对应的软件代码镜像,并依次刷新至代码区域的最新存储地址中。

11、作为本专利技术的又一方面,还提供一种代码镜像加载处理方法,其至少包括如下步骤:

12、启动当前活动分区的boot区域的bootload程序,当前活动分区至少设置有boot区域、ipl引导区、代码区域和数据区域,代码区域中预先存储有至少一软件代码镜像;

13、加载活动分区的ipl引导区,获得其中的地址管理文件,根据地址管理文件获得代码区域中每一软件代码镜像的存储地址信息;

14、根据每一软件代码镜像的存储地址信息,依序加载存储在所述代码区域中每一软件代码镜像并执行。

15、作为本专利技术的另一方面,还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如前述的方法的步骤。

16、作为本专利技术的另一方面,还提供一种车辆,其部署有多个电子控制单元,至少部分电子控制单元采用如前述的方法的步骤进行ota升级或代码镜像加载处理工作。

17、实施本专利技术实施例,具有如下的有益效果:

18、本专利技术提供了一种ota升级方法、代码镜像加载处理方法、系统及车辆。通过设置ipl引导区,在boot区工作时,首先加载ipl引导区;根据ipl引导区中的地址管理文件,对代码区域的各代码的镜像文件的地址进行管理,可以在升级过程中实现对flash布局进行动态更新,以及在运行中准确加载各代码的镜像文件;同时可以实现对数据区域的位置进行更新;从而可以实现安全的升级及加载运行;

19、实施本专利技术实施例,采用全新升级方案和动态的布局更新策略,不再受量产前规划的布局所限制,可明显提高硬件的资源利用率以及后期功能迭代的次数;

20、实施本专利技术实施例,在刷新失败后进行回滚时,由于ipl引导区的地址管理文件设置了备份机制,从而可以真地的回到刷新前的版本,避免用户数据区的丢失,提高了用户的体验;

21、实施本专利技术实施例,由于ipl引导区中可以管理代码区域的各代码的镜像文件,从而可以应用于各种类型或更复杂的ecu,即使这些ecu是复杂域控制器,固件代码格式种类和数量更多,也可以很容易地进行管理。

本文档来自技高网...

【技术保护点】

1.一种OTA升级方法,其特征在于,至少包括如下步骤:

2.如权利要求1所述的方法,其特征在于,所述根据所述地址管理文件中的各软件代码镜像存储地址信息获得所述代码区域对应的最新的存储地址信息,包括:

3.如权利要求2所述的方法,其特征在于,确定是否调整所述数据区域的存储范围后,还包括:

4.如权利要求3所述的方法,其特征在于,包括:

5.如权利要求1至3任一项所述的方法,其特征在于,在每次升级之前,将用于升级的系统分区中的IPL引导区的地址管理文件、代码区域中的软件代码镜像和数据区域的内容预先存储于所述Flash中一个备份区域中。

6.如权利要求1所述方法,其特征在于,所述在进入OTA升级模式后,获取Flash中用于升级的系统分区,进一步包括:

7.如权利要求6所述的方法,其特征在于,所述将Flash中当前的两个系统分区中的一个确定为升级分区,另一个确定为备份分区,包括:

8.如权利要求7所述的方法,其特征在于,包括:

9.一种OTA升级系统,其特征在于,至少包括:

10.如权利要求9所述的系统,其特征在于,所述布局更新单元包括:

11.如权利要求10所述的系统,其特征在于,包括:

12.如权利要求8至10任一项所述的系统,其特征在于,所述升级分区获取单元进一步用于:

13.如权利要求12所述的系统,其特征在于,包括:

14.一种代码镜像加载处理方法,其特征在于,至少包括如下步骤:

15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8、14中任一项所述的方法的步骤。

16.一种车辆,其特征在于,其部署有多个电子控制单元,至少部分电子控制单元采用如权利要求1至8、14中任一项所述的方法的步骤进行OTA升级或代码镜像加载处理工作。

...

【技术特征摘要】

1.一种ota升级方法,其特征在于,至少包括如下步骤:

2.如权利要求1所述的方法,其特征在于,所述根据所述地址管理文件中的各软件代码镜像存储地址信息获得所述代码区域对应的最新的存储地址信息,包括:

3.如权利要求2所述的方法,其特征在于,确定是否调整所述数据区域的存储范围后,还包括:

4.如权利要求3所述的方法,其特征在于,包括:

5.如权利要求1至3任一项所述的方法,其特征在于,在每次升级之前,将用于升级的系统分区中的ipl引导区的地址管理文件、代码区域中的软件代码镜像和数据区域的内容预先存储于所述flash中一个备份区域中。

6.如权利要求1所述方法,其特征在于,所述在进入ota升级模式后,获取flash中用于升级的系统分区,进一步包括:

7.如权利要求6所述的方法,其特征在于,所述将flash中当前的两个系统分区中的一个确定为升级分区,另一个确定为备份分区...

【专利技术属性】
技术研发人员:车龙莫映功李志新吴怀仁
申请(专利权)人:广州汽车集团股份有限公司
类型:发明
国别省市:

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

1