应用程序更新方法及ECU技术

技术编号:33715022 阅读:50 留言:0更新日期:2022-06-06 08:56
本申请公开一种应用程序更新方法及ECU。ECU包括通过总线连接的MPU和MCU,MPU向MCU发送与当前的备份区匹配的应用数据,MCU利用接收到的应用数据对备份区进行更新,将更新状态标识设置为第一标识,在完成更新后,MCU将当前的备份区设置为工作区,将另一分区设置为备份区,进行系统复位操作;每次复位启动后,若复位原因为上电复位或系统复位,更新状态标识为第一标识,且本次复位启动前的备份区完成更新,那么MCU启动当前的工作区,向MPU发送正常启动升级成功消息。本申请公开的方案,对应用程序升级的过程不需要占用ECU外部的CAN总线,也不需要静默车辆的CAN总线上的其他节点,不会影响车辆的其他功能。响车辆的其他功能。响车辆的其他功能。

【技术实现步骤摘要】
应用程序更新方法及ECU


[0001]本申请属于汽车通信
,尤其涉及一种应用程序更新方法及ECU。

技术介绍

[0002]随着技术的不断进步,各大OEM(Original Equipment Manufacturer,整车厂)在电动化、网联化、智能化、共享化等方面对汽车进行改进。其中,“软件定义汽车”是当前汽车的发展趋势,汽车软件的复杂度也随之大增,与之相应的是,ECU(Electronic Control Unit,电子控制单元)中应用程序的更新也就必不可少。
[0003]目前,更新ECU中应用程序的方案为:将诊断仪或其他设备与车辆的CAN(Controller Area Network,控制器局域网络)总线连接,通过CAN总线向ECU传输待更新应用程序的应用数据,从而对ECU中的应用程序进行更新。
[0004]但是,该方案存在缺陷:需要占用车辆的CAN总线向ECU传输应用数据,在该过程中,需要静默车辆的CAN总线上的其他节点,影响车辆除应用程序升级之外的其他功能。

技术实现思路

[0005]有鉴于此,本申请的目的在于提供一种应用程序更新方法及ECU,能够在不影响车辆的其他功能的前提下,对ECU中的应用程序进行更新。
[0006]为实现上述目的,本申请提供如下技术方案:
[0007]本申请提供一种应用程序更新方法,ECU包括通过总线连接的MPU和MCU,所述MCU的存储空间至少划分为第一分区和第二分区,在同一时刻,所述第一分区和第二分区中的一个分区被设置为工作区、另一个分区被设置为备份区,所述方法包括:
[0008]所述MPU从外部设备获取目标应用程序的应用数据;
[0009]所述MPU确定所述MCU当前的备份区,向所述MCU发送所述目标应用程序的第一应用数据,其中,所述第一应用数据为与当前的备份区匹配的应用数据;
[0010]所述MCU执行当前的工作区中的引导加载程序,利用所述第一应用数据对当前的备份区中的所述目标应用程序进行更新,并将更新状态标识设置为第一标识,标记当前的备份区;
[0011]在完成更新后,所述MCU将当前的备份区设置为工作区,将另一分区设置为备份区,进行系统复位操作;
[0012]每次复位启动后,所述MCU在确定复位原因为上电复位或系统复位,所述更新状态标识为所述第一标识,且本次复位启动前的备份区完成更新的情况下,将所述更新状态标识设置为第二标识,启动当前的工作区,向所述MPU发送正常启动升级成功消息。
[0013]可选的,在上述方法的基础上,还包括:
[0014]所述MPU响应所述正常启动升级成功消息,向所述MCU发送所述目标应用程序的第二应用数据,其中,所述第二应用数据为与当前的备份区匹配的应用数据;
[0015]所述MCU执行当前的工作区中的引导加载程序,利用所述第二应用数据对当前的
备份区中的所述目标应用程序进行更新,并将所述更新状态标识设置为所述第一标识,标记当前的备份区;
[0016]在完成更新后,所述MCU将当前的备份区设置为工作区,将另一分区设置为备份区,进行系统复位操作;
[0017]每次复位启动后,所述MCU在确定复位原因为上电复位或系统复位,所述更新状态标识为所述第一标识,且本次复位启动前的备份区完成更新的情况下,将所述更新状态标识设置为第二标识,启动当前的工作区,向所述MPU发送正常启动升级成功消息。
[0018]可选的,在上述方法中,所述MCU执行当前的工作区中的引导加载程序,利用所述第一应用数据对当前的备份区中的所述目标应用程序进行更新,包括:所述MCU执行当前的工作区中所述目标应用程序中的引导加载程序,利用所述第一应用数据对当前的备份区中的所述目标应用程序进行更新;
[0019]所述MCU执行当前的工作区中的引导加载程序,利用所述第二应用数据对当前的备份区中的所述目标应用程序进行更新,包括:所述MCU执行当前的工作区中所述目标应用程序中的引导加载程序,利用所述第二应用数据对当前的备份区中的所述目标应用程序进行更新。
[0020]可选的,在上述方法的基础上,还包括:
[0021]每次复位启动后,所述MCU在确定复位原因为上电复位或系统复位,所述更新状态标识为所述第一标识,且本次复位启动前的备份区未完成更新的情况下,启动当前的工作区,向所述MPU发送正常启动升级失败消息。
[0022]可选的,在上述方法的基础上,还包括:
[0023]每次复位启动后,所述MCU在确定复位原因为异常复位,所述更新状态标识为所述第二标识的情况下,确定当前的工作区存在异常,向所述MPU发送软件版本回滚消息,所述软件版本回滚信息包括待回滚的应用程序的标识;
[0024]所述MPU响应所述软件版本回滚信息,获得所述待回滚的应用程序的历史版本应用数据,向所述MCU发送所述历史版本应用数据;
[0025]所述MCU利用所述历史版本应用数据对当前的工作区中的应用程序进行更新。
[0026]可选的,在上述方法的基础上,还包括:
[0027]每次复位启动后,所述MCU在确定复位原因为异常复位,所述更新状态标识为所述第一标识的情况下,确定本次复位启动前的备份区中的应用程序存在异常,将所述更新状态标识设置为第三标识,向所述MPU发送升级导致分区故障消息。
[0028]可选的,在上述方法的基础上,还包括:
[0029]每次复位启动后,所述MCU在确定复位原因为上电复位或系统复位,所述更新状态标识为所述第二标识的情况下,启动当前的工作区,向所述MPU发送正常启动未升级消息。
[0030]可选的,在所述MPU从外部设备获取目标应用程序的应用数据后,还包括:所述MPU对获取到的应用数据进行安全校验。
[0031]本申请还提供一种ECU,所述ECU包括通过总线连接的MPU和MCU,所述MCU的存储空间至少划分为第一分区和第二分区,在同一时刻,所述第一分区和第二分区中的一个分区被设置为工作区、另一个分区被设置为备份区;
[0032]所述MPU用于:从外部设备获取目标应用程序的应用数据;确定所述MCU当前的备
份区,向所述MCU发送所述目标应用程序的第一应用数据,其中,所述第一应用数据为与当前的备份区匹配的应用数据;
[0033]所述MCU用于:执行当前的工作区中的引导加载程序,利用所述第一应用数据对当前的备份区中的所述目标应用程序进行更新,并将更新状态标识设置为第一标识,标记当前的备份区;在完成更新后,将当前的备份区设置为工作区,将另一分区设置为备份区,进行系统复位操作;每次复位启动后,在确定复位原因为上电复位或系统复位,所述更新状态标识为所述第一标识,且本次复位启动前的备份区完成更新的情况下,将所述更新状态标识设置为第二标识,启动当前的工作区,向所述MPU发送正常启动升级成功消息。
[0034]可选的,所述MPU还用于:响应所述MCU发送的正常启动升级成功消息,向所述M本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序更新方法,其特征在于,ECU包括通过总线连接的MPU和MCU,所述MCU的存储空间至少划分为第一分区和第二分区,在同一时刻,所述第一分区和第二分区中的一个分区被设置为工作区、另一个分区被设置为备份区,所述方法包括:所述MPU从外部设备获取目标应用程序的应用数据;所述MPU确定所述MCU当前的备份区,向所述MCU发送所述目标应用程序的第一应用数据,其中,所述第一应用数据为与当前的备份区匹配的应用数据;所述MCU执行当前的工作区中的引导加载程序,利用所述第一应用数据对当前的备份区中的所述目标应用程序进行更新,并将更新状态标识设置为第一标识,标记当前的备份区;在完成更新后,所述MCU将当前的备份区设置为工作区,将另一分区设置为备份区,进行系统复位操作;每次复位启动后,所述MCU在确定复位原因为上电复位或系统复位,所述更新状态标识为所述第一标识,且本次复位启动前的备份区完成更新的情况下,将所述更新状态标识设置为第二标识,启动当前的工作区,向所述MPU发送正常启动升级成功消息。2.根据权利要求1所述的方法,其特征在于,还包括:所述MPU响应所述正常启动升级成功消息,向所述MCU发送所述目标应用程序的第二应用数据,其中,所述第二应用数据为与当前的备份区匹配的应用数据;所述MCU执行当前的工作区中的引导加载程序,利用所述第二应用数据对当前的备份区中的所述目标应用程序进行更新,并将所述更新状态标识设置为所述第一标识,标记当前的备份区;在完成更新后,所述MCU将当前的备份区设置为工作区,将另一分区设置为备份区,进行系统复位操作;每次复位启动后,所述MCU在确定复位原因为上电复位或系统复位,所述更新状态标识为所述第一标识,且本次复位启动前的备份区完成更新的情况下,将所述更新状态标识设置为第二标识,启动当前的工作区,向所述MPU发送正常启动升级成功消息。3.根据权利要求2所述的方法,其特征在于,所述MCU执行当前的工作区中的引导加载程序,利用所述第一应用数据对当前的备份区中的所述目标应用程序进行更新,包括:所述MCU执行当前的工作区中所述目标应用程序中的引导加载程序,利用所述第一应用数据对当前的备份区中的所述目标应用程序进行更新;所述MCU执行当前的工作区中的引导加载程序,利用所述第二应用数据对当前的备份区中的所述目标应用程序进行更新,包括:所述MCU执行当前的工作区中所述目标应用程序中的引导加载程序,利用所述第二应用数据对当前的备份区中的所述目标应用程序进行更新。4.根据权利要求1、2或3所述的方法,其特征在于,还包括:每次复位启动后,所述MCU在确定复位原因为上电复位或系统复位,所述更新状态标识为所述第一标识,且本次复位启动前的备份区未完成更新的情况下,启动当前的工作区,向所述MPU发送正常启动升级失败消息。5.根据权利要求1、2或3所述的方法,其特征在于,还包括:
每次复位启动后,所述MCU在确定复位原因为异常复位,所述更新状态标识为所...

【专利技术属性】
技术研发人员:梁思潮
申请(专利权)人:北京经纬恒润科技股份有限公司
类型:发明
国别省市:

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

1