CN117407020A - Ota升级刷写方法、装置、电子设备及存储介质 - Google Patents
Ota升级刷写方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117407020A CN117407020A CN202311267630.0A CN202311267630A CN117407020A CN 117407020 A CN117407020 A CN 117407020A CN 202311267630 A CN202311267630 A CN 202311267630A CN 117407020 A CN117407020 A CN 117407020A
- Authority
- CN
- China
- Prior art keywords
- target
- target upgrade
- upgrade
- file
- control unit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000012795 verification Methods 0.000 claims abstract description 34
- 230000006870 function Effects 0.000 claims description 46
- 230000008569 process Effects 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 15
- 230000001680 brushing effect Effects 0.000 claims description 6
- 238000013461 design Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 239000000243 solution Substances 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000007488 abnormal function Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Abstract
本申请涉及汽车技术领域,提供了一种OTA升级刷写方法、装置、电子设备及存储介质。该方法包括:接收OTA升级主控传输的目标升级包,并确定目标升级包的容量以及电子控制单元的运行内存容量;基于电子控制单元的运行内存容量与目标升级包容量的比较结果,将目标升级包下载至电子控制单元的运行内存或备份存储空间中;在引导加载程序中对所述目标升级文件进行验证,若所述验证的结果正常,则将目标升级文件刷写至刷写地址中并重启所述电子控制单元,加载运行目标升级文件以完成此次OTA升级刷写。本申请解决了现有OTA升级刷写方法具有一定的失败率,并且重新进行刷写升级的效率较低的问题。
Description
技术领域
本申请涉及汽车技术领域,尤其涉及一种OTA升级刷写方法、装置、电子设备及存储介质。
背景技术
OTA(Over the Air Technology),即空间下载技术,汽车OTA升级指利用空中下载技术对汽车进行固件升级和软件升级。
目前的OTA升级主要是通过OTA主控将升级文件通过控制器局域网(ControllerArea Network,CAN)网络使用UDS协议刷写至电子控制单元(ECU)的闪存(FLASH)中,刷写完成后复位运行升级程序。这样有很大的弊端就是升级程序是否正常运行和功能是否完整需要等到升级刷写完成复位后重新运行才能知道,如果不能正常运行和功能有缺失,又因为刚才刷写升级程序时将闪存原有的程序擦除并覆盖了新的程序,又需要重新刷写电子控制单元件,CAN网络速率也只有500Kb,使得刷写效率很低,而且重新升级也不一定能成功,势必浪费大量的时间。
可见,现有OTA升级刷写方法具有一定的失败率,并且重新进行刷写升级的效率较低的问题。
发明内容
有鉴于此,本申请实施例提供了一种OTA升级刷写方法、装置、电子设备及存储介质,以解决现有OTA升级刷写方法具有一定的失败率,并且重新进行刷写升级的效率较低的问题。
本申请实施例的第一方面,提供了一种OTA升级刷写方法,包括:
接收OTA升级主控传输的目标升级包,并确定所述目标升级包的容量以及电子控制单元的运行内存容量,其中所述目标升级包包括目标升级文件以及所述目标升级文件待刷写至对应电子控制单元的刷写地址;基于所述电子控制单元的运行内存容量与所述目标升级包容量的比较结果,利用预定的所述OTA升级对应的升级刷写策略,将所述目标升级包下载至所述电子控制单元的运行内存或备份存储空间中;在引导加载程序中对所述目标升级文件进行验证,若所述验证的结果正常,则将所述目标升级文件刷写至所述刷写地址中,并重启所述电子控制单元,加载运行所述目标升级文件以完成此次OTA升级刷写。
本申请实施例的第二方面,提供了一种OTA升级刷写装置,包括:
接收模块,被配置为接收OTA升级主控传输的目标升级包,并确定所述目标升级包的容量以及电子控制单元的运行内存容量,其中所述目标升级包包括目标升级文件以及所述目标升级文件待刷写至对应电子控制单元的刷写地址;下载模块,被配置为基于所述电子控制单元的运行内存容量与所述目标升级包容量的比较结果,利用预定的所述OTA升级对应的升级刷写策略,将所述目标升级包下载至所述电子控制单元的运行内存或备份存储空间中;刷写模块,被配置为在引导加载程序中对所述目标升级文件进行验证,若所述验证的结果正常,则将所述目标升级文件刷写至所述刷写地址中,并重启所述电子控制单元,加载运行所述目标升级文件以完成此次OTA升级刷写。
本申请实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
本申请实施例的第四方面,提供了一种存储介质,存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:
本实施例通过接收OTA升级主控传输的目标升级包,并确定目标升级包的容量以及电子控制单元的运行内存容量;基于电子控制单元的运行内存容量与目标升级包容量的比较结果,将目标升级包下载至电子控制单元的运行内存或备份存储空间中;对目标升级文件进行完整性校验;若校验结果指示目标升级文件完整,对目标升级文件进行功能验证,根据验证的结果确定是否将目标升级文件刷写至刷写地址中;通过将目标升级文件下载至电子控制单元的运行内存或备份存储空间中,而不是直接刷写至刷写地址中,实现了避免覆盖刷写地址中原始升级文件的问题。并且通过完整性校验和验证,确保只将完整且功能良好的目标升级文件刷写至电子控制单元中,保证OTA升级刷写过程的成功与可靠性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种OTA升级刷写方法的流程示意图;
图2是本申请实施例提供的一种OTA升级刷写方法的工作原理图;
图3是本申请实施例提供的一种OTA升级刷写策略示意图;
图4是本申请实施例提供的另一种OTA升级刷写策略示意图;
图5是本申请实施例提供的一种OTA升级刷写装置的结构示意图;
图6是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
此外,需要说明的是,术语“包括”“包含”或者其任何其他变体意在涵盖非排他性地包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面将结合附图详细说明本申请实施例的一种OTA升级刷写方法、装置、电子设备以及存储介质。
图1是本申请实施例提供的一种OTA升级刷写方法的流程示意图。如图1所示,该方法包括:
S101,接收OTA升级主控传输的目标升级包,并确定目标升级文件的容量以及电子控制单元的运行内存容量,其中目标升级包包括目标升级文件以及目标升级文件对应的刷写地址。
空间下载技术(Over the Air Technology,OTA),也称为远程无线升级,是一种通过无线网络(如蜂窝网络)更新软件和系统的方式,例如汽车或其他设备的OTA升级,通过OTA升级,车主可以获得最新的软件功能、系统改进、安全修复和性能优化,而无需到汽车经销商进行物理升级。
OTA升级主控(Update Management Center,UMC)是指OTA升级系统中的主要控制组件。UMC负责协调整个OTA升级过程的管理和执行,通常是一个中央服务器或云服务,与用户设备和OTA升级的固件或软件之间建立通信,并处理升级请求、验证固件完整性、分发升级包等任务,UMC可以跟踪和记录设备的升级状态,并在需要时发送通知或提供升级报告。
目标升级包包括目标升级文件以及刷写地址,目标升级文件是设备或系统的新版本固件文件,刷写地址指在进行软件或固件升级时,需要将目标升级文件写入到特定的存储地址,这个地址指明了信息被写入的具体位置。作为一示例,本实施例将目标升级文件刷写至电子控制单元的闪存当中,用于长期存储数据和程序。
电子控制单元(Electronic Control Unit,ECU)是一种用于控制和管理车辆或机械系统的电子设备,通常包含一个或多个微处理器,用于收集、处理和响应来自传感器和执行器的信号和指令,主要功能是监测和控制车辆或机械系统的各种参数,如引擎功率、燃油喷射、制动系统、空调控制等,ECU还可存储故障码、进行自我诊断并提供相应的修复建议,不同的系统或子系统(如引擎管理系统、刹车系统、气囊系统等)通常会有独立的ECU来控制和管理。
其中,ECU的运行内存是一种易失性存储器,用于临时存储数据和程序的运行,具有较快的读取和写入速度,但在断电或重启后,运行内存中的数据会被清除,因此,运行内存用于存储临时数据和实时操作所需要的程序指令。
此外,目标升级包的容量取决于具体的升级内容,它可能是几兆字节到几百兆字节不等。电子控制单元的运行内存容量取决于该特定ECU的设计和规格,不同的ECU会有不同的运行内存容量,以适应其所需的功能和数据存储,常见的ECU运行内存容量范围从几十千字节到几百兆字节不等,具体的运行内存容量信息可以在ECU的技术规格或制造商的文档中找到。
本步骤通过接收OTA升级主控传输的目标升级包,来明确本次OTA升级刷写的升级内容以及刷写地址,并确定目标升级包的容量以及电子控制单元的运行内存容量,为后续升级刷写策略提供判断依据。
S102,基于电子控制单元的运行内存容量与目标升级包容量的比较结果,利用预定的OTA升级对应的升级刷写策略,将目标升级包下载至电子控制单元的运行内存或备份存储空间中。
预定的OTA升级对应的升级刷写策略指的是在进行OTA升级时所采用的升级方式和规则,可以决定升级的执行逻辑和流程,具体的升级刷写策略会基于电子控制单元的运行内存容量与目标升级包容量的比较结果而有所不同,以确保可靠和高效的OTA升级过程。
备份存储空间指的是目标升级文件的一个拷贝或复制,为了备份、保护或进行处理,可以创建一个目标升级文件的备份,这个备份可以用于承载目标升级文件,也可以是目标升级文件的一个完整拷贝,包含相同的内容和数据,备份存储空间可以用于各种目的,比如数据恢复、实验测试、共享给其他人等,当目标升级文件发生意外损坏或需要进行操作,备份可以作为替代品或临时文件使用,需要说明的是,对备份的修改通常不会影响原始文件。
本步骤根据电子控制单元的运行内存容量与目标升级包容量的比较结果的不同,利用预定的OTA升级对应的升级刷写策略,将目标升级包下载至电子控制单元的运行内存或备份存储空间中,提高了OTA升级过程当中的灵活性。
S103,在引导加载程序中对目标升级文件进行验证,若验证的结果正常,则将目标升级文件刷写至刷写地址中,并重启电子控制单元,加载运行目标升级文件以完成此次OTA升级刷写。
在OTA升级过程中,运行目标升级文件对其功能进行验证,确保各项功能能够正常运行,对所有功能进行全面验证,包括升级前后的功能对比,确认没有因升级而引入新的问题或导致现有功能异常。
需要说明的是,验证通常会基于预定义的验证方案或验证用例进行,涵盖各个方面,如硬件功能、软件功能、接口功能等。验证过程中会模拟真实的使用场景,验证功能是否按预期运行、响应是否正常以及是否符合设定的要求。
当进行OTA升级时,系统会先进行验证来确保新固件或软件的可靠性和兼容性,如果验证的结果异常,意味着新固件可能存在问题,可能会导致系统不稳定或与其他组件不兼容,在这种情况下,为了避免潜在的问题和风险,会终止升级过程。
此外,如果目标升级文件被认为存在问题,则不会使用目标升级文件进行OTA升级刷写,目标升级文件是用于实际升级操作的文件,如果该文件存在问题,可能会导致刷写失败或引发其他不可预测的结果。
本步骤在验证的结果正常的情况下,将目标升级文件刷写至刷写地址中,确保OTA升级能够一次刷写成功,之后重启ECU,启动已刷写的新固件或软件,并使其生效,使得重启过程中,系统能够重新加载新的固件或软件,并根据新的配置进行初始化和配置,确保新固件正确地加载、初始化和配置,并保证系统的稳定性和兼容性。在验证的结果异常时,不利用目标升级文件进行OTA升级刷写,确保不使用不正确的、不可靠的文件进行OTA升级刷写,避免对系统的稳定性和可靠性造成影响。
本实施例通过接收OTA升级主控传输的目标升级包,并确定目标升级包的容量以及电子控制单元的运行内存容量;基于电子控制单元的运行内存容量与目标升级包容量的比较结果,将目标升级包下载至电子控制单元的运行内存或备份存储空间中;对目标升级文件进行验证,根据验证的结果确定是否将目标升级文件刷写至刷写地址中;通过将目标升级文件下载至电子控制单元的运行内存或备份存储空间中,而不是直接刷写至刷写地址中,实现了避免覆盖刷写地址中原始升级文件的问题。并且通过完整性校验和验证,确保只将完整且功能良好的目标升级文件刷写至电子控制单元中,保证OTA升级刷写过程的成功与可靠性。
在一些实施例中,基于电子控制单元的运行内存容量与目标升级包容量的比较结果,利用预定的OTA升级对应的升级刷写策略,将目标升级包下载至电子控制单元的运行内存或备份存储空间中,包括:当电子控制单元的运行内存容量大于目标升级包容量时,将目标升级包下载至电子控制单元的运行内存并保存至备份存储空间中;当电子控制单元的运行内存容量小于目标升级包容量时,将目标升级包下载至备份存储空间中。
具体地,当ECU的运行内存容量大于目标升级包的容量时,可以将目标升级包直接下载到ECU的运行内存中。此时,ECU有足够的运行内存空间来存储整个目标升级包,因此可以直接将目标升级包加载到运行内存中进行升级操作。
当ECU的运行内存容量小于目标升级包的容量时,由于运行内存空间不足无法完整加载目标升级包,需要将目标升级包下载到备份存储空间中,备份存储空间可以是ECU上的外部存储介质(如闪存卡或硬盘),或者是另一个设备上的存储介质,在此不进行具体限定。
本实施例通过电子控制单元的运行内存容量与目标升级包容量的比较结果,利用预定的OTA升级对应的升级刷写策略,当ECU的运行内存容量大于目标升级包容量时,将目标升级包下载至ECU的运行内存中;当ECU的运行内存容量小于目标升级包容量时,将目标升级包下载至备份存储空间中,可以应对运行内存容量有限的情况下进行升级,确保在不同情况下自动选择不同的升级方法来保证目标升级包的完整性和安全性。
此外,在一些实施例中,在引导加载程序中对目标升级文件进行验证,包括:在将目标升级包下载至电子控制单元的运行内存中时,对目标升级文件进行完整性校验,若校验结果指示目标升级文件完整,在引导加载程序环境中运行运行内存中的目标升级文件,若目标升级文件在预设时段内能够正常运行,则目标升级文件的功能正常。
具体地,在OTA升级过程中,对目标升级文件的完整性进行校验指通过比对校验和、哈希值或其他加密算法,在目标设备接收目标升级文件后验证文件是否完整、未被篡改或损坏。
校验过程通常会在升级过程的初始阶段进行,ECU会使用相同的校验算法计算接收到的目标升级文件的校验值,然后将其与预设的期望值进行比较,如果两者一致,则文件被认为是完整的和未被篡改的;如果不一致,则可能存在文件损坏或篡改的情况。
引导加载程序(Bootload)指在启动过程中加载和执行引导程序的过程,引导程序是一段特殊的软件代码,负责初始化系统、加载操作系统或其他应用程序,能够为系统提供了启动的基础环境,确保系统能够正确初始化并加载所需的软件组件,以实现系统的正常运行。
在将目标升级包下载到ECU的运行内存中,并在引导加载程序环境中运行该文件时,如果目标升级文件能够在预设时段(例如180秒)内正常运行,那么可以认为目标升级文件的功能是正常的,目标升级文件在加载后,其功能可以被正确地执行和实现,通过在预设时段内对目标升级文件进行测试或观察,可以验证其功能是否按照预期运行,是否能够正确地完成预定的任务,并且不会引入新的问题或导致现有功能异常。
本实施例在将目标升级包下载至ECU的运行内存中时,通过完整性校验并在引导加载程序环境中运行运行内存中的目标升级文件,可以确保在升级过程中ECU能够正确地初始化和配置,加载所需的软件组件,并在预设时段内完整地执行目标升级文件中的功能,只有当目标升级文件在预设时段内能够正常运行,并且功能得到正确执行和实现时,才能够认为目标升级文件的功能是正常的,确保只利用正常且功能良好的目标升级文件进行刷写,提高OTA升级刷写的准确率。
另外,在一些实施例中,在引导加载程序中对目标升级文件进行验证,包括:在将目标升级文件下载至备份存储空间时,对目标升级文件进行完整性校验,若校验结果指示目标升级文件完整,从备份存储空间中读取需求数据,其中备份存储空间中包括至少一个需求数据;在引导加载程序环境中运行需求数据,若需求数据在预设时段内能够正常运行,则需求数据的功能正常,若至少一个需求数据的功能正常,则说明目标升级文件的功能正常。
具体的,在将目标升级包下载至备份存储空间时,说明ECU的运行内存容量小于目标升级包的容量,此时运行内存不支持验证整个目标升级文件的功能是否正常,需要运行内存从备份存储空间中读取需求数据,其中备份存储空间中包括至少一个需求数据,来分段对目标升级文件进行验证。
在引导加载程序环境中运行该需求数据时,如果需求数据能够在预设时段(例如180秒)内正常运行,那么可以认为需求数据的功能是正常的,目标升级文件在加载后,其功能可以被正确地执行和实现,对目标升级文件中的至少一个需求数据以相同方法进行验证,若验证结果指示目标升级文件中的至少一个需求数据的功能是正常的,则得出目标升级文件的功能是正常的。
本实施例通过在将目标升级包下载至备份存储空间时,由运行内存从备份存储空间中读取需求数据在引导加载程序环境中运行,验证该需求数据功能是否正常,以此来确定整个目标升级文件的功能是否正常,避免使用功能不正常的目标升级文件进行刷写,确保只利用正常且功能良好的目标升级文件进行刷写,提高OTA升级刷写的准确率。
在一些实施例中,将目标升级文件刷写至刷写地址中,包括:将目标升级文件的数据结构记录在备份存储空间,数据结构包括段地址、段数据长度和段编号信息;当电子控制单元的设计定义要求不将目标升级文件写入连续的一段空间时,根据段地址、段数据长度和段编号信息,将目标升级文件分段刷写至刷写地址中。
具体的,目标升级文件的数据结构指的是目标升级文件在存储介质中的组织方式、格式以及存储地址。描述了目标升级文件中数据的排列和组织方式,以便在升级过程中正确读取和解析文件的内容,需要说明的是,目标升级文件的数据结构必须与升级系统和ECU的解析逻辑相匹配,以确保在升级过程中能够正确读取、解析和应用升级文件中的数据。
在OTA升级过程中,对ECU进行升级需要将新的固件或数据写入ECU的刷写地址中,但是不同的ECU设计可能要求将升级数据写入非连续的分段空间,而不仅仅是从刷写地址的基址开始的连续空间,为了正确地将升级数据刷写到ECU中,需要记录每个段的地址、数据长度和编号等信息,并按照这些要求进行刷写操作,以确保升级过程顺利进行,并保证在启动ECU时,ECU的微控制器单元(Microcontroller Unit,MCU)能够准确地获取目标升级文件到运行内存中运行。
本实施例针对不同的ECU设计可能要求将升级数据写入非连续的分段空间的情况,根据段地址、段数据长度和段编号信息,将目标升级文件分段刷写至电子控制单元相应的刷写地址中,可以有效地管理ECU的升级过程,避免数据写入错误或不完整的情况,确保升级过程安全性和可靠性,同时保证在启动ECU时,MCU能够准确地获取目标升级文件并在运行内存中运行。
此外,在一些实施例中,将目标升级文件刷写至刷写地址中,包括:在将目标升级包下载至备份存储空间时,将备份存储空间中的目标升级文件刷写至刷写地址中;在将目标升级包下载至电子控制单元的运行内存中时,将电子控制单元运行内存中的目标升级文件刷写至刷写地址中。
具体的,当目标升级包已经下载到备份存储空间中时,在目标升级文件的完整性校验和验证都通过之后,可以将备份存储空间中的目标升级文件刷写到刷写地址中,使得电子控制单元可以使用新的固件或数据。
当目标升级包被下载到电子控制单元的运行内存中时,在目标升级文件的完整性校验和验证都通过之后,可以将运行内存中的目标升级文件保存在备份存储空间中,并将运行内存中的目标升级文件刷写到刷写地址中。这样,备份存储空间用于备份和保存,而闪存中的目标升级文件用于实际的运行和更新。
本实施例通过将不同存储介质中的目标升级文件写入到ECU的刷写地址中,确保将目标升级文件正确地存储和刷写到ECU中,当将运行内存中的目标升级文件刷写到ECU的刷写地址时,同时在备份存储空间中保存目标升级文件,以保证ECU能够成功的更新设备的固件或数据。
另外,在一些实施例中,在将电子控制单元运行内存中的目标升级文件刷写至刷写地址的过程中,若出现通信中断,则在恢复通信之后将保存在备份存储空间中的目标升级文件刷写至刷写地址中。。
具体地,在将ECU运行内存中的目标升级文件写入刷写地址的过程中,如果出现通信中断,可能导致目标升级文件的完整性受到影响,写入操作无法继续进行,且运行内存只是临时性的存储目标升级文件,如果出现通信中断,运行内存中的目标升级文件将不复存在,那么在恢复通信之后应将保存在备份存储空间中的目标升级文件刷写至ECU的刷写地址中。
作为一示例,如果在OTA升级刷写过程中出现掉电情况,此时OTA升级刷写过程将无法继续进行,在恢复上电之后,又因为OTA升级刷写过程中断导致闪存中的原始升级文件被破坏,使得ECU“成砖”,不能再被使用,以至于整个OTA升级刷写失败。为了保证目标升级文件被正确、完整地写入到ECU的刷写地址中,当在将目标升级文件写入ECU的刷写地址的过程中遇到通信中断时,恢复通信以后,将保存在备份存储空间中的目标升级文件重新刷写至ECU的刷写地址中,以确保升级操作的成功完成。
本实施例通过在通信中断时,将保存在备份存储空间中的目标升级文件刷写至ECU的刷写地址中,在ECU本地由备份存储空间将目标升级文件写入刷写地址中,使得不会因为通信中断导致下载刷写失败,即使电子控制单元出现掉电等故障,在恢复正常后也方便的将升级文件写入刷写地址中,不受通信链路影响,提高升级刷写效率。
图2是本申请实施例提供的一种OTA升级刷写方法的工作原理图,如图2所示:
OTA升级涉及OTA升级主控(UMC)、OTA升级代理(UA)和OTA升级从控(US)。升级过程主要在VBOX(远程处理模块)、VGW(整车网关)和被刷写的ECU(电子控制单元)件中实现。
具体地,OTA升级主控(UMC)负责整个OTA升级过程的主要控制部分,负责协调和管理OTA升级的相关操作。OTA升级代理(UA)指负责代理和传递OTA升级请求和数据的中间设备,可以作为连接VBOX和VGW之间的桥梁,实现数据的转发和处理。
OTA升级从控(US)指需要进行OTA升级的目标设备,可以是车辆中的某个电子控制单元,需要从远程下载OTA目标升级文件,并将其刷写到自身的闪存中。
VBOX和VGW通过100M以太网相连,VGW通过CAN总线与其下各ECU部件相连,该结构可以实现OTA升级数据的传输和控制,确保目标升级文件能够从VBOX经由VGW到达各个ECU部件,并完成ECU件的升级刷写操作。
图3是本申请实施例提供的一种目标升级文件的升级刷写策略示意图,如图3所示:
首先,接收OTA升级主控传输的目标升级包之后,确定目标升级包的容量大小以及ECU的运行内存容量大小,当ECU的运行内存容量大于目标升级包的容量时,说明有足够的运行内存空间来存储整个目标升级包,因此可以直接将目标升级包中的目标升级文件加载到运行内存中进行升级操作。
然后,对运行内存中的目标升级文件进行完整性校验,在完整性校验通过之后,在引导加载程序环境中运行运行内存中的目标升级文件,若目标升级文件在预设时段内能够正常运行,则目标升级文件的功能完整。
最后,将ECU运行内存中的目标升级文件刷写至ECU相应的刷写地址中,并保存在备份存储空间作为备份数据,之后重启电子控制单元,加载运行目标升级文件以完成此次OTA升级刷写。
图4是本申请实施例提供的另一种目标升级文件的升级刷写策略示意图,如图4所示;
首先,接收OTA升级主控传输的目标升级包之后,确定目标升级包的容量大小以及ECU的运行内存容量大小,当ECU的运行内存容量小于目标升级包的容量时,由于运行内存空间不足无法完整加载目标升级包,需要将目标升级包下载到备份存储空间中。
然后,对备份存储空间中的目标升级文件进行完整性校验,在完整性校验通过之后,由运行内存从备份存储空间中读取需求数据,并在引导加载程序环境中运行该需求数据时,如果需求数据能够在预设时段内正常运行,那么可以认为需求数据的功能是完整的,其中该备份存储空间中包括至少一个需求数据,若至少一个需求数据的功能都是完整的,则整个目标升级文件的功能都是完整的。
最后,将备份存储空间中的目标升级文件刷写至ECU相应的刷写地址中,重启ECU,加载运行目标升级文件以完成此次OTA升级刷写。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不一一赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应该对本申请实施例的过程构成任何限定。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图5是本申请实施例提供的一种OTA升级刷写装置,如图5所示,该装置包括:
接收模块501,被配置为接收OTA升级主控传输的目标升级包,并确定目标升级包的容量以及电子控制单元的运行内存容量,其中目标升级包包括目标升级文件以及目标升级文件刷写至对应电子控制单元的刷写地址;
下载模块502,被配置为基于电子控制单元的运行内存容量与目标升级包容量的比较结果,利用预定的OTA升级对应的升级刷写策略,将目标升级包下载至电子控制单元的运行内存或备份存储空间中;
刷写模块503,被配置为在引导加载程序中对目标升级文件进行验证,若验证的结果正常,则将目标升级文件刷写至刷写地址中,并重启电子控制单元,加载运行目标升级文件以完成此次OTA升级刷写。
在一些实施例中,比较模块502还用于当电子控制单元的运行内存容量大于目标升级包容量时,将目标升级包下载至电子控制单元的运行内存并保存至备份存储空间中;当电子控制单元的运行内存容量小于目标升级包容量时,将目标升级包下载至备份存储空间中。
在一些实施例中,刷写模块503还用于在将目标升级包下载至电子控制单元的运行内存中时,对目标升级文件进行完整性校验,若校验结果指示目标升级文件完整,在引导加载程序环境中运行运行内存中的目标升级文件,若目标升级文件在预设时段内能够正常运行,则目标升级文件的功能正常。
在一些实施例中,刷写模块503还用于在将目标升级文件下载至备份存储空间时,对目标升级文件进行完整性校验,若校验结果指示目标升级文件完整,从备份存储空间中读取需求数据,其中备份存储空间中包括至少一个需求数据;在引导加载程序环境中运行需求数据,若需求数据在预设时段内能够正常运行,则需求数据的功能正常,若至少一个需求数据的功能正常,则说明目标升级文件的功能正常。
在一些实施例中,刷写模块503还用于将目标升级文件的数据结构记录在备份存储空间,数据结构包括段地址、段数据长度和段编号信息;当电子控制单元的设计定义要求不将目标升级文件写入连续的一段空间时,根据段地址、段数据长度和段编号信息,将目标升级文件分段刷写至刷写地址中。
在一些实施例中,刷写模块503还用于在将目标升级包下载至备份存储空间时,将备份存储空间中的目标升级文件刷写至刷写地址中;在将目标升级包下载至电子控制单元的运行内存中时,将电子控制单元运行内存中的目标升级文件刷写至刷写地址中。
在一些实施例中,刷写模块503还用于在将电子控制单元运行内存中的目标升级文件刷写入刷写地址的过程中,若出现通信中断,则在恢复通信之后将保存在备份存储空间中的目标升级文件刷写至刷写地址中。
图6是本申请实施例提供的电子设备6的示意图。如图6所示,该实施例的电子设备6包括:处理器601、存储器602以及存储在该存储器602中并且可在处理器601上运行的计算机程序603。处理器601执行计算机程序603时实现上述各个方法实施例中的步骤。或者,处理器601执行计算机程序603时实现上述各装置实施例中各模块/单元的功能。
电子设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备6可以包括但不仅限于处理器601和存储器602。本领域技术人员可以理解,图6仅仅是电子设备6的示例,并不构成对电子设备6的限定,可以包括比图示更多或更少的部件,或者不同的部件。
处理器601可以是中央处理单元(Central Processing Unit,CPU),也可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
存储器602可以是电子设备6的内部存储单元,例如,电子设备6的硬盘或内存。存储器602也可以是电子设备6的外部存储设备,例如,电子设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器602还可以既包括电子设备6的内部存储单元也包括外部存储设备。存储器602用于存储计算机程序以及电子设备所需的其他程序和数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种OTA升级刷写方法,其特征在于,包括:
接收OTA升级主控传输的目标升级包,并确定所述目标升级包的容量以及电子控制单元的运行内存容量,其中所述目标升级包包括目标升级文件以及所述目标升级文件待刷写至对应电子控制单元的刷写地址;
基于所述电子控制单元的运行内存容量与所述目标升级包容量的比较结果,利用预定的所述OTA升级对应的升级刷写策略,将所述目标升级包下载至所述电子控制单元的运行内存或备份存储空间中;
在引导加载程序中对所述目标升级文件进行验证,若所述验证的结果正常,则将所述目标升级文件刷写至所述刷写地址中,并重启所述电子控制单元,加载运行所述目标升级文件以完成此次OTA升级刷写。
2.根据权利要求1所述的方法,其特征在于,所述基于所述电子控制单元的运行内存容量与所述目标升级包容量的比较结果,利用预定的所述OTA升级对应的升级刷写策略,将所述目标升级包下载至所述电子控制单元的运行内存或备份存储空间中,包括:
当所述电子控制单元的运行内存容量大于所述目标升级包容量时,将所述目标升级包下载至所述电子控制单元的运行内存并保存至所述备份存储空间中;
当所述电子控制单元的运行内存容量小于所述目标升级包容量时,将所述目标升级包下载至所述备份存储空间中。
3.根据权利要求1所述的方法,其特征在于,所述在引导加载程序中对所述目标升级文件进行验证,包括:
在将所述目标升级包下载至所述电子控制单元的运行内存中时,对所述目标升级文件进行完整性校验,若校验结果指示所述目标升级文件完整,在引导加载程序环境中运行所述运行内存中的目标升级文件,若所述目标升级文件在预设时段内能够正常运行,则所述目标升级文件的功能正常。
4.根据权利要求1所述的方法,其特征在于,所述在引导加载程序中对所述目标升级文件进行验证,包括:
在将所述目标升级文件下载至所述备份存储空间时,对所述目标升级文件进行完整性校验,若校验结果指示所述目标升级文件完整,从所述备份存储空间中读取需求数据,其中所述备份存储空间中包括至少一个需求数据;
在引导加载程序环境中运行所述需求数据,若所述需求数据在预设时段内能够正常运行,则所述需求数据的功能正常,若所述至少一个需求数据的功能正常,则说明所述目标升级文件的功能正常。
5.根据权利要求1所述的方法,其特征在于,所述将所述目标升级文件刷写至所述刷写地址中,包括:
将所述目标升级文件的数据结构记录在所述备份存储空间,所述数据结构包括段地址、段数据长度和段编号信息;
当所述电子控制单元的设计定义要求不将所述目标升级文件写入连续的一段空间时,根据所述段地址、段数据长度和段编号信息,将所述目标升级文件分段刷写至所述刷写地址中。
6.根据权利要求1所述的方法,其特征在于,所述将所述目标升级文件刷写至所述刷写地址中,包括:
在将所述目标升级包下载至所述备份存储空间时,将所述备份存储空间中的所述目标升级文件刷写至所述刷写地址中;
在将所述目标升级包下载至所述电子控制单元的运行内存中时,将所述电子控制单元运行内存中的所述目标升级文件刷写至所述刷写地址中。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在将所述电子控制单元运行内存中的目标升级文件刷写至所述刷写地址的过程中,若出现通信中断,则在恢复通信之后将保存在所述备份存储空间中的所述目标升级文件刷写至所述刷写地址中。
8.一种OTA升级刷写装置,其特征在于,包括:
接收模块,被配置为接收OTA升级主控传输的目标升级包,并确定所述目标升级包的容量以及电子控制单元的运行内存容量,其中所述目标升级包包括目标升级文件以及所述目标升级文件待刷写至对应电子控制单元的刷写地址;
下载模块,被配置为基于所述电子控制单元的运行内存容量与所述目标升级包容量的比较结果,利用预定的所述OTA升级对应的升级刷写策略,将所述目标升级包下载至所述电子控制单元的运行内存或备份存储空间中;
刷写模块,被配置为在引导加载程序中对所述目标升级文件进行验证,若所述验证的结果正常,则将所述目标升级文件刷写至所述刷写地址中,并重启所述电子控制单元,加载运行所述目标升级文件以完成此次OTA升级刷写。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。
10.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311267630.0A CN117407020A (zh) | 2023-09-27 | 2023-09-27 | Ota升级刷写方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311267630.0A CN117407020A (zh) | 2023-09-27 | 2023-09-27 | Ota升级刷写方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117407020A true CN117407020A (zh) | 2024-01-16 |
Family
ID=89493410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311267630.0A Pending CN117407020A (zh) | 2023-09-27 | 2023-09-27 | Ota升级刷写方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407020A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117667163A (zh) * | 2024-01-31 | 2024-03-08 | 北京鲲鹏凌昊智能技术有限公司 | 一种通过以太网远程更新dsp程序的方法、设备和存储介质 |
-
2023
- 2023-09-27 CN CN202311267630.0A patent/CN117407020A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117667163A (zh) * | 2024-01-31 | 2024-03-08 | 北京鲲鹏凌昊智能技术有限公司 | 一种通过以太网远程更新dsp程序的方法、设备和存储介质 |
CN117667163B (zh) * | 2024-01-31 | 2024-04-05 | 北京鲲鹏凌昊智能技术有限公司 | 一种通过以太网远程更新dsp程序的方法、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7407261B2 (ja) | 車両ecuソフトウェアのためのソフトウェアデルタ更新の構築およびツールチェーンに基づく異常検出 | |
US10162625B2 (en) | Vehicle control storage methods and systems | |
CN101650662B (zh) | 一种嵌入式系统的存储器件的固件启动及升级方法 | |
US20090037904A1 (en) | Firmware Installation | |
US8539471B2 (en) | Updating firmware of an electronic device | |
CN103559052B (zh) | 固件更新的设备与方法 | |
CN107239411B (zh) | 一种车载控制器内存管理方法及系统 | |
CN117407020A (zh) | Ota升级刷写方法、装置、电子设备及存储介质 | |
CN111813428A (zh) | 终端固件的升级方法、装置、电子设备及存储介质 | |
WO2011088701A1 (zh) | 一种跨平台版本在线升级的方法及装置 | |
WO2019080840A1 (zh) | 固件修复方法及装置 | |
KR20220084336A (ko) | 보안 저장 디바이스의 탄력적인 소프트웨어 업데이트 | |
CN115220796A (zh) | 安全引导设备 | |
CN114780122A (zh) | 嵌入式设备固件更新方法以及嵌入式设备 | |
CN114281374A (zh) | 车辆电控单元的远程刷写方法、系统及存储介质 | |
CN113703801A (zh) | 一种车载终端固件升级方法及电子装置 | |
CN114144759A (zh) | 用于更新车辆的车载计算机的软件的更新方法和更新装置,所述车载计算机包括执行存储器、备份存储器和检查存储器 | |
CN111611000A (zh) | 一种高可靠的固件空中升级方法及系统 | |
TWI839587B (zh) | 用於管理軟體更新之方法及裝置,以及非暫時性電腦可讀儲存媒體 | |
WO2023060976A1 (zh) | 嵌入式文件系统的文件读写方法、电子设备及存储介质 | |
US20230333838A1 (en) | Method and device for updating software of an onboard computer in a vehicle, comprising a runtime memory, a backup memory and a control memory | |
CN117971265A (zh) | 雷达软件升级方法、装置、设备及可读存储介质 | |
CN116909808A (zh) | 车辆电子控制单元的升级方法、装置、设备以及存储介质 | |
CN117971273A (zh) | Mcu软件更新方法、电池管理系统和计算机可读存储介质 | |
CN113254031A (zh) | 域控制器ota自检系统及其方法、计算机存储介质 |
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 |