一种数据更新方法、装置及车辆制造方法及图纸

技术编号:29583214 阅读:47 留言:0更新日期:2021-08-06 19:41
本申请实施例提供了一种数据更新方法、装置及车辆,响应于引导程序更新请求,检测第一存储区域和/或第二存储区域中是否存储有有效的第一引导程序;若第一存储区域中存储有有效的第一引导程序,则设置跳转指令指向第一存储区域;运行第一引导程序,并依次更新第二存储区域、第一存储区域中的引导程序为第二引导程序。通过在两个存储区域分别存储引导程序,并且在数据更新过程中,当第一存储区域中有有效的第一引导程序时,则首先更新第二存储区域的引导程序为第二引导程序,之后再更新第一存储区域的引导程序为第二引导程序。即使在数据更新过程中出现故障,在执行重置后,始终能有一个存储区域的引导程序有效,从而确保电子控制单元的正常运行。

【技术实现步骤摘要】
一种数据更新方法、装置及车辆
本申请涉及车辆电子
,特别是涉及一种数据更新方法、装置、车辆和计算机可读存储介质。
技术介绍
随着车辆技术的发展,车辆上一般都安装有电子控制单元(ElectronicControlUnit,ECU),包括微处理器、存储器等。这些电子控制单元通常需要引导程序(bootloader),并通过控制器局域网络(ControllerAreaNetwork,CAN)通信实现应用软件的数据更新。在实际应用过程中,引导程序可能由于本身存在缺陷或需要增加新的功能等原因,也需要进行数据更新。相关技术中,如果在对引导程序自身进行数据更新的过程中,引导程序区域数据写入失败,整个电子控制单元将无法正常运行,也无法使用CAN通信进行数据更新,该电子控制单元必须返厂更换或维修。
技术实现思路
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据更新方法和相应的一种数据更新装置、车辆、计算机可读存储介质。为了解决上述问题,本申请实施例公开了一种数据更新方法,所述方法包括:响应于引导程序更新请求,检测第一存储区域和/或第二存储区域中是否存储有有效的第一引导程序,其中,所述第一存储区域和所述第二存储区域用于存储引导程序;若所述第一存储区域中存储有有效的第一引导程序,则设置跳转指令指向所述第一存储区域;运行所述第一引导程序,并依次更新所述第二存储区域、所述第一存储区域中的引导程序为第二引导程序。在一种可选的实现方式中,所述运行所述第一引导程序的步骤,包括:复制所述第一存储区域中的第一引导程序至随机存取存储器中;设置跳转指令指向所述随机存取存储器;运行所述随机存取存储器中的所述第一引导程序。在一种可选的实现方式中,在所述依次更新所述第二存储区域、所述第一存储区域中的引导程序为第二引导程序的步骤之后,还包括:擦除所述随机存取存储器。在一种可选的实现方式中,所述依次更新所述第二存储区域、所述第一存储区域中的引导程序为第二引导程序的步骤,包括:擦除所述第二存储区域;将所述第二引导程序写入所述第二存储区域;擦除所述第一存储区域;将所述第二引导程序写入所述第一存储区域。在一种可选的实现方式中,所述第一存储区域和所述第二存储区域位于闪存中。在一种可选的实现方式中,在所述依次更新所述第二存储区域、所述第一存储区域中的引导程序为第二引导程序的步骤之后,还包括:在第一应用程序运行期间,若接收到应用程序更新请求,则重置所述第一应用程序,其中,所述第一应用程序存储在第三存储区域;检测有效的第二引导程序,具体包括:若检测到所述第一存储区域中存储有有效的第二引导程序,则设置跳转指令指向所述第一存储区域;或者,若检测到所述第二存储区域中存储有有效的第二引导程序,则设置跳转指令指向所述第二存储区域;运行所述第二引导程序,擦除所述第三存储区域,并将第二应用程序写入所述第三存储区域,以更新所述第三存储区域中的数据。为了解决上述问题,本申请实施例公开了一种数据更新装置,所述装置包括:检测模块,被配置为响应于引导程序更新请求,检测第一存储区域和/或第二存储区域中是否存储有有效的第一引导程序,其中,所述第一存储区域和所述第二存储区域用于存储引导程序;跳转模块,被配置为若所述第一存储区域中存储有有效的第一引导程序,则设置跳转指令指向所述第一存储区域;第一更新模块,被配置为运行所述第一引导程序,并依次更新所述第二存储区域、所述第一存储区域中的引导程序为第二引导程序。在一种可选的实现方式中,所述第一更新模块具体被配置为:复制所述第一存储区域中的第一引导程序至随机存取存储器中;设置跳转指令指向所述随机存取存储器;运行所述随机存取存储器中的所述第一引导程序。在一种可选的实现方式中,所述第一更新模块具体被配置为:擦除所述第二存储区域;将所述第二引导程序写入所述第二存储区域;擦除所述第一存储区域;将所述第二引导程序写入所述第一存储区域。在一种可选的实现方式中,所述装置还包括第二更新模块,被配置为:在第一应用程序运行期间,若接收到应用程序更新请求,则重置所述第一应用程序,其中,所述第一应用程序存储在第三存储区域;检测有效的第二引导程序,具体包括:若检测到所述第一存储区域中存储有有效的第二引导程序,则设置跳转指令指向所述第一存储区域;或者,若检测到所述第二存储区域中存储有有效的第二引导程序,则设置跳转指令指向所述第二存储区域;运行所述第二引导程序,擦除所述第三存储区域,并将第二应用程序写入所述第三存储区域,以更新所述第三存储区域中的数据。为了解决上述问题,本申请实施例公开了一种车辆,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现任一实施例所述的数据更新方法。为了解决上述问题,本申请实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现任一实施例所述的数据更新方法。本申请实施例包括以下优点:在本申请实施例中,响应于引导程序更新请求,首先检测第一存储区域和/或第二存储区域中是否存储有有效的第一引导程序,其中,第一存储区域和第二存储区域用于存储引导程序;若第一存储区域中存储有有效的第一引导程序,则设置跳转指令指向第一存储区域;然后运行第一引导程序,并依次更新第二存储区域、第一存储区域中的引导程序为第二引导程序。本申请技术方案,通过在两个存储区域分别存储引导程序,并且在数据更新过程中,当第一存储区域中存储有有效的第一引导程序时,则首先将第二存储区域的引导程序更新为第二引导程序,之后再将第一存储区域的引导程序更新为第二引导程序。这样,即使在数据更新过程中出现写入失败等问题,无论写入失败是发生在第一存储区域还是第二存储区域,在电子控制单元执行重置后,始终能有一个存储区域的引导程序有效,从而能够确保电子控制单元的正常运行。附图说明图1是相关技术中电子控制单元的工作流程示意图。图2是相关技术中更新应用程序的流程示意图。图3是相关技术中更新应用程序时的内存更新流程示意图。图4是相关技术中更新引导程序的流程示意图。图5是相关技术中更新引导程序时的内存更新流程示意图。图6是本申请一实施例提供的一种数据更新方法的步骤流程图;图7是本申请一实施例提供的更新引导程序的流程示意图。图8是本申请一实施例提供的更新引导程序的流程示意图。图9是本申请一实施例提供的更新引导程序时的内存更新流程示意图。图10是本申请一实施例提供的更新引导程序时的内存更新流程示意图。图11是本申请一实施例提供的更新应用程序的步骤流程图。图12是本申请一实施例本文档来自技高网...

【技术保护点】
1.一种数据更新方法,其特征在于,所述方法包括:/n响应于引导程序更新请求,检测第一存储区域和/或第二存储区域中是否存储有有效的第一引导程序,其中,所述第一存储区域和所述第二存储区域用于存储引导程序;/n若所述第一存储区域中存储有有效的第一引导程序,则设置跳转指令指向所述第一存储区域;/n运行所述第一引导程序,并依次更新所述第二存储区域、所述第一存储区域中的引导程序为第二引导程序。/n

【技术特征摘要】
1.一种数据更新方法,其特征在于,所述方法包括:
响应于引导程序更新请求,检测第一存储区域和/或第二存储区域中是否存储有有效的第一引导程序,其中,所述第一存储区域和所述第二存储区域用于存储引导程序;
若所述第一存储区域中存储有有效的第一引导程序,则设置跳转指令指向所述第一存储区域;
运行所述第一引导程序,并依次更新所述第二存储区域、所述第一存储区域中的引导程序为第二引导程序。


2.根据权利要求1所述的数据更新方法,其特征在于,所述运行所述第一引导程序的步骤,包括:
复制所述第一存储区域中的第一引导程序至随机存取存储器中;
设置跳转指令指向所述随机存取存储器;
运行所述随机存取存储器中的所述第一引导程序。


3.根据权利要求2所述的数据更新方法,其特征在于,在所述依次更新所述第二存储区域、所述第一存储区域中的引导程序为第二引导程序的步骤之后,还包括:
擦除所述随机存取存储器。


4.根据权利要求1所述的数据更新方法,其特征在于,所述依次更新所述第二存储区域、所述第一存储区域中的引导程序为第二引导程序的步骤,包括:
擦除所述第二存储区域;
将所述第二引导程序写入所述第二存储区域;
擦除所述第一存储区域;
将所述第二引导程序写入所述第一存储区域。


5.根据权利要求1所述的数据更新方法,其特征在于,所述第一存储区域和所述第二存储区域位于闪存中。


6.根据权利要求1至5任一项所述的数据更新方法,其特征在于,在所述依次更新所述第二存储区域、所述第一存储区域中的引导程序为第二引导程序的步骤之后,还包括:
在第一应用程序运行期间,若接收到应用程序更新请求,则重置所述第一应用程序,其中,所述第一应用程序存储在第三存储区域;
检测有效的第二引导程序,具体包括:若检测到所述第一存储区域中存储有有效的第二引导程序,则设置跳转指令指向所述第一存储区域;或者,若检测到所述第二存储区域中存储有有效的第二引导程序,则设置跳转指令指向所述第二存储区域;
运行所述第二引导程序,擦除所述第三存储区域,并将第二应用程序写入所述第三存储区域,以更新所述第三存储区域中的数据。

...

【专利技术属性】
技术研发人员:金正哲
申请(专利权)人:广州橙行智动汽车科技有限公司
类型:发明
国别省市:广东;44

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

1