CN110083374B - 一种升级回滚方法、系统及终端设备 - Google Patents
一种升级回滚方法、系统及终端设备 Download PDFInfo
- Publication number
- CN110083374B CN110083374B CN201910226940.5A CN201910226940A CN110083374B CN 110083374 B CN110083374 B CN 110083374B CN 201910226940 A CN201910226940 A CN 201910226940A CN 110083374 B CN110083374 B CN 110083374B
- Authority
- CN
- China
- Prior art keywords
- partition
- upgrade
- image file
- firmware
- ecu
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明适用于汽车技术领域,提供了一种升级回滚方法、系统及终端设备,包括:接收升级回滚请求;根据所述升级回滚请求查找备份镜像地址;启动升级回滚程序,根据所述备份镜像地址下载备份镜像文件,并将所述备份镜像文件传输至目标ECU;根据备份镜像文件进行循环冗余校验,并判断循环冗余校验是否通过;若循环冗余校验通过,则修改存储记录,标记活动分区,完成回滚操作,通过车载网关设备查找、下载和传输备份镜像文件,将备份镜像文件传输到目标ECU以进行版本恢复,通过回滚后,对活动分区进行标记并修改存储记录,汽车能够通过本地恢复前一版本,无需运维人员进行回滚操作,提高版本恢复的效率并降低成本。
Description
技术领域
本发明属于汽车技术领域,尤其涉及一种升级回滚方法、系统及终端设备。
背景技术
整车升级可能会意外遇到很多失败的情况,例如:整车多个ECU(电子控制单元)需要同时升级的情况下,有可能只成功升级了一个或某几个ECU(电子控制单元)而导致整车出现故障;全部ECU(电子控制单元)的固件都升级成功,但是升级后运行异常,无法自检通过,甚至加载新镜像导致崩溃。全部ECU升级成功,但是新版本某种体验或兼容性不如前一版本,需要回滚到前一版本。在出现上述情况时,通过需要将电子控制单元的版本回滚到前一版本,然而大多数设备不支持回滚功能,且具备回滚功能的车辆在需要进行回滚时,通常的做法是再远程升级一次,然而这种做法的前提是要求设备正常工作并联网正常,且远程再推送的方法无法解决上述仅有部分固件升级成功而导致整车故障或升级后运行异常导致整车故障的问题,通常出现上述问题只能通过运维技术人员进行回滚操作,效率低且易存在人为操作失误。
综上所述,目前升级回滚过程需要通过运维技术人员进行回滚操作,存在效率低且易存在人为操作失误的问题。
发明内容
有鉴于此,本发明实施例提供了一种升级回滚方法、系统及终端设备,以解决目前升级回滚过程需要通过运维技术人员进行回滚操作,存在效率低且易存在人为操作失误的问题。
本发明的第一方面提供了一种升级回滚方法,包括:
接收升级回滚请求;
根据所述升级回滚请求查找备份镜像地址;
启动升级回滚程序,根据所述备份镜像地址下载备份镜像文件,并将所述备份镜像文件传输至目标ECU;
根据备份镜像文件进行循环冗余校验,并判断循环冗余校验是否通过;
若循环冗余校验通过,则修改存储记录,标记活动分区,完成回滚操作。
本发明的第二方面提供了一种升级回滚控制系统,包括:
接收模块,用于接收升级回滚请求;
查找模块,用于根据所述升级回滚请求查找备份镜像地址;
下载传输模块,用于启动升级回滚程序,根据所述备份镜像地址下载备份镜像文件,并将所述备份镜像文件传输至目标ECU;
校验模块,用于根据备份镜像文件进行循环冗余校验,并判断循环冗余校验是否通过;
标记模块,用于若循环冗余校验通过,则修改存储记录,标记活动分区,完成回滚操作。
本发明的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收升级回滚请求;
根据所述升级回滚请求查找备份镜像地址;
启动升级回滚程序,根据所述备份镜像地址下载备份镜像文件,并将所述备份镜像文件传输至目标ECU;
根据备份镜像文件进行循环冗余校验,并判断循环冗余校验是否通过;
若循环冗余校验通过,则修改存储记录,标记活动分区,完成回滚操作。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收升级回滚请求;
根据所述升级回滚请求查找备份镜像地址;
启动升级回滚程序,根据所述备份镜像地址下载备份镜像文件,并将所述备份镜像文件传输至目标ECU;
根据备份镜像文件进行循环冗余校验,并判断循环冗余校验是否通过;
若循环冗余校验通过,则修改存储记录,标记活动分区,完成回滚操作。
本发明提供的一种升级回滚方法、系统及终端设备,通过车载网关设备查找、下载和传输备份镜像文件,将备份镜像文件传输到目标ECU以进行版本恢复,通过回滚后,对活动分区进行标记并修改存储记录,汽车能够通过本地恢复前一版本,无需运维人员进行回滚操作,提高版本恢复的效率并降低成本,有效地解决了目前升级回滚过程需要通过运维技术人员进行回滚操作,存在效率低且易存在人为操作失误的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种升级回滚方法的实现流程示意图;
图2是汽车各个ECU、车辆网关设备及外部存储器的连接结构示意图;
图3a是实施例一中外部存储器的第一分区的存储结构示意图;
图3b是实施例一中外部存储器的第二分区的存储结构示意图;
图4是本发明实施例二提供的对应实施例一步骤S102的实现流程示意图;
图5是在实施例二中升级文件结构表的结构示意图;
图6是本发明实施例三提供的一种升级回滚控制系统的结构示意图;
图7是本发明实施例四提供的对应实施例三中查找模块102的结构示意图;
图8是本发明实施例五提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、系统、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
如图1所示,本实施例提供了一种升级回滚方法,其具体包括:
步骤S101:接收升级回滚请求。
在具体应用中,当检测到需要进行版本回滚时,Bootloader会向车辆网关设备发送升级回滚请求,车辆网关设备会接收该升级回滚请求并响应该升级回滚请求。
在具体应用中,如图2所示,一辆汽车包括多个电子控制单元(ECU),车辆网关设备与多个电子控制单元连接,整车、的各个ECU的固件统一存储在车辆网关设备中,由于Nor型存储器通常是比较昂贵的资源,内置NorFlash一般无法同时存储多个ECU的活动镜像和备份镜像,因此通过廉价的Nand型存储器作为与车辆网关设备连接的外部存储器来存储各个ECU的活动镜像和备份镜像。
在具体应用中,通过车辆网关设备接收Bootloader发送的升级回滚请求;或者,接收运维人员通过远程控制下发的升级回滚请求。
在具体应用中,当Bootloader上电时,首先运行引导程序。引导程序初始化完成后,启动看门狗程序,加载存储活动镜像文件的分区的应用程序。要求在预设时间间隔内能够运行正常并继续喂狗。若在预设时间间隔内没有继续喂狗,则控制Bootloader超时重启。记录重启次数,当连续累计重启次数达到回滚阈值后,控制Bootloader启动回滚机制,即控制Bootloader向车辆网关设备发送升级回滚请求。需要说明的是,上述预设时间间隔及回滚阈值可以根据实际应用进行设置,示例性的将预设时间间隔设置为15秒,将回滚阈值设置为5次。
需要说明的是,嵌入式平台资源各不相同。有的具备NorFlash代码存储器,从而支持XIP功能;有的使用Nand-Flash作为代码存储器,设备在上电后将应用程序加载到RAM中,PC指针再跳转到对应的RAM地址执行。总体来讲,不同的平台有不同适配的策略,通过将升级功能放Bootloader上执行,由Bootloader实现镜像传输、flash擦写和校验等OTA常规操作是本领域的常规技术手段。通过Bootloader记录重启次数,当连续累计重启次数达到回滚阈值后,控制Bootloader自动启动回滚,能够有效地监测到版本升级过程中是否出现异常,并在异常时自动进行版本回滚,提高回滚效率。
在具体应用中,除了通过Bootloader向车辆网关设备发送升级回滚请求以启动升级回滚机制外,还可以通过运维人员远程下发升级回滚请求来启动升级回滚机制。通过运维人员根据实际需要(如客户更满意上一版本)远程下发升级回滚请求,能够满足用户的需求来实现版本回滚。
步骤S102:根据所述升级回滚请求查找备份镜像地址。
在具体应用中,升级回滚请求包括回滚的目标ECU的ECU类型,根据升级回滚请求中的目标ECU的ECU类型在升级文件结构表中查找到目标ECU的备份镜像文件的备份镜像地址。
在一个实施例中,如图3a及图3b所示,备份镜像文件存储在车辆网关设备的外部存储器中;所述外部存储器包括第一存储分区、第二存储分区以及第三存储分区;所述第一存储分区与所述第二存储分区分别存储ECU固件的备份镜像文件和活动镜像文件,所述第一存储分区与所述第二存储分区形成“乒乓”存储区。
需要说明的是,第一存储分区与所述第二存储分区形成“乒乓”存储区是指每个ECU(例如VCU)的活动镜像文件要么存放在第一存储分区,要么存放在第二存储分区,而对应的备份镜像问价就在另外一个区。活动镜像文件和备份镜像文件分别存放在两个区中,通过一个附加的同步标志,来标记哪个区保存的是活动镜像文件。
在具体应用中,通过ECU类型查找到备份文件存储的存储器以及位于存储器的哪个分区,从而确定备份镜像地址。
步骤S103:启动升级回滚程序,根据所述备份镜像地址下载备份镜像文件,并将所述备份镜像文件传输至目标ECU。
在具体应用中,当确定了备份镜像地址后,通过该地址查找到目标ECU的备份镜像文件后,下载该备份镜像文件,通过内部通讯总线将该备份镜像文件传送到目标ECU的代码存储器中。
步骤S104:根据备份镜像文件进行循环冗余校验,并判断循环冗余校验是否通过。
在具体应用中,当目标ECU接收到备份镜像文件后,通过备份镜像文件获取CRC校验值,通过CRC校验值进行循环冗余校验。若CRC校验一致,则循环冗余校验通过;若CRC校验不一致,则循环冗余校验不通过。
步骤S105:若循环冗余校验通过,则修改存储记录,标记活动分区,完成回滚操作。
在具体应用中,若循环冗余校验通过,则通过该备份镜像文件对目标ECU的当前版本进行回滚,并修改存储记录,将原备份镜像文件修改为活动镜像文件,并将存储原备份镜像文件的存储分区标记为活动分区,完成回滚操作。
在具体应用中,若循环冗余校验不通过,则控制Bootloader再次发出升级回滚请求,并控制车辆网关设备再次执行步骤S101至步骤S105。
在一个实施例中,上述升级回滚方法还包括:将ECU的升级文件存储至外部存储器。
在具体应用中,在实现版本回滚操作之前,需要在ECU的升级过程中将升级文件存储在外部存储器中,在接收到升级回滚请求后,才能通过存储在本地(外部存储器)的备份镜像文件来进行回滚。
在一个实施例中,上述将ECU的升级文件存储至所述外部存储器,具体包括以下步骤:
A:接收升级文件下载请求;
B:根据所述升级文件下载请求下载升级镜像文件,并将所述升级镜像文件存储在外部存储器的第三分区;
C:根据升级镜像文件进行循环冗余校验,判断循环冗余校验是否通过;
D:若循环冗余校验通过,则判断外部存储器的第一分区是否存储目标ECU的活动镜像文件;
E:若第一分区存储目标ECU的活动镜像文件,则擦除存储在外部存储器的第二分区的目标ECU的备份镜像文件,将所述升级镜像文件拷贝至第二分区,并将第二分区的升级镜像文件设置为活动镜像文件;
F:若第一分区存储目标ECU的备份镜像文件,则擦除存储在第一分区的目标ECU的备份镜像文件,将所述升级镜像文件拷贝至第一分区,并将第一分区的升级镜像文件设置为活动镜像文件。
在具体应用中,若通过CRC校验值进行循环冗余校验,若CRC校验一致,则循环冗余校验通过;若CRC校验不一致,则循环冗余校验不通过。
在具体应用中,若循环冗余校验不通过,则退出升级过程。
在具体应用中,上述第三分区是指在外部存储器中除了第一分区、第二分区之外的部分。
在具体应用中,在将升级镜像文件拷贝至第二分区或第一分区后,将存放升级镜像文件的分区标识为活动分区,并将同步标志标注为未同步,表明此时仅仅是将升级镜像文件进行存储,而非完成升级操作。
在具体应用中,将未同步的活动镜像文件通过本地网络升级到目标ECU的代码存储器,校验成功后,则完成升级,并修改为存储记录中的同步标志为“已同步”。
本实施例提供的升级回滚方法,通过车载网关设备查找、下载和传输备份镜像文件,将备份镜像文件传输到目标ECU以进行版本恢复,通过回滚后,对活动分区进行标记并修改存储记录,汽车能够通过本地恢复前一版本,无需运维人员进行回滚操作,提高版本恢复的效率并降低成本,有效地解决了目前升级回滚过程需要通过运维技术人员进行回滚操作,存在效率低且易存在人为操作失误的问题。
实施例二:
如图4所示,在本实施例中,实施例一中的步骤S102具体包括:
步骤S201:根据升级回滚请求获取目标ECU的ECU类型。
在具体应用中,升级回滚请求包括执行回滚的目标ECU,根据升级回滚请求中的目标ECU确定ECU类型。
步骤S202:根据所述ECU类型查找升级文件结构表确定目标EUC的备份镜像文件的存储器地址及所在分区。
在具体应用中,如图5所示,上述升级文件结构表包括:ECU类型、固件存储地址1、固件长度1、CRC1、固件存储地址2、固件长度2、CRC2、活动分区标志以及同步标志。
在具体应用中,上述ECU类型标识用于标识该固件所属的设备。
固件存储地址用于表示固件二进制文件在flash闪存芯片存放的首地址,固件存储地址1表示ECU固件在第一分区的存放首地址,固件存储地址2表示ECU固件在第二分区的存放首地址。
固件长度用于表示固件文件的有效长度,固件长度1表示ECU固件在第一分区的有效长度,固件长度2表示ECU固件在第二分区的有效长度。
CRC用于固件文件二进制数据的CRC校验值,CRC1表示存储在第一分区的固件文件二进制数据的CRC校验值,CRC2表示存储在第二分区的固件文件二进制数据的CRC校验值。
活动分区标志用于表示哪个分区为活动分区,示例性的,活动分区标志为1时,表示第一分区为活动分区,存储在第一分区的镜像文件为活动镜像文件,(即存储在第二分区的镜像文件为备份镜像文件);活动分区标志为2时,表示第二分区为活动分区,存储在第二分区的镜像文件为活动镜像文件(即存储在第一分区的镜像文件为备份镜像文件)。
同步标志用于表示当前活动镜像文件是否与目标ECU的代码存储器同步,示例性的,当同步标志为0时,表示当前活动镜像文件与目标ECU的代码存储器未同步,当同步标志为1时,表示当前活动镜像文件与目标ECU的代码存储器已同步)。
在具体应用中,在确定了目标ECU的ECU类型后,通过查找升级文件结构表确定活动分区和备份分区,并通过固件存储地址和固件长度确定目标EUC的备份镜像文件的存储器地址,进而确定备份镜像文件的备份镜像地址。
实施例三:
如图6所示,本实施例提供一种升级回滚控制系统100,用于执行实施例一中的方法步骤,其包括接收模块101、查找模块102、下载传输模块103、校验模块104以及标记模块105。
接收模块101用于接收升级回滚请求。
查找模块102用于根据所述升级回滚请求查找备份镜像地址。
下载传输模块103用于启动升级回滚程序,根据所述备份镜像地址下载备份镜像文件,并将所述备份镜像文件传输至目标ECU。
校验模块104用于根据备份镜像文件进行循环冗余校验,并判断循环冗余校验是否通过。
标记模块105用于若循环冗余校验通过,则修改存储记录,标记活动分区,完成回滚操作。
需要说明的是,本发明实施例提供的升级回滚控制系统,由于与本发明图1所示方法实施例基于同一构思,其带来的技术效果与本发明图1所示方法实施例相同,具体内容可参见本发明图1所示方法实施例中的叙述,此处不再赘述。
因此,本实施例提供的一种升级回滚控制系统,同样能够。通过车载网关设备查找、下载和传输备份镜像文件,将备份镜像文件传输到目标ECU以进行版本恢复,通过回滚后,对活动分区进行标记并修改存储记录,汽车能够通过本地恢复前一版本,无需运维人员进行回滚操作,提高版本恢复的效率并降低成本,有效地解决了目前升级回滚过程需要通过运维技术人员进行回滚操作,存在效率低且易存在人为操作失误的问题。
实施例四:
如图7所示,在本实施例中,实施例三中的查找模块102包括用于执行图4所对应的实施例中的方法步骤的结构,其包括类型获取单元201和地址查找单元202。
类型获取单元201用于根据升级回滚请求获取目标ECU的ECU类型。
地址查找单元202用于根据所述ECU类型查找升级文件结构表确定目标EUC的备份镜像文件的存储器地址及所在分区。
实施例五:
图8是本发明实施例五提供的终端设备的示意图。如图8所示,该实施例的终端设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52,例如程序。所述处理器50执行所述计算机程序52时实现上述各个图片处理方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,所述处理器50执行所述计算机程序52时实现上述系统实施例中各模块/单元的功能,例如图6所示模块101至105的功能。
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述终端设备5中的执行过程。例如,所述计算机程序52可以被分割成接收模块、查找模块、下载传输模块、校验模块以及标记模块,各模块具体功能如下:
接收模块,用于接收升级回滚请求;
查找模块,用于根据所述升级回滚请求查找备份镜像地址;
下载传输模块,用于启动升级回滚程序,根据所述备份镜像地址下载备份镜像文件,并将所述备份镜像文件传输至目标ECU;
校验模块,用于根据备份镜像文件进行循环冗余校验,并判断循环冗余校验是否通过;
标记模块,用于若循环冗余校验通过,则修改存储记录,标记活动分区,完成回滚操作。
所述终端设备5可以是桌上型计算机、笔记本、掌上电脑及云端管理服务器等计算设备。所述终端设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图8仅仅是终端设备5的示例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述无线终端中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的系统/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的系统/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,系统或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述设置为分离部件说明的单元可以是或者也可以不是物理上分开的,设置为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并设置为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或系统、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (4)
1.一种升级回滚方法,其特征在于,包括:
接收升级回滚请求;
根据所述升级回滚请求查找备份镜像地址;
启动升级回滚程序,根据所述备份镜像地址下载备份镜像文件,并将所述备份镜像文件传输至目标ECU;
根据备份镜像文件进行循环冗余校验,并判断循环冗余校验是否通过;
若循环冗余校验通过,则修改存储记录,标记活动分区,完成回滚操作;
所述根据所述升级回滚请求查找备份镜像地址,包括;
根据升级回滚请求获取目标ECU的ECU类型;根据所述ECU类型查找升级文件结构表确定目标EUC的备份镜像文件的存储器地址及所在分区,所述升级文件结构表包括:ECU类型、固件存储地址1、固件长度1、CRC1、固件存储地址2、固件长度2、CRC2、活动分区标志以及同步标志,所述同步标志用于表示当前活动镜像文件是否与目标ECU的代码存储器同步;所述ECU类型标识用于标识该固件所属的设备,固件存储地址用于表示固件二进制文件在flash闪存芯片存放的首地址,固件存储地址1表示ECU固件在第一分区的存放首地址,固件存储地址2表示ECU固件在第二分区的存放首地址,固件长度用于表示固件文件的有效长度,固件长度1表示ECU固件在第一分区的有效长度,固件长度2表示ECU固件在第二分区的有效长度,CRC用于固件文件二进制数据的CRC校验值,CRC1表示存储在第一分区的固件文件二进制数据的CRC校验值,CRC2表示存储在第二分区的固件文件二进制数据的CRC校验值,活动分区标志用于表示哪个分区为活动分区,在确定了目标ECU的ECU类型后,通过查找升级文件结构表确定活动分区和备份分区,并通过固件存储地址和固件长度确定目标EUC的备份镜像文件的存储器地址,进而确定备份镜像文件的备份镜像地址;
备份镜像文件存储在车辆网关设备的外部存储器中;
所述外部存储器包括第一存储分区、第二存储分区以及第三存储分区;所述第一存储分区与所述第二存储分区分别存储ECU固件的备份镜像文件和活动镜像文件,所述第一存储分区与所述第二存储分区形成“乒乓”存储区;
将ECU的升级文件存储至外部存储器;
所述将ECU的升级文件存储至外部存储器,包括:
接收升级文件下载请求;
根据所述升级文件下载请求下载升级镜像文件,并将所述升级镜像文件存储在外部存储器的第三分区;
根据升级镜像文件进行循环冗余校验,判断循环冗余校验是否通过;
若循环冗余校验通过,则判断外部存储器的第一分区是否存储目标ECU的活动镜像文件;
若第一分区存储目标ECU的活动镜像文件,则擦除存储在外部存储器的第二分区的目标ECU的备份镜像文件,将所述升级镜像文件拷贝至第二分区,并将第二分区的升级镜像文件设置为活动镜像文件;
若第一分区存储目标ECU的备份镜像文件,则擦除存储在第一分区的目标ECU的备份镜像文件,将所述升级镜像文件拷贝至第一分区,并将第一分区的升级镜像文件设置为活动镜像文件。
2. 根据权利要求 1所述的方法,其特征在于,所述接收升级回滚请求,包括:
接收Bootloader发送的升级回滚请求;
或者,接收运维人员通过远程控制下发的升级回滚请求。
3.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至2任一项所述方法的步骤。
4.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至2任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910226940.5A CN110083374B (zh) | 2019-03-25 | 2019-03-25 | 一种升级回滚方法、系统及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910226940.5A CN110083374B (zh) | 2019-03-25 | 2019-03-25 | 一种升级回滚方法、系统及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110083374A CN110083374A (zh) | 2019-08-02 |
CN110083374B true CN110083374B (zh) | 2023-06-23 |
Family
ID=67413516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910226940.5A Active CN110083374B (zh) | 2019-03-25 | 2019-03-25 | 一种升级回滚方法、系统及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110083374B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111198705A (zh) * | 2019-12-19 | 2020-05-26 | 潍柴动力股份有限公司 | 一种防止ecu刷死的内存备份方法、装置、存储介质及电子设备 |
CN111209059B (zh) * | 2020-01-14 | 2023-03-03 | 中国北方车辆研究所 | 一种嵌入式软件多版本控制系统及方法 |
CN111596943A (zh) * | 2020-05-25 | 2020-08-28 | 湖北亿咖通科技有限公司 | 一种车辆的多个电子控制单元的升级方法及电子设备 |
CN112015447B (zh) * | 2020-08-10 | 2024-03-22 | 上海高仙自动化科技发展有限公司 | 电子设备的系统更新方法及装置、电子设备及存储介质 |
CN113114730B (zh) * | 2021-03-22 | 2022-09-27 | 深圳市晨北科技有限公司 | 升级方法、装置、终端设备及存储介质 |
CN116594639A (zh) * | 2021-06-15 | 2023-08-15 | 荣耀终端有限公司 | 系统安装包的管理方法、设备、存储介质及程序产品 |
CN115514741A (zh) * | 2021-06-23 | 2022-12-23 | 华为技术有限公司 | 一种ota升级方法、装置及计算机可读存储介质 |
CN113760337A (zh) * | 2021-09-14 | 2021-12-07 | 远峰科技股份有限公司 | 一种fota的升级回滚方法及升级回滚系统 |
CN116225490B (zh) * | 2023-01-30 | 2023-12-22 | 无锡沐创集成电路设计有限公司 | 存储器固件的升级方法、升级装置、电子设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598654A (zh) * | 2016-11-30 | 2017-04-26 | 中国兵器装备集团自动化研究所 | 一种在线更新PowerPC主板引导芯片的方法 |
CN106790330A (zh) * | 2015-11-23 | 2017-05-31 | 上海汽车集团股份有限公司 | 车载ecu的远程更新方法、车载ecu及车辆 |
CN108919774A (zh) * | 2018-06-01 | 2018-11-30 | 武汉康慧然信息技术咨询有限公司 | 混动汽车安全行驶控制方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8719809B2 (en) * | 2006-12-22 | 2014-05-06 | Commvault Systems, Inc. | Point in time rollback and un-installation of software |
CN104090796B (zh) * | 2014-07-08 | 2017-06-09 | 成都万维图新信息技术有限公司 | 一种嵌入式设备程序更新方法和系统 |
CN105930236A (zh) * | 2016-07-15 | 2016-09-07 | 深圳市沃特玛电池有限公司 | 一种基于BMS Bootloader升级的应用程序版本回退方法 |
CN108454538A (zh) * | 2017-02-17 | 2018-08-28 | 联合汽车电子有限公司 | 车辆电子控制单元刷新系统 |
CN107368389B (zh) * | 2017-06-26 | 2020-11-06 | 合肥美的智能科技有限公司 | 操作系统一键恢复功能的控制方法、控制装置和emmc |
-
2019
- 2019-03-25 CN CN201910226940.5A patent/CN110083374B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790330A (zh) * | 2015-11-23 | 2017-05-31 | 上海汽车集团股份有限公司 | 车载ecu的远程更新方法、车载ecu及车辆 |
CN106598654A (zh) * | 2016-11-30 | 2017-04-26 | 中国兵器装备集团自动化研究所 | 一种在线更新PowerPC主板引导芯片的方法 |
CN108919774A (zh) * | 2018-06-01 | 2018-11-30 | 武汉康慧然信息技术咨询有限公司 | 混动汽车安全行驶控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110083374A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110083374B (zh) | 一种升级回滚方法、系统及终端设备 | |
CN109634645B (zh) | 固件升级方法及终端 | |
EP2456257B1 (en) | Method and system for upgrading wireless data card | |
EP2375323A1 (en) | Firmware image update and management | |
CN110209405B (zh) | 分布式系统的自动化升级方法及装置 | |
TWI533216B (zh) | 作業系統更新方法 | |
CN105045640A (zh) | 一种软件升级方法、装置及智能设备 | |
US20040192280A1 (en) | System for updating application software of data acquisition devices | |
CN114911500A (zh) | 终端升级方法、终端及系统 | |
CN110908943A (zh) | 一种板卡自动适配方法、装置、网络设备及存储介质 | |
CN106933604B (zh) | 一种系统升级方法及装置 | |
CN111984287A (zh) | 设备升级方法及系统 | |
CN111818463A (zh) | 传输镜像文件的方法、装置、存储介质及电子设备 | |
CN112559349B (zh) | 一种程序的运行方法及运行装置 | |
CN114995852A (zh) | 一种设备升级方法、设备及计算机可读存储介质 | |
CN112667444A (zh) | 一种系统升级方法、存储介质及终端设备 | |
CN109428936B (zh) | App的升级方法、装置、系统、电子设备及存储介质 | |
CN110825406A (zh) | 一种软件升级的方法及相关设备 | |
CN115437674B (zh) | 一种固件升级方法、装置、介质及电子设备 | |
CN116048572A (zh) | 终端设备的固件升级方法、装置、终端设备及存储介质 | |
CN116483409A (zh) | 一种远程固件更新的方法、系统、电子设备及存储介质 | |
CN116820841A (zh) | 终端设备的启动方法、装置、设备、介质及产品 | |
CN114153481A (zh) | 一种驾驶系统更新方法、装置及计算机设备 | |
CN115658152A (zh) | 固件升级方法、固件、电子设备和计算机可读存储介质 | |
CN111949289A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |