CN116009919A - 一种车辆控制器的远程升级方法、装置、设备及存储介质 - Google Patents
一种车辆控制器的远程升级方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116009919A CN116009919A CN202310056240.2A CN202310056240A CN116009919A CN 116009919 A CN116009919 A CN 116009919A CN 202310056240 A CN202310056240 A CN 202310056240A CN 116009919 A CN116009919 A CN 116009919A
- Authority
- CN
- China
- Prior art keywords
- program
- partition
- vehicle controller
- upgrade
- upgrading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种车辆控制器的远程升级方法、装置、设备及存储介质,通过获取车辆控制器中当前程序的备份程序、车辆控制器的升级程序,所述备份程序存储在预设存储器的第一分区;然后基于所述第一分区中的备份程序对所述预设存储器的第二分区进行擦除;最后将所述升级程序写入至擦除后的第二分区,并基于所述第一分区中的备份程序、所述第二分区中的升级程序对车辆控制器进行升级。本发明通过将车辆控制器运行所需的程序进行备份,在升级时,直接将备份程序存放至预设存储器的第一分区中,在确认存在备份程序的情况下,利用备份程序和升级程序共同执行升级,以避免出现升级失败时无法返回至历史版本的问题。
Description
技术领域
本申请涉及远程升级技术领域,具体涉及一种车辆控制器的远程升级方法、装置、设备及存储介质。
背景技术
随着软件定义汽车概念的不断实施推进,汽车的各项功能与电气系统已变得密不可分,电气系统中各个控制单元的软件需要被频繁更新。尽管当前OTA技术已经可以通过UDS诊断服务对整车各个电控单元实施远程更新,但因受各电控单元CAN/CANFD网络带宽的影响,电控单元更新时存在更新失败,无法回滚到历史版本的问题。
针对上述问题,专利CN201910565019.3公开的一种车载电控单元控制程序备份升级方法,通过生成两个程序来避免更新失败时,车载控制器无法正常使用。但是上述专利只是通过备份程序的链接进行备份,没有对备份程序进行检验的机制,仍然会存在更新失败,无法回滚到历史版本的问题。
发明内容
本发明的目的之一在于提供一种车辆控制器的远程升级方法、装置、设备及存储介质,以解决现有技术中的电控单元更新时存在更新失败,也无法回到历史版本的技术问题。
为了实现上述目的,本发明采用的技术方案如下:
一种车辆控制器的远程升级方法,所述方法包括:
获取车辆控制器中当前程序的备份程序、车辆控制器的升级程序,所述备份程序存储在预设存储器的第一分区;
基于所述第一分区中的备份程序对所述预设存储器的第二分区进行擦除;
将所述升级程序写入至擦除后的第二分区,并基于所述第一分区中的备份程序、所述第二分区中的升级程序对车辆控制器进行升级。
在本发明一实施例中,获取车辆控制器中当前程序的备份程序,包括:
对所述预设存储器的第一分区进行检查,在所述第一分区中不存在当前程序的备份程序时,将当前程序备份至所述预设存储器的第一分区中,得到当前程序的备份程序。
在本发明一实施例中,基于所述第一分区中的备份程序对所述预设存储器的第二分区进行擦除,包括:
向所述车辆控制器发送文件传输请求;
在接收到来自所述车辆控制器的肯定响应时,对所述预设存储器的第二分区进行擦除,所述肯定响应基于所述文件传输请求、所述第一分区中的备份程序生成。
在本发明一实施例中,将所述升级程序写入至擦除后的第二分区中,包括:
在对所述预设存储器的第二分区擦除成功时,向所述车辆控制器发送下载请求,所述下载请求包括下载数据的起始地址、下载数据的长度信息;
在接收到来自所述车辆控制器的最大缓存信息时,将所述升级程序分割为多个小于或者等于所述最大缓存信息的数据块;对每一个数据块构建唯一编码,并按照预先设定的顺序将当前数据块、所述当前数据块对应的唯一编码发送至第二分区;
在接收到来自所述车辆控制器的第一返回编号时,按照预先设定的顺序将下一个数据块、所述下一个数据块对应的唯一编码发送至第二分区,直至将所有的数据块、所有的唯一编码发送至第二分区,得到升级程序;所述第一返回编号基于所述当前数据块、所述当前数据块对应的唯一编码生成;
在接收到来自所述车辆控制器的发送的中断或否定响应时,将所述中断或否定响应对应的唯一编码、所述中断或否定响应对应的数据块重新发送至第二分区;在接收到来自所述车辆控制器的第二返回编号时,按照预先设定的顺序将所述中断或否定响应对应的唯一编码的下一个唯一编码、所述中断或否定响应对应的数据块的下一个数据块发送至第二分区,直至将所有的数据块、所有的唯一编码发送至第二分区,得到升级程序;所述第二返回编号基于所述中断或否定响应对应的唯一编码、所述中断或否定响应对应的数据块生成。
在本发明一实施例中,得到升级程序之后,还包括:
向所述车辆控制器发送校验请求;
在接收到来自所述车辆控制器的校验通过响应时,通过对升级程序的内容校验;
在接收到来自所述车辆控制器的校验不通过响应时,重新获取所述控制器的升级程序,并将重新获取的升级程序写入至擦除后的第二分区。
在本发明一实施例中,得到升级程序之后,还包括:
在接收到来自所述车辆控制器的所述升级程序的程序版本时,将所述程序版本号与最新版本号进行对比;
在所述程序版本号与最新版本号一致时,通过对升级程序的版本校验;
在所述程序版本号低于所述最新版本号时,重新获取所述控制器的升级程序,并将重新获取的升级程序写入至擦除后的第二分区。
在本发明一实施例中,基于所述第一分区中的备份程序、所述第二分区中的升级程序对车辆控制器进行升级,包括:
向所述车辆控制器发送安装请求,以使得所述车辆控制根据所述第二分区中升级程序进行升级;
在接收到来自所述车辆控制器的安装完成响应时,对安装完成的程序进行有效性校验;所述安装完成响应基于所述安装请求生成;
在所述安装完成的程序的有效性校验通过时,完成对车辆控制器的升级;
在所述安装完成的程序的有效性校验未通过时,根据所述第一分区中的备份程序对所述车辆控制器执行程序回滚。
本发明还提供一种车辆控制器的远程升级装置,所述装置包括:
采集模块,用于获取车辆控制器中当前程序的备份程序、车辆控制器的升级程序,所述备份程序存储在预设存储器的第一分区;
擦除模块,用于基于所述第一分区中的备份程序对所述预设存储器的第二分区进行擦除;
写入和升级模块,用于将所述升级程序写入至擦除后的第二分区中,并基于所述第一分区中的备份程序、所述第二分区中的升级程序对车辆控制器进行升级。
本发明还提供一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上所述的一种车辆控制器的远程升级方法。
本发明还提供一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行如上所述的一种车辆控制器的远程升级方法。
本发明的有益效果:本发明中的一种车辆控制器的远程升级方法、装置、设备及存储介质,通过获取车辆控制器中当前程序的备份程序、车辆控制器的升级程序,所述备份程序存储在预设存储器的第一分区;然后基于所述第一分区中的备份程序对所述预设存储器的第二分区进行擦除;最后将所述升级程序写入至擦除后的第二分区,并基于所述第一分区中的备份程序、所述第二分区中的升级程序对车辆控制器进行升级。本发明通过将车辆控制器运行所需的程序进行备份,在升级时,直接将备份程序存放至预设存储器的第一分区中,在确认存在备份程序的情况下,利用备份程序和升级程序共同执行升级,以避免出现升级失败时无法返回至历史版本的问题。
附图说明
图1是本申请的一示例性实施例示出的车辆控制器的远程升级方法的应用场景图;
图2是本申请的一示例性实施例示出的车辆控制器的远程升级方法的流程示意图;
图3为本申请一实施例中的检查备份程序的流程示意图;
图4为本申请一实施例中的擦除请求的流程示意图;
图5为本申请一实施例中的程序写入的流程示意图;
图6为本申请一实施例中的程序内容校验的流程示意图;
图7为本申请一实施例中的程序版本校验的流程示意图;
图8为本申请一实施例中的程序升级的流程示意图;
图9是本申请的一示例性实施例示出的车辆控制器的远程升级装置的结构示意图;
图10示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
图1是本申请的一示例性实施例示出的车辆控制器的远程升级方法的应用场景图,如图1所示,本实施例中的车辆控制器的远程升级方法除电控单元(车辆控制器)本身所必需的硬件外,还需要在电控单元上增加一个乙方存储芯片,乙方芯片包括但不限于NorFlash或NandFlash或eMMC(EmbeddedMultiMediaCard,嵌入式多媒体卡),对于乙方存储芯片的主要要求为容量需大于等于车辆控制器programflash(主闪存)的两倍,且读取速度接近或大于programflash写入速度、写入速度接近或大于programflash读取速度。
此外,为满足更新过程的低感知和高可靠性,还需要如下功能模块:
管理模块:在乙方存储芯片上建立两个与programflash大小等同的两个分区,分区0用于存储目标版本的软件数据;分区1用于存储programflash当前存储数据的备份。
部署模块:主要用于接收、储存、验证更新数据;该模块在电控单元的程序启动后一直运行,当OTA(Over-the-AirTechnology,空中下载技术)主节点需要向目标电控单元传输升级文件时,OTA主节点和目标电控单元使用一对固定的应用报文ID进行通信,通信的报文格式可参考CAN(ControllerAreaNetwork,控制器域网)/CANFD(ControllerAreaNetworkwithFlexibleFata rate,带有灵活数据速率的控制器域网)的UDS(UnifiedDiagnosticServices,统一诊断服务)网络层规则。
通信使用的应用层服务按功能可分为如下服务:
1)使能目标版本数据传输:自定义服务
2)强制初始化(强制中断当前任务,使部署模块回到待部署的初始化状态):自定义服务
3)数据擦除:可参照UDS应用层0x31
4)数据传输:可参照UDS应用层0x34,0x36,0x37进行适应性修改;
5)数据校验:自定义服务
备份模块:集成在电控单元应用程序软件中,主要用于备份当前单片机programflash中的全部数据。
安装模块:集成在电控单元的BootLoader(引导加载程序)中,主要用于将要安装的目标版本从乙方存储芯片的0分区复制到单片机的programflash,或是在需要进行回滚操作时从乙方存储芯片的1分区复制到单片机的programflash。安装模块在进行安装操作时向外周期性广播当前的安装进度或状态。
如图2所示,在一示例性的实施例中,一种车辆控制器的远程升级方法至少包括步骤S210至步骤S230,详细介绍如下:
S210,获取车辆控制器中当前程序的备份程序、车辆控制器的升级程序,所述备份程序存储在预设存储器的第一分区;
S220,基于所述第一分区中的备份程序对所述预设存储器的第二分区进行擦除;
S230,将所述升级程序写入至擦除后的第二分区,并基于所述第一分区中的备份程序、所述第二分区中的升级程序对车辆控制器进行升级。
在本实施例中,备份程序是指车辆控制器当前版本的备份程序,通过在乙方存储芯片的第一分区(分区0)中增加备份程序,避免出现升级失败后,车辆控制器无法返回至当前程序版本,从而导致对应功能失效。第二分区(分区1)中的升级程序用于执行车辆控制器的升级操作。
在本发明一实施例中,获取车辆控制器中当前程序的备份程序的过程可以包括步骤S310,详细介绍如下:
S310,对所述预设存储器的第一分区进行检查,在所述第一分区中不存在当前程序的备份程序时,将当前程序备份至所述预设存储器的第一分区中,得到当前程序的备份程序。
图3为本申请一实施例中的检查备份程序的流程示意图,如图3所示,在本实施例中,车辆控制器在上电初始化后开始运行当前版本的应用程序,备份模块首先检查当前版本的应用程序是否已在乙方存储芯片的0分区备份,若未备份,则进行备份;在备份完成后进入等待状态(Standby)。
在本发明一实施例中,基于所述第一分区中的备份程序对所述预设存储器的第二分区进行擦除的过程可以包括步骤S410至步骤S420,详细介绍如下:
S410,向所述车辆控制器发送文件传输请求;
S420,在接收到来自所述车辆控制器的肯定响应时,对所述预设存储器的第二分区进行擦除,所述肯定响应基于所述文件传输请求、所述第一分区中的备份程序生成。
图4为本申请一实施例中的擦除请求的流程示意图,如图4所示,在本实施例中,当OTA升级主控(可以是主控芯片)需要对目前电控单元进行软件升级时,首先向部署模块发起新版本文件传输的请求,被升级电控单元收到请求后根据当前状态进行应答,若处于Standby状态则进行肯定响应,在其他状态(包括检测到有乙方存储相关故障存在的情况)则回复否定响应,OTA升级主控结束升级流程。
OTA升级主控收到肯定响应,则向被升级电控单元发送对应的服务请求擦除乙方存储1分区(擦除的起始地址和长度取决于即将下载数据在programflash中的起始地址和长度)。被升级电控单元完成擦除后发送肯定响应给OTA升级主控;若发生擦除失败则发送否定响应给OTA升级主控,OTA升级主控主动结束更新流程。
在本发明一实施例中,将所述升级程序写入至擦除后的第二分区中的过程可以包括步骤S510至步骤S540,详细介绍如下:
S510,在对所述预设存储器的第二分区擦除成功时,向所述车辆控制器发送下载请求,所述下载请求包括下载数据的起始地址、下载数据的长度信息;
S520,在接收到来自所述车辆控制器的最大缓存信息时,将所述升级程序分割为多个小于或者等于所述最大缓存信息的数据块;对每一个数据块构建唯一编码,并按照预先设定的顺序将当前数据块、所述当前数据块对应的唯一编码发送至第二分区;
S530,在接收到来自所述车辆控制器的第一返回编号时,按照预先设定的顺序将下一个数据块、所述下一个数据块对应的唯一编码发送至第二分区,直至将所有的数据块、所有的唯一编码发送至第二分区,得到升级程序;所述第一返回编号基于所述当前数据块、所述当前数据块对应的唯一编码生成;
S540,在接收到来自所述车辆控制器的发送的中断或否定响应时,将所述中断或否定响应对应的唯一编码、所述中断或否定响应对应的数据块重新发送至第二分区;在接收到来自所述车辆控制器的第二返回编号时,按照预先设定的顺序将所述中断或否定响应对应的唯一编码的下一个唯一编码、所述中断或否定响应对应的数据块的下一个数据块发送至第二分区,直至将所有的数据块、所有的唯一编码发送至第二分区,得到升级程序;所述第二返回编号基于所述中断或否定响应对应的唯一编码、所述中断或否定响应对应的数据块生成。
图5为本申请一实施例中的程序写入的流程示意图,如图5所示,在步骤S510中,OTA升级主控收到擦除成功的肯定响应后,向被升级电控单元发起0x34数据下载请求,请求中包含要下载数据的起始地址及长度信息。
在步骤S520中,被升级电控单元(车辆控制器)收到下载请求后向OTA升级主控响应自身所支持的最大网络缓存(BlockSize)。OTA升级主控则按被升级电控单元反馈的BlockSize,使用对应服务向被升级电控单元传输数据。此处对应服务使用两个字节来为传输的Block数据编号,在一个文件传输过程中,每一个Block的编号都是唯一的。
在步骤S530中,被升级的电控单元每完成一个Block数据接收后响应对应的Block编号(SN)。
当一个文件全部Block传输成功,OTA主控节点向被升级电控单元发起文件校验请求,被升级电控单元完成校验后响应校验值,OTA主控节点检查校验值是否符合预期,若符合,当前文件下载完成;若不符合则请求被升级电控单元擦除原有数据,重新下载。
在完成一个文件的下载后,OTA主控将继续下一个文件的下载(若存在),下载流程与第一个文件相同。
在步骤S540中,在传输因一些情况(如车辆停用)发生中断后,在车辆再次启用时OTA升级主控按最后收到的响应的SN+1来继续传输数据。
或者被升级电控单元在接收数据时,若因发生数据接收超时、丢帧导致所接收当前Block数据不完整时,向OTA主控节点发送否定响应,否定响应的格式为SN编码,OTA主控节点收到否定响应后将从发生错误的SN开始重新传输数据。
在本发明一实施例中,得到升级程序之后的过程还可以包括步骤S610至步骤S630,详细介绍如下:
S610,向所述车辆控制器发送校验请求;
S620,在接收到来自所述车辆控制器的校验通过响应时,通过对升级程序的内容校验;
S630,在接收到来自所述车辆控制器的校验不通过响应时,重新获取所述控制器的升级程序,并将重新获取的升级程序写入至擦除后的第二分区。
图6为本申请一实施例中的程序内容校验的流程示意图,如图6所示,在本实施例中,在完成全部文件下载后,OTA主控节点向被升级电控单元发起分区1全盘校验请求,被升级电控单元完成校验后响应校验值,OTA主控节点检查校验值是否符合预期,若符合,当前需升级版本的全部数据下载完成;若不符合则请求被升级电控单元擦除全盘数据,重新下载。
在本发明一实施例中,得到升级程序之后的过程还可以包括步骤S710至步骤S730,详细介绍如下:
S710,在接收到来自所述车辆控制器的所述升级程序的程序版本时,将所述程序版本号与最新版本号进行对比;
S720,在所述程序版本号与最新版本号一致时,通过对升级程序的版本校验;
S730,在所述程序版本号低于所述最新版本号时,重新获取所述控制器的升级程序,并将重新获取的升级程序写入至擦除后的第二分区。
图7为本申请一实施例中的程序版本校验的流程示意图,如图7所示,在本实施例中,在完成当前需升级版本的全部数据下载后,被升级电控单元向OTA主控节点周期性广播部署完成状态与版本号。OTA主控节点可在有更高版本时选择擦除全盘数据,重新下载,也可以在安装条件满足时请求被更新电控单元安装目标版本。
在本发明一实施例中,基于所述第一分区中的备份程序、所述第二分区中的升级程序对车辆控制器进行升级的过程可以包括步骤S810至步骤S840,详细介绍如下:
S810,向所述车辆控制器发送安装请求,以使得所述车辆控制根据所述第二分区中升级程序进行升级;
S820,在接收到来自所述车辆控制器的安装完成响应时,对安装完成的程序进行有效性校验;所述安装完成响应基于所述安装请求生成;
S830,在所述安装完成的程序的有效性校验通过时,完成对车辆控制器的升级;
S840,在所述安装完成的程序的有效性校验未通过时,根据所述第一分区中的备份程序对所述车辆控制器执行程序回滚。
图8为本申请一实施例中的程序升级的流程示意图,如图8所示,在本实施例中,OTA主控节点请求被更新电控单元安装目标版本时,启动BootLoader,集成在BootLoader中的安装模块开始工作。被升级电控单元BootLoader工作期间向OTA主控节点报告其工作状态及进度。安装模块首先对单片机programflash进行擦除,再复制乙方存储分区1全盘内容到P-Flash,完成后进行软件有效性校验,若有效性校验通过则复位被升级电控单元,至此升级完成;若不通过则进行回滚操作:擦除单片机programflash复制乙方存储分区0全盘内容到programflash,然后复位,至此回滚完成。
因此,本实施例的主要改进点在于:
(1)通过被升级电控单元应用程序传输升级包至乙方存储,此过程不影响用户对车辆或ECU功能的使用。
(2)发起OTA主控节点发起安装后,多个已完成部署的被升级电控单元可同时进行并行升级,被升级ECU的数量将不再影响升级时间的长短。
(3)升级速度计算方法为programflash容量除以乙方存储读取速度和programflash写入速度和乙方存储与programflash的总线速度中较小的值。比如programflash容量为5MB,乙方存储读取速度为20MB/S,programflash写入速度为10MB/S,乙方存储与programflash的总线速度为25MB/S,则三者中较小值为programflash写入速度为1MB/S,安装时间
=programflash容量为5MB/P-Flash写入速度为1MB/S=5S(秒)。
(4)数据传输过程对局部数据与全盘数据均进行校验,保证所传输数据的真实与完整。
(5)安装过程不使用整车总线,而使用电控单元内部总线进行数据交换,稳定性更高。
(6)电控单元在自身乙方存储中存在有效备份,且回滚操作使用电控单元内部总线进行数据交换,稳定性更高。
本发明中的一种车辆控制器的远程升级方法,通过获取车辆控制器中当前程序的备份程序、车辆控制器的升级程序,所述备份程序存储在预设存储器的第一分区;然后基于所述第一分区中的备份程序对所述预设存储器的第二分区进行擦除;最后将所述升级程序写入至擦除后的第二分区,并基于所述第一分区中的备份程序、所述第二分区中的升级程序对车辆控制器进行升级。本发明通过将车辆控制器运行所需的程序进行备份,在升级时,直接将备份程序存放至预设存储器的第一分区中,在确认存在备份程序的情况下,利用备份程序和升级程序共同执行升级,以避免出现升级失败时无法返回至历史版本的问题。
如图9所示,本发明还提供一种车辆控制器的远程升级装置,所述装置包括:
采集模块,用于获取车辆控制器中当前程序的备份程序、车辆控制器的升级程序,所述备份程序存储在预设存储器的第一分区;
擦除模块,用于基于所述第一分区中的备份程序对所述预设存储器的第二分区进行擦除;
写入和升级模块,用于将所述升级程序写入至擦除后的第二分区中,并基于所述第一分区中的备份程序、所述第二分区中的升级程序对车辆控制器进行升级。
本发明中的一种车辆控制器的远程升级装置,通过获取车辆控制器中当前程序的备份程序、车辆控制器的升级程序,所述备份程序存储在预设存储器的第一分区;然后基于所述第一分区中的备份程序对所述预设存储器的第二分区进行擦除;最后将所述升级程序写入至擦除后的第二分区,并基于所述第一分区中的备份程序、所述第二分区中的升级程序对车辆控制器进行升级。本发明通过将车辆控制器运行所需的程序进行备份,在升级时,直接将备份程序存放至预设存储器的第一分区中,在确认存在备份程序的情况下,利用备份程序和升级程序共同执行升级,以避免出现升级失败时无法返回至历史版本的问题。
需要说明的是,上述实施例所提供的应用程序数据展示系统与上述实施例所提供的应用程序数据展示方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的应用程序数据展示系统在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的应用程序数据展示方法。
图10示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(CentralProcessingUnit,CPU)1001,其可以根据存储在只读存储器(Read-OnlyMemory,ROM)1002中的程序或者从储存部分1008加载到随机访问存储器(RandomAccessMemory,RAM)1003中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM1003中,还存储有系统操作所需的各种程序和数据。CPU1001、ROM1002以及RAM1003通过总线1004彼此相连。输入/输出(Input/Output,I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CathodeRayTube,CRT)、液晶显示器(LiquidCrystalDisplay,LCD)等以及扬声器等的输出部分1007;包括硬盘等的储存部分1008;以及包括诸如LAN(LocalAreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入储存部分1008。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(ErasableProgrammableReadOnlyMemory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(CompactDiscRead-OnlyMemory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机的处理器执行时,使计算机执行如前所述的应用程序数据展示方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的应用程序数据展示方法。
上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种车辆控制器的远程升级方法,其特征在于,所述方法包括:
获取车辆控制器中当前程序的备份程序、车辆控制器的升级程序,所述备份程序存储在预设存储器的第一分区;
基于所述第一分区中的备份程序对所述预设存储器的第二分区进行擦除;
将所述升级程序写入至擦除后的第二分区,并基于所述第一分区中的备份程序、所述第二分区中的升级程序对车辆控制器进行升级。
2.根据权利要求1所述的一种车辆控制器的远程升级方法,其特征在于,获取车辆控制器中当前程序的备份程序,包括:
对所述预设存储器的第一分区进行检查,在所述第一分区中不存在当前程序的备份程序时,将当前程序备份至所述预设存储器的第一分区中,得到当前程序的备份程序。
3.根据权利要求1所述的一种车辆控制器的远程升级方法,其特征在于,基于所述第一分区中的备份程序对所述预设存储器的第二分区进行擦除,包括:
向所述车辆控制器发送文件传输请求;
在接收到来自所述车辆控制器的肯定响应时,对所述预设存储器的第二分区进行擦除,所述肯定响应基于所述文件传输请求、所述第一分区中的备份程序生成。
4.根据权利要求3所述的一种车辆控制器的远程升级方法,其特征在于,将所述升级程序写入至擦除后的第二分区中,包括:
在对所述预设存储器的第二分区擦除成功时,向所述车辆控制器发送下载请求,所述下载请求包括下载数据的起始地址、下载数据的长度信息;
在接收到来自所述车辆控制器的最大缓存信息时,将所述升级程序分割为多个小于或者等于所述最大缓存信息的数据块;对每一个数据块构建唯一编码,并按照预先设定的顺序将当前数据块、所述当前数据块对应的唯一编码发送至第二分区;
在接收到来自所述车辆控制器的第一返回编号时,按照预先设定的顺序将下一个数据块、所述下一个数据块对应的唯一编码发送至第二分区,直至将所有的数据块、所有的唯一编码发送至第二分区,得到升级程序;所述第一返回编号基于所述当前数据块、所述当前数据块对应的唯一编码生成;
在接收到来自所述车辆控制器的发送的中断或否定响应时,将所述中断或否定响应对应的唯一编码、所述中断或否定响应对应的数据块重新发送至第二分区;在接收到来自所述车辆控制器的第二返回编号时,按照预先设定的顺序将所述中断或否定响应对应的唯一编码的下一个唯一编码、所述中断或否定响应对应的数据块的下一个数据块发送至第二分区,直至将所有的数据块、所有的唯一编码发送至第二分区,得到升级程序;所述第二返回编号基于所述中断或否定响应对应的唯一编码、所述中断或否定响应对应的数据块生成。
5.根据权利要求4所述的一种车辆控制器的远程升级方法,其特征在于,得到升级程序之后,还包括:
向所述车辆控制器发送校验请求;
在接收到来自所述车辆控制器的校验通过响应时,通过对升级程序的内容校验;
在接收到来自所述车辆控制器的校验不通过响应时,重新获取所述控制器的升级程序,并将重新获取的升级程序写入至擦除后的第二分区。
6.根据权利要求4所述的一种车辆控制器的远程升级方法,其特征在于,得到升级程序之后,还包括:
在接收到来自所述车辆控制器的所述升级程序的程序版本时,将所述程序版本号与最新版本号进行对比;
在所述程序版本号与最新版本号一致时,通过对升级程序的版本校验;
在所述程序版本号低于所述最新版本号时,重新获取所述控制器的升级程序,并将重新获取的升级程序写入至擦除后的第二分区。
7.根据权利要求1所述的一种车辆控制器的远程升级方法,其特征在于,基于所述第一分区中的备份程序、所述第二分区中的升级程序对车辆控制器进行升级,包括:
向所述车辆控制器发送安装请求,以使得所述车辆控制根据所述第二分区中升级程序进行升级;
在接收到来自所述车辆控制器的安装完成响应时,对安装完成的程序进行有效性校验;所述安装完成响应基于所述安装请求生成;
在所述安装完成的程序的有效性校验通过时,完成对车辆控制器的升级;
在所述安装完成的程序的有效性校验未通过时,根据所述第一分区中的备份程序对所述车辆控制器执行程序回滚。
8.一种车辆控制器的远程升级装置,其特征在于,所述装置包括:
采集模块,用于获取车辆控制器中当前程序的备份程序、车辆控制器的升级程序,所述备份程序存储在预设存储器的第一分区;
擦除模块,用于基于所述第一分区中的备份程序对所述预设存储器的第二分区进行擦除;
写入和升级模块,用于将所述升级程序写入至擦除后的第二分区中,并基于所述第一分区中的备份程序、所述第二分区中的升级程序对车辆控制器进行升级。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至7中任一项所述的一种车辆控制器的远程升级方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行权利要求1至7中任一项所述的一种车辆控制器的远程升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310056240.2A CN116009919A (zh) | 2023-01-18 | 2023-01-18 | 一种车辆控制器的远程升级方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310056240.2A CN116009919A (zh) | 2023-01-18 | 2023-01-18 | 一种车辆控制器的远程升级方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116009919A true CN116009919A (zh) | 2023-04-25 |
Family
ID=86028102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310056240.2A Pending CN116009919A (zh) | 2023-01-18 | 2023-01-18 | 一种车辆控制器的远程升级方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116009919A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116360831A (zh) * | 2023-05-31 | 2023-06-30 | 中国第一汽车股份有限公司 | 一种应用程序升级方法、装置、电子设备及存储介质 |
CN116909609A (zh) * | 2023-09-12 | 2023-10-20 | 英纳法智联科技(北京)有限公司 | 车载智能设备的软件升级方法、装置及车载智能设备 |
-
2023
- 2023-01-18 CN CN202310056240.2A patent/CN116009919A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116360831A (zh) * | 2023-05-31 | 2023-06-30 | 中国第一汽车股份有限公司 | 一种应用程序升级方法、装置、电子设备及存储介质 |
CN116909609A (zh) * | 2023-09-12 | 2023-10-20 | 英纳法智联科技(北京)有限公司 | 车载智能设备的软件升级方法、装置及车载智能设备 |
CN116909609B (zh) * | 2023-09-12 | 2023-12-22 | 英纳法智联科技(北京)有限公司 | 车载智能设备的软件升级方法、装置及车载智能设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116009919A (zh) | 一种车辆控制器的远程升级方法、装置、设备及存储介质 | |
CN110083374B (zh) | 一种升级回滚方法、系统及终端设备 | |
CN110096294B (zh) | 一种可任意断点无线升级mcu应用程序的方法 | |
CN102402442B (zh) | 信息处理装置、启动控制方法 | |
CN112612490A (zh) | 车辆升级方法、车辆及存储介质 | |
CN110647333A (zh) | 固件升级方法及配置成对其中的固件进行升级的设备 | |
WO2011088701A1 (zh) | 一种跨平台版本在线升级的方法及装置 | |
CN113094072A (zh) | 车辆升级方法、装置、电子装置及存储介质 | |
US8316363B2 (en) | Concurrent embedded application update | |
CN107015829B (zh) | 音频系统升级方法、装置 | |
US20040192280A1 (en) | System for updating application software of data acquisition devices | |
US11995429B2 (en) | Software update device, update control method, non-transitory storage medium, and server | |
CN115514742A (zh) | Ota管理器、中心、系统、方法、非暂时性存储介质 | |
JP2022187646A (ja) | Otaマスタ、システム、方法、プログラム、及び車両 | |
CN114144759A (zh) | 用于更新车辆的车载计算机的软件的更新方法和更新装置,所述车载计算机包括执行存储器、备份存储器和检查存储器 | |
CN116909609B (zh) | 车载智能设备的软件升级方法、装置及车载智能设备 | |
CN113900765A (zh) | 云应用启动方法、设备、终端及计算机可读存储介质 | |
CN114064086B (zh) | 多级处理器系统及其升级方法 | |
JP2021089643A (ja) | 電子制御装置及び電子制御方法 | |
JPH10133860A (ja) | Os配布・更新方法 | |
KR101637608B1 (ko) | 차량 내 멀티미디어 시스템에 대한 업데이트 방법 및 시스템 | |
CN112470121A (zh) | 经由数据块下载恢复映像 | |
CN110515642B (zh) | 一种应用程序升级方法及系统 | |
JP7363853B2 (ja) | Otaマスタ、センタ、システム、更新方法、更新プログラム、及び車両 | |
CN116048572A (zh) | 终端设备的固件升级方法、装置、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |