OTA update method and apparatus, electronic device, and storage medium

By verifying the compatibility of the upgrade packets in the OTA upgrade method, the ECU slag problem caused by incompatibility between the on-board software and hardware is solved, ensuring the effectiveness and efficiency of the OTA upgrade.

WO2024255194A1PCT designated stage expired Publication Date: 2024-12-19HUIZHOU DESAY SV AUTOMOTIVE
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/141357
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-16
Filing Date
2023-12-25
Publication Date
2024-12-19

AI Technical Summary

Technical Problem

During the process of upgrading the on-board software OTA, the ECU runs dead due to the incompatibility of the software and hardware, and it is impossible to re-enter the boot loader, resulting in the vehicle requiring a recall and replacement of the ECU, wasting manpower and material resources.

Method used

In the OTA upgrade method, by analyzing the upgrade data packets, extracting compatibility verification information, and performing compatibility verification of products, software, hardware and configurations to ensure compatibility between the upgrade data packets and vehicles, and avoid unnecessary upgrade failures.

Benefits of technology

It realizes compatibility detection between the upgrade software and hardware on the vehicle side, ensures the effectiveness of OTA upgrades, avoids ECU stagnation, reduces the frequency of recalls and replacements, and improves upgrade efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023141357_19122024_PF_FP_ABST
    Figure CN2023141357_19122024_PF_FP_ABST
Patent Text Reader

Abstract

An OTA update method and apparatus, an electronic device, and a storage medium. The method comprises: analyzing an update data packet, and determining a target update type (S110); extracting, from the update data packet, compatibility verification information corresponding to the target update type, and determining benchmark information corresponding to the compatibility verification information, wherein the compatibility verification information comprises product verification information, software verification information, hardware verification information, and / or configuration verification information (S120); comparing the corresponding compatibility verification information with the benchmark information to obtain a compatibility verification result, wherein the compatibility verification result comprises compatibility verification success and compatibility verification failure (S130); and when the compatibility verification result indicates compatibility verification success, finishing OTA update on the basis of the update data packet (S140).
Need to check novelty before this filing date? Find Prior Art

Description

OTA upgrade method, device, electronic device and storage medium

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on June 16, 2023, with application number 202310721972.9. The entire contents of the above application are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of Internet application technology, for example, to an Over-the-Air (OTA) upgrade method, device, electronic device and storage medium. Background Art

[0003] Over-the-Air (OTA) upgrades of in-vehicle software are mostly based on Unified Diagnostic Services (UDS). Application software upgrades can be mainly divided into three parts: Pre-Programming Step, Programming Step, and Post-Programming Step.

[0004] OTA upgrades are generally performed by sending software packages from the Original Equipment Manufacturer (OEM) server. During the programming phase, the vehicle's Electronic Control Unit (ECU) verifies the integrity of the downloaded data to ensure data reliability. However, the OEM server may mistakenly send the wrong software package. If the downloaded upgraded software is incompatible with the vehicle, when the vehicle restarts and runs the new software, the ECU may become stuck or unable to re-enter the bootloader for the next OTA upgrade due to the incompatibility between the new software and other parts of the vehicle. For example: Hardware 1 and Hardware 2 both run the same bootloader and have the same upgrade process, but Hardware 1 can only run Application 1 and Hardware 2 can only run Application 2. Since their upgrade processes are the same, Hardware 1 can upgrade Application 2. However, when Hardware 1 runs Application 2, the ECU will become stuck and bricked, and the vehicle will have to be recalled and the ECU replaced, wasting a lot of manpower and resources.

[0005] Summary of the Invention

[0006] This application provides an OTA upgrade method, device, electronic device and storage medium to implement compatibility testing between upgraded software, configuration files and hardware on the vehicle side to ensure effective upgrade of the vehicle-side software.

[0007] This application provides an OTA upgrade method, which includes:

[0008] Parse the upgrade data packet to determine the target upgrade type;

[0009] Extracting compatibility verification information corresponding to the target upgrade type from the upgrade data packet, and determining benchmark information corresponding to the compatibility verification information, the compatibility verification information including product verification information, software verification information, hardware verification information, and / or configuration verification information;

[0010] Comparing the compatibility verification information with the reference information to obtain a compatibility verification result, wherein the compatibility verification result includes a compatibility verification pass and a compatibility verification fail;

[0011] When the compatibility verification result is that the compatibility verification is passed, the OTA upgrade is completed based on the upgrade data packet.

[0012] Optionally, the target upgrade type includes software upgrade, configuration file upgrade, and simultaneous software configuration upgrade.

[0013] Optionally, extracting compatibility verification information corresponding to the target upgrade type from the upgrade data packet and determining benchmark information corresponding to the compatibility verification information includes:

[0014] When the target upgrade type is a software upgrade, extracting compatibility verification information from a software version file of the upgrade data packet, and determining reference information corresponding to the compatibility verification information from the vehicle side;

[0015] When the target upgrade type is a configuration file upgrade, extracting compatibility verification information from the version configuration file of the upgrade data packet, and determining reference information corresponding to the compatibility verification information from the vehicle side;

[0016] When the target upgrade type is a simultaneous software configuration upgrade, compatibility verification information is extracted from the software version file and version configuration file of the upgrade data package, and benchmark information corresponding to the compatibility verification information that cannot be matched and verified is determined from the vehicle side.

[0017] Optionally, extracting compatibility verification information from the software version file of the upgrade data package and determining, from the vehicle side, reference information corresponding to the compatibility verification information includes:

[0018] Extracting basic product information from the software version file of the upgrade data package as product verification information, and determining product reference information corresponding to the product verification information from a boot loader on the vehicle side;

[0019] Extracting software version information from the software version file of the upgrade data packet as software verification information, and determining software reference information corresponding to the software verification information from a boot loader on the vehicle side;

[0020] Extracting hardware version information from the software version file of the upgrade data package as hardware verification information, and determining hardware reference information corresponding to the hardware verification information from a shared storage area on the vehicle side;

[0021] Configuration version information is extracted from the software version file of the upgrade data package as configuration verification information, and configuration reference information corresponding to the configuration verification information is determined from the configuration file on the vehicle side.

[0022] Optionally, extracting compatibility verification information from the version configuration file of the upgrade data package and determining, from the vehicle side, benchmark information corresponding to the compatibility verification information includes:

[0023] Extracting basic product information from a version configuration file of the upgrade data package as product verification information, and determining product reference information corresponding to the product verification information from a boot loader on the vehicle side;

[0024] Extracting hardware version information from the version configuration file of the upgrade data packet as hardware verification information, and determining hardware reference information corresponding to the hardware verification information from a shared storage area on the vehicle side;

[0025] Configuration version information is extracted from the version configuration file of the upgrade data package as configuration verification information, and configuration reference information corresponding to the configuration verification information is determined from the current software version file of the vehicle end.

[0026] Optionally, extracting compatibility verification information from the software version file and version configuration file of the upgrade data package, and determining, from the vehicle side, benchmark information corresponding to the compatibility verification information that cannot be matched and verified, includes:

[0027] Extracting basic product information from the software version file and the version configuration file of the upgrade data package as product verification information, and determining product reference information corresponding to the product verification information from a boot loader on the vehicle side;

[0028] Extracting hardware version information from the software version file and the version configuration file of the upgrade data package as hardware verification information, and determining hardware reference information corresponding to the hardware verification information from a shared storage area on the vehicle side;

[0029] Extracting software version information from the software version file of the upgrade data packet as software verification information, and determining software reference information corresponding to the software verification information from a boot loader on the vehicle side;

[0030] Extract configuration version information from the software version file of the upgrade data package as the first configuration verification information, extract configuration version information from the version configuration file of the upgrade data package as the second configuration verification information, use the first configuration verification information as the benchmark information of the second configuration verification information, and use the second configuration verification information as the benchmark information of the first configuration verification information.

[0031] Optionally, before extracting the compatibility verification information corresponding to the target upgrade type from the upgrade data packet, the method further includes:

[0032] A cyclic redundancy check is performed on the upgrade data packet, and if the cyclic redundancy check fails, the OTA upgrade operation is stopped.

[0033] This application provides an OTA upgrade device, which includes:

[0034] An upgrade type determination module is configured to parse the upgrade data packet and determine the target upgrade type;

[0035] a verification information extraction module configured to extract compatibility verification information corresponding to the target upgrade type from the upgrade data packet and determine benchmark information corresponding to the compatibility verification information, wherein the compatibility verification information includes product verification information, software verification information, hardware verification information, and / or configuration verification information;

[0036] a verification information comparison module configured to compare the compatibility verification information with the reference information to obtain a compatibility verification result, wherein the compatibility verification result includes a compatibility verification pass and a compatibility verification fail;

[0037] The OTA upgrade module is configured to complete the OTA upgrade based on the upgrade data packet when the compatibility verification result is that the compatibility verification is passed.

[0038] The present application provides an electronic device, comprising:

[0039] at least one processor; and

[0040] a memory communicatively coupled to the at least one processor;

[0041] In which, the memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the OTA upgrade method described in any embodiment of the present application.

[0042] The present application provides a computer-readable storage medium, which stores computer instructions, and the computer instructions are used to enable a processor to implement the OTA upgrade method described in any embodiment of the present application when executed.

[0043] It should be understood that the content described in this section is not intended to identify key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] The following is a brief introduction to the drawings required for describing the embodiments.

[0045] FIG1 is a flow chart of an OTA upgrade method provided in Example 1 of the present application;

[0046] FIG2 is a schematic structural diagram of an OTA upgrade device provided in Example 2 of the present application;

[0047] FIG3 is a schematic diagram of the structure of an electronic device that implements the OTA upgrade method according to an embodiment of the present application. DETAILED DESCRIPTION

[0048] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application, and the described embodiments serve as part of the embodiments of the present application.

[0049] The terms "first", "second", "target" etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in a sequence other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, in addition to the process, method, system, product or equipment comprising a series of steps or units shown in the embodiments of the present application, other processes, methods, systems, products or equipment of this series of steps or units not clearly listed are also included, or other steps or units inherent to these processes, methods, systems, products or equipment.

[0050] Example 1

[0051] Figure 1 is a flow chart of an OTA upgrade method provided in Example 1 of the present application. This embodiment is applicable to the case of OTA upgrade of a vehicle. The method can be executed by an OTA upgrade device, which can be implemented in the form of hardware and / or software and can be configured in the vehicle. As shown in Figure 1, the method includes:

[0052] S110: Parse the upgrade data packet to determine the target upgrade type.

[0053] This embodiment primarily performs compatibility testing on the upgrade data package after downloading it on the vehicle side to prevent vehicle ECU operation from freezing due to incompatibilities between the upgrade software, configuration files, and hardware. Therefore, this embodiment can parse the upgrade data package after downloading it on the vehicle side to determine the target upgrade type for this OTA upgrade.

[0054] In one embodiment, the target upgrade types may include software upgrade, configuration file upgrade, and simultaneous software and configuration upgrade.

[0055] For example, software upgrade can be understood as only upgrading the application software version without upgrading the configuration file, and the upgrade data package is the upgrade software package of the application software; configuration file upgrade can be understood as only upgrading the configuration file without upgrading the application software version, and the upgrade data package is the upgrade configuration file package; simultaneous software configuration upgrade can be understood as both upgrading the application software version and upgrading the configuration file, and the upgrade data package includes the upgrade software package and the upgrade configuration file package.

[0056] S120. Extract compatibility verification information corresponding to the target upgrade type from the upgrade data packet, and determine benchmark information corresponding to the compatibility verification information, where the compatibility verification information includes product verification information, software verification information, hardware verification information, and / or configuration verification information.

[0057] Compatibility verification information can be understood as information used to verify compatibility issues with the upgrade data package, while benchmark information can be understood as comparison information used during verification. In this embodiment, the compatibility verification information can include product verification information, software verification information, hardware verification information, and / or configuration verification information. In other words, this embodiment verifies the compatibility of OTA upgrades from multiple dimensions to ensure the effectiveness of OTA upgrades.

[0058] In one embodiment, the implementation of S120 can be divided into the following situations:

[0059] A1. When the target upgrade type is a software upgrade, compatibility verification information is extracted from the software version file of the upgrade data package, and the benchmark information corresponding to the compatibility verification information is determined from the vehicle side.

[0060] For example, when the OTA upgrade only upgrades the software, compatibility verification information can be extracted from the software version file in the upgrade data package. This compatibility verification information can include product verification information, software verification information, hardware verification information, and configuration verification information. Furthermore, each piece of compatibility verification information can be extracted from the vehicle's corresponding benchmark information.

[0061] A1 can be achieved through the following specific steps:

[0062] A11. Extract basic product information from the software version file of the upgrade data package as product verification information, and determine product reference information corresponding to the product verification information from the vehicle-side boot loader.

[0063] For example, product verification information may include information such as the manufacturer name, project name, and vehicle model. The software version file of the upgrade data package stores basic product information such as the manufacturer name, project name, and vehicle model, which is used to record the product types applicable to the upgraded software version. This basic product information can be extracted as product verification information. The vehicle-side bootloader also stores information such as the manufacturer name, project name, and vehicle model. The product baseline information corresponding to the product verification information can be determined from the vehicle-side bootloader to verify product compatibility with the upgrade data package.

[0064] A12. Extract software version information from the software version file in the upgrade data package as software verification information, and determine software baseline information corresponding to the software verification information from the vehicle-side boot loader.

[0065] For example, the software version information is stored in the software version file of the upgrade data package, and the software version information can be extracted as software verification information; the boot loader BootLoader on the vehicle side also stores relevant information about compatible software versions, and the software baseline information corresponding to the software verification information can be determined from the boot loader on the vehicle side for software version compatibility verification of the upgrade data package.

[0066] A13. Extract hardware version information from the software version file of the upgrade data package as hardware verification information, and determine hardware reference information corresponding to the hardware verification information from the shared storage area on the vehicle side.

[0067] Exemplarily, the software version file of the upgrade data package stores hardware version information, which is used to record the hardware type applicable to the upgraded software version. The hardware version information can be extracted as hardware verification information; the vehicle's hardware information is also stored in the shared storage area on the vehicle side. The hardware benchmark information corresponding to the hardware verification information can be determined from the shared storage area on the vehicle side for hardware compatibility verification of the upgrade data package.

[0068] A14. Extract configuration version information from the software version file of the upgrade data package as configuration verification information, and determine configuration reference information corresponding to the configuration verification information from the vehicle-side configuration file.

[0069] Exemplarily, the software version file of the upgrade data package stores configuration version information, which is used to record the configuration file information applicable to the upgraded software version. The configuration version information can be extracted as configuration verification information; the configuration file on the vehicle side also stores configuration information, and the configuration reference information corresponding to the configuration verification information can be determined from the configuration file on the vehicle side for configuration compatibility verification of the upgrade data package.

[0070] A2. When the target upgrade type is a configuration file upgrade, compatibility verification information is extracted from the version configuration file of the upgrade data package, and the benchmark information corresponding to the compatibility verification information is determined from the vehicle side.

[0071] For example, when the OTA upgrade only updates the configuration file, compatibility verification information can be extracted from the version configuration file of the upgrade data package. This compatibility verification information can include product verification information, hardware verification information, and configuration verification information. Furthermore, each piece of compatibility verification information can be extracted from the vehicle's corresponding benchmark information.

[0072] A2 can be achieved through the following specific steps:

[0073] A21. Extract basic product information from the version configuration file of the upgrade data package as product verification information, and determine product benchmark information corresponding to the product verification information from the boot loader on the vehicle side.

[0074] For example, product verification information may include information such as the manufacturer name, project name, and vehicle model. The upgrade data package's version configuration file stores basic product information such as the manufacturer name, project name, and vehicle model, which is used to record the product types to which the upgrade configuration file applies. This basic product information can be extracted as product verification information. The vehicle-side bootloader also stores information such as the manufacturer name, project name, and vehicle model. The product baseline information corresponding to the product verification information can be determined from the vehicle-side bootloader to verify product compatibility with the upgrade data package.

[0075] A22. Extract hardware version information from the version configuration file of the upgrade data package as hardware verification information, and determine hardware reference information corresponding to the hardware verification information from the shared storage area on the vehicle side.

[0076] Exemplarily, the version configuration file of the upgrade data package stores hardware version information, which is used to record the hardware type to which the upgrade configuration file is applicable. The hardware version information can be extracted as hardware verification information; the vehicle's hardware information is also stored in the shared storage area on the vehicle side. The hardware benchmark information corresponding to the hardware verification information can be determined from the shared storage area on the vehicle side for hardware compatibility verification of the upgrade data package.

[0077] A23. Extract configuration version information from the version configuration file of the upgrade data package as configuration verification information, and determine configuration reference information corresponding to the configuration verification information from the current software version file on the vehicle side.

[0078] Exemplarily, the version configuration file of the upgrade data package stores configuration version information, which can be extracted as configuration verification information; applicable configuration file information is also stored in the current software version file on the vehicle side, and the configuration baseline information corresponding to the configuration verification information can be determined from the current software version file on the vehicle side for configuration compatibility verification of the upgrade data package.

[0079] A3. When the target upgrade type is a simultaneous software and configuration upgrade, compatibility verification information is extracted from the software version file and version configuration file of the upgrade data package, and the benchmark information corresponding to the compatibility verification information that cannot be matched and verified is determined from the vehicle side.

[0080] For example, when the OTA upgrade is performed on both the software and configuration files, compatibility verification information can be extracted from the software version file and version configuration file of the upgrade data package, respectively. In this case, the compatibility verification information may include product verification information, software verification information, hardware verification information, and configuration verification information. Some compatibility verification information can be mutually verified with the benchmark information of other compatibility verification information. For compatibility verification information that cannot be matched and verified, the corresponding benchmark information can be extracted from the vehicle side.

[0081] A3 can be achieved through the following specific steps:

[0082] A31. Extract basic product information from the software version file and version configuration file of the upgrade data package as product verification information, and determine product reference information corresponding to the product verification information from the boot loader on the vehicle side.

[0083] Exemplarily, product verification information may include information such as the manufacturer name, project name, and vehicle model. The software version file of the upgrade data package stores basic product information such as the manufacturer name, project name, and vehicle model, which is used to record the product types applicable to the upgraded software version. The version configuration file of the upgrade data package also stores basic product information such as the manufacturer name, project name, and vehicle model, which is used to record the product types applicable to the upgrade configuration file. These basic product information can be extracted separately as product verification information. The vehicle-side bootloader also stores information such as the vehicle-side manufacturer name, project name, and vehicle model. The product benchmark information corresponding to the product verification information can be determined from the vehicle-side bootloader to perform product compatibility verification on the upgrade data package.

[0084] A32. Extract hardware version information from the software version file and version configuration file of the upgrade data package as hardware verification information, and determine hardware reference information corresponding to the hardware verification information from the shared storage area on the vehicle side.

[0085] Exemplarily, the software version file of the upgrade data package stores hardware version information for recording the hardware type to which the upgraded software version is applicable. The version configuration file of the upgrade data package stores hardware version information for recording the hardware type to which the upgrade configuration file is applicable. These hardware version information can be extracted separately as hardware verification information. The shared storage area on the vehicle side also stores the vehicle's hardware information. The hardware benchmark information corresponding to the hardware verification information can be determined from the shared storage area on the vehicle side for hardware compatibility verification of the upgrade data package.

[0086] A33. Extract software version information from the software version file of the upgrade data package as software verification information, and determine software baseline information corresponding to the software verification information from the boot loader on the vehicle side.

[0087] For example, the software version information is stored in the software version file of the upgrade data package, and the software version information can be extracted as software verification information; the boot loader BootLoader on the vehicle side also stores relevant information about compatible software versions, and the software baseline information corresponding to the software verification information can be determined from the boot loader on the vehicle side for software version compatibility verification of the upgrade data package.

[0088] A34. Extract configuration version information from the software version file of the upgrade data package as the first configuration verification information, extract configuration version information from the version configuration file of the upgrade data package as the second configuration verification information, use the first configuration verification information as the benchmark information of the second configuration verification information, and use the second configuration verification information as the benchmark information of the first configuration verification information.

[0089] For example, the software version file of the upgrade data package stores configuration version information, which records the configuration file information applicable to the upgraded software version. This configuration version information can be extracted as the first configuration verification information. The version configuration file of the upgrade data package also stores configuration version information, which can be extracted as the second configuration verification information. The first configuration verification information and the second configuration verification information can be correlated and used as reference information for each other to verify the configuration compatibility of the upgrade data package.

[0090] S130 : Compare the corresponding compatibility verification information and the benchmark information to obtain a compatibility verification result, where the compatibility verification result includes a compatibility verification pass and a compatibility verification fail.

[0091] In this embodiment, the compatibility verification information and the corresponding benchmark information can be compared. If the compatibility verification information and the corresponding benchmark information are consistent, the compatibility verification result can be determined as compatibility verification passed; if the compatibility verification information and the corresponding benchmark information are inconsistent, the compatibility verification result can be determined as compatibility verification failed.

[0092] S140: When the compatibility verification result is that the compatibility verification passes, complete the OTA upgrade based on the upgrade data packet.

[0093] In this embodiment, if the compatibility verification result is that the compatibility verification is passed, the OTA upgrade will continue to be completed based on the upgrade data packet. After the upgrade is successfully reset, the upgraded new software can be run; if the compatibility verification result is that the compatibility verification fails, the OTA upgrade will be stopped, the upgrade fails and the reason for the failure will be fed back to the server.

[0094] In one embodiment, before S120, the OTA upgrade method provided in this embodiment may further include: performing a cyclic redundancy check on the upgrade data packet, and stopping the OTA upgrade operation if the cyclic redundancy check fails.

[0095] It is understandable that before applying the OTA upgrade method provided in this embodiment, it is necessary to formulate iteration rules for software, hardware, and configuration file version numbers, and add corresponding information to the upgrade data packet and vehicle-side memory according to the rules for compatibility verification.

[0096] For example, data blocks may be divided in the non-volatile memory Flash at the vehicle end to store the information shown in Table 1.

[0097] Table 1 Data storage partition table

[0098] The definition of information in the software version file APP_Version_info_Header can be shown in Table 2.

[0099] Table 2 Software version file information table

[0100] The definition of information in the version configuration file config_file_Version_info_Header may be as shown in Table 3.

[0101] Table 3 Version configuration file information table

[0102] When using the script to compile the software, you can add the above Version_info_Header to the front of the corresponding executable file and configuration file to merge them into a data package, which is convenient for downloading during OTA upgrades.

[0103] To ensure compatibility during subsequent version upgrades while still distinguishing between different versions, the version number iteration rules can be as follows:

[0104] a. When releasing an application software version compatible with BootLoader, only the first and second sub-version numbers (maximum 255) in the software version information are increased.

[0105] b. When the released application software version is incompatible with BootLoader, increase the major version number in the software version information (maximum 65535).

[0106] c. When the published configuration file version is compatible with the application software, only the first and second level sub-version numbers of the configuration file are increased (maximum 255).

[0107] d. When the published configuration file version is incompatible with the application software, increase the major version number in the configuration file version information (maximum 65535).

[0108] e. When modifying the hardware to be compatible with the application software, only the first and second sub-version numbers in the hardware version are increased (maximum 255).

[0109] h. When the modified hardware is incompatible with the application software, increase the major version number (maximum 65535) in the version information of the hardware version.

[0110] If the hardware version information in the shared memory area is all 0, verification passes by default. The hardware version information in the shared memory area can be written to the flash shared memory area during the end of line (EOL) process during production. Generally, bootloader updates require a special method and remain fixed after production.

[0111] After the vehicle downloads the upgrade data package, it can parse the upgrade data package and extract the cyclic redundancy check (CRC) information from the APP_Version_info_Header or config_file_Version_info_Header to perform a CRC check. If the CRC check passes, the target upgrade type can be determined.

[0112] When upgrading individual software packages, you can extract the following information for compatibility verification:

[0113] Extract OEM_name, project_name, and vehicle model information from the software version file APP_Version_info_Header as product verification information. Extract the manufacturer name, project name, vehicle model, and other information from the vehicle-side boot loader BootLoader as the product benchmark information corresponding to the product verification information. Compare the product verification information with the product benchmark information.

[0114] Extract the first 4 bytes of application version information (SW Part Number and main Version) from the software version file APP_Version_info_Header as software verification information. Extract the supported application version information (SW Part Number and main Version) from the vehicle-side BootLoader as the software reference information corresponding to the software verification information. Compare the software verification information with the software reference information.

[0115] Extract the first 4 bytes of the required hardware version info (HW Part Number and main Version) from the software version file APP_Version_info_Header as hardware verification information. Extract the hardware version info from the shared storage area on the vehicle side as the hardware reference information corresponding to the hardware verification information. Compare the hardware verification information with the hardware reference information.

[0116] Extract the first 4 bytes of Supported Config file version info (Config file Part Number and main Version) from the software version file APP_Version_info_Header as configuration verification information. Extract the first 4 bytes of config file version info from the vehicle-side configuration file config_file_Version_info_Header as the configuration reference information corresponding to the configuration verification information. Compare the configuration verification information with the configuration reference information.

[0117] When upgrading configuration files individually, you can extract the following information for compatibility verification:

[0118] Extract OEM_name, project_name, and vehicle model information from the version configuration file config_file_Version_info_Header as product verification information. Extract the manufacturer name, project name, vehicle model, and other information from the vehicle-side boot loader BootLoader as the product benchmark information corresponding to the product verification information. Compare the product verification information with the product benchmark information.

[0119] Extract the first 4 bytes of the required hardware version info (HW Part Number and main Version) from the version configuration file config_file_Version_info_Header as hardware verification information. Extract the hardware version info from the shared storage area on the vehicle side as the hardware reference information corresponding to the hardware verification information. Compare the hardware verification information with the hardware reference information.

[0120] Extract the first 4 bytes of config_file version info (config file Part Number and main Version) from the version configuration file config_file_Version_info_Header as configuration verification information. Extract the first 4 bytes of Supported config_file version info from the vehicle-side software version file APP_Version_info_Header as the configuration reference information corresponding to the configuration verification information. Compare the configuration verification information with the configuration reference information.

[0121] When the software package and configuration files are upgraded simultaneously, the following information can be extracted for compatibility verification:

[0122] Extract OEM_name, project_name, vehicle model and other information from the software version file APP_Version_info_Header as product verification information; extract OEM_name, project_name and vehicle model and other information from the version configuration file config_file_Version_info_Header as product verification information; extract the manufacturer name, project name, vehicle model and other information from the vehicle-side boot loader BootLoader as the product benchmark information corresponding to the product verification information, and compare the product verification information with the product benchmark information.

[0123] Extract the first 4 bytes of application version information (SW Part Number and main Version) from the software version file APP_Version_info_Header as software verification information. Extract the supported application version information (SW Part Number and main Version) from the vehicle-side BootLoader as the software reference information corresponding to the software verification information. Compare the software verification information with the software reference information.

[0124] Extract the first 4 bytes of required hardware version info (HW Part Number and main Version) from the software version file APP_Version_info_Header as hardware verification information. Extract the first 4 bytes of required hardware version info (HW Part Number and main Version) from the version configuration file config_file_Version_info_Header as hardware verification information. Extract hardware version info from the shared storage area on the vehicle side as the hardware reference information corresponding to the hardware verification information, and compare the hardware verification information with the hardware reference information.

[0125] Extract the first 4 bytes of Supported Config file version info (Config file Part Number and main Version) from the software version file APP_Version_info_Header as configuration verification information. Extract the first 4 bytes of config_file version info (Config file Part Number and main Version) from the version configuration file config_file_Version_info_Header as configuration verification information. Use the above two sets of configuration verification information as each other's baseline information for comparison.

[0126] If the above information is consistent, it means that the compatibility of the upgrade data package has passed; if the above information is inconsistent, it can be considered that the compatibility verification has failed.

[0127] The embodiment of the present application determines the target upgrade type by parsing the upgrade data packet; extracts the compatibility verification information corresponding to the target upgrade type from the upgrade data packet, and determines the benchmark information corresponding to the compatibility verification information, the compatibility verification information including product verification information, software verification information, hardware verification information and / or configuration verification information; compares the corresponding compatibility verification information and the benchmark information to obtain a compatibility verification result, the compatibility verification result including compatibility verification passed and compatibility verification failed; when the compatibility verification result is compatibility verification passed, the OTA upgrade is completed based on the upgrade data packet, which solves the problem that the vehicle ECU is hung due to incompatibility between the upgrade software, configuration file and hardware during the OTA upgrade, and the ECU needs to be replaced, wasting manpower and material resources, and realizes compatibility detection between the upgrade software, configuration file and vehicle hardware on the vehicle side, ensuring the effective upgrade of the vehicle-side software.

[0128] Example 2

[0129] FIG2 is a schematic diagram of the structure of an OTA upgrade device provided in Example 2 of the present application. As shown in FIG2 , the device includes:

[0130] The upgrade type determination module 210 is configured to parse the upgrade data packet and determine the target upgrade type.

[0131] The verification information extraction module 220 is configured to extract the compatibility verification information corresponding to the target upgrade type from the upgrade data packet and determine the benchmark information corresponding to the compatibility verification information, wherein the compatibility verification information includes product verification information, software verification information, hardware verification information and / or configuration verification information.

[0132] The verification information comparison module 230 is configured to compare the corresponding compatibility verification information with the benchmark information to obtain a compatibility verification result, where the compatibility verification result includes a compatibility verification pass and a compatibility verification fail.

[0133] The OTA upgrade module 240 is configured to complete the OTA upgrade based on the upgrade data packet when the compatibility verification result is that the compatibility verification is passed.

[0134] Optionally, the target upgrade type includes software upgrade, configuration file upgrade, and simultaneous software configuration upgrade.

[0135] Optionally, the verification information extraction module 220 includes: a first information extraction unit, configured to extract compatibility verification information from the software version file of the upgrade data packet when the target upgrade type is software upgrade, and determine the benchmark information corresponding to the compatibility verification information from the vehicle side; a second information extraction unit, configured to extract compatibility verification information from the version configuration file of the upgrade data packet when the target upgrade type is configuration file upgrade, and determine the benchmark information corresponding to the compatibility verification information from the vehicle side; a third information extraction unit, configured to extract compatibility verification information from the software version file and version configuration file of the upgrade data packet when the target upgrade type is simultaneous software configuration upgrade, and determine the benchmark information corresponding to the compatibility verification information that cannot be matched and verified from the vehicle side.

[0136] Optionally, the first information extraction unit is configured to: extract basic product information from the software version file of the upgrade data packet as product verification information, and determine product benchmark information corresponding to the product verification information from the boot loader on the vehicle side; extract software version information from the software version file of the upgrade data packet as software verification information, and determine software benchmark information corresponding to the software verification information from the boot loader on the vehicle side; extract hardware version information from the software version file of the upgrade data packet as hardware verification information, and determine hardware benchmark information corresponding to the hardware verification information from the shared storage area on the vehicle side; extract configuration version information from the software version file of the upgrade data packet as configuration verification information, and determine configuration benchmark information corresponding to the configuration verification information from the configuration file on the vehicle side.

[0137] Optionally, the second information extraction unit is configured to: extract basic product information from the version configuration file of the upgrade data packet as product verification information, and determine product benchmark information corresponding to the product verification information from the boot loader on the vehicle side; extract hardware version information from the version configuration file of the upgrade data packet as hardware verification information, and determine hardware benchmark information corresponding to the hardware verification information from the shared storage area on the vehicle side; extract configuration version information from the version configuration file of the upgrade data packet as configuration verification information, and determine configuration benchmark information corresponding to the configuration verification information from the current software version file on the vehicle side.

[0138] Optionally, the third information extraction unit is configured to: extract basic product information from the software version file and version configuration file of the upgrade data packet as product verification information, and determine product benchmark information corresponding to the product verification information from the boot loader on the vehicle side; extract hardware version information from the software version file and version configuration file of the upgrade data packet as hardware verification information, and determine hardware benchmark information corresponding to the hardware verification information from the shared storage area on the vehicle side; extract software version information from the software version file of the upgrade data packet as software verification information, and determine software benchmark information corresponding to the software verification information from the boot loader on the vehicle side; extract configuration version information from the software version file of the upgrade data packet as first configuration verification information, extract configuration version information from the version configuration file of the upgrade data packet as second configuration verification information, use the first configuration verification information as benchmark information of the second configuration verification information, and use the second configuration verification information as benchmark information of the first configuration verification information.

[0139] Optionally, the device also includes a cyclic redundancy check module, which is configured to: perform a cyclic redundancy check on the upgrade data packet before extracting the compatibility verification information corresponding to the target upgrade type from the upgrade data packet, and stop the OTA upgrade operation if the cyclic redundancy check fails.

[0140] The OTA upgrade device provided in the embodiments of the present application can execute the OTA upgrade method provided in any embodiment of the present application, and has the corresponding functional modules and effects of the execution method.

[0141] Example 3

[0142] FIG3 shows a schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present application. The electronic device 10 can be configured in a vehicle. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present application described and / or claimed herein.

[0143] As shown in FIG3 , the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 and a random access memory (RAM) 13, that is communicatively connected to the at least one processor 11. The memory stores a computer program that can be executed by the at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the ROM 12 or the computer program loaded from the storage unit 18 into the RAM 13. Various programs and data required for the operation of the electronic device 10 can also be stored in the RAM 13. The processor 11, ROM 12, and RAM 13 are connected to each other via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0144] Multiple components in the electronic device 10 are connected to the I / O interface 15, including an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a magnetic disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0145] The processor 11 can be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors that run machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as the OTA upgrade method.

[0146] In some embodiments, the OTA upgrade method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the OTA upgrade method described above can be performed. Alternatively, in other embodiments, the processor 11 can be configured to perform the OTA upgrade method in any other appropriate manner (for example, by means of firmware).

[0147] Various embodiments of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0148] Computer programs for implementing the methods of the present application can be written in one or more programming languages. These computer programs can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer program can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0149] In the context of the present application, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. A computer-readable storage medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. A machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM) or a flash memory, an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0150] To provide for user interaction, the systems and techniques described herein can be implemented in a vehicle having: a display device (e.g., a cathode ray tube (CRT) or a liquid crystal display (LCD) monitor) configured to display information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the vehicle. Other types of devices can also be configured to provide for user interaction; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic input, voice input, or tactile input.

[0151] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0152] A computing system may include a client and a server. The client and server are generally remote from each other and typically interact via a communication network. This client-server relationship is established by running computer programs on the respective computers. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a host product within a cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosts and virtual private server (VPS) services.

[0153] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this application can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of this application can be achieved. This is not limited herein.

Claims

1. An over-the-air OTA upgrade method, comprising: Parse the upgrade data packet to determine the target upgrade type; Extracting compatibility verification information corresponding to the target upgrade type from the upgrade data packet, and determining benchmark information corresponding to the compatibility verification information, the compatibility verification information including product verification information, software verification information, hardware verification information and / or configuration verification information; Comparing the compatibility verification information with the reference information to obtain a compatibility verification result, wherein the compatibility verification result includes a compatibility verification pass and a compatibility verification fail; When the compatibility verification result is that the compatibility verification is passed, the OTA upgrade is completed based on the upgrade data packet.

2. The method according to claim 1, wherein: The target upgrade types include software upgrade, configuration file upgrade and simultaneous software and configuration upgrade.

3. The method according to claim 2, wherein: The extracting the compatibility verification information corresponding to the target upgrade type from the upgrade data packet and determining the reference information corresponding to the compatibility verification information includes: In the case where the target upgrade type is software upgrade, extracting compatibility verification information from the software version file of the upgrade data packet, and determining reference information corresponding to the compatibility verification information from the vehicle side; In the case where the target upgrade type is a configuration file upgrade, extracting compatibility verification information from the version configuration file of the upgrade data packet, and determining reference information corresponding to the compatibility verification information from the vehicle side; When the target upgrade type is a simultaneous software configuration upgrade, compatibility verification information is extracted from the software version file and version configuration file of the upgrade data package, and benchmark information corresponding to the compatibility verification information that cannot be matched and verified is determined from the vehicle side.

4. The method according to claim 3, wherein: The extracting the compatibility verification information from the software version file of the upgrade data package and determining the reference information corresponding to the compatibility verification information from the vehicle side includes: Extracting basic product information from the software version file of the upgrade data package as product verification information, and determining product reference information corresponding to the product verification information from a boot loader on the vehicle side; Extracting software version information from the software version file of the upgrade data packet as software verification information, and determining software reference information corresponding to the software verification information from a boot loader on the vehicle side; Extracting hardware version information from the software version file of the upgrade data package as hardware verification information, and determining hardware reference information corresponding to the hardware verification information from a shared storage area on the vehicle side; Configuration version information is extracted from the software version file of the upgrade data package as configuration verification information, and configuration reference information corresponding to the configuration verification information is determined from the configuration file of the vehicle.

5. The method according to claim 3, wherein: The extracting the compatibility verification information from the version configuration file of the upgrade data package and determining the reference information corresponding to the compatibility verification information from the vehicle side includes: Extracting basic product information from the version configuration file of the upgrade data packet as product verification information, and determining product reference information corresponding to the product verification information from a boot loader on the vehicle side; Extracting hardware version information from the version configuration file of the upgrade data packet as hardware verification information, and determining hardware reference information corresponding to the hardware verification information from a shared storage area on the vehicle side; Configuration version information is extracted from the version configuration file of the upgrade data package as configuration verification information, and configuration reference information corresponding to the configuration verification information is determined from the current software version file of the vehicle.

6. The method according to claim 3, wherein: The extracting the compatibility verification information from the software version file and the version configuration file of the upgrade data package, and determining the reference information corresponding to the compatibility verification information that cannot be matched and verified from the vehicle side, includes: Extracting basic product information from the software version file and the version configuration file of the upgrade data package as product verification information, and determining product reference information corresponding to the product verification information from the boot loader of the vehicle; Extracting hardware version information from the software version file and the version configuration file of the upgrade data package as hardware verification information, and determining hardware reference information corresponding to the hardware verification information from the shared storage area of ​​the vehicle end; Extracting software version information from the software version file of the upgrade data packet as software verification information, and determining software reference information corresponding to the software verification information from a boot loader on the vehicle side; Extract configuration version information from the software version file of the upgrade data package as the first configuration verification information, extract configuration version information from the version configuration file of the upgrade data package as the second configuration verification information, use the first configuration verification information as the benchmark information of the second configuration verification information, and use the second configuration verification information as the benchmark information of the first configuration verification information.

7. The method according to claim 1, before extracting the compatibility verification information corresponding to the target upgrade type from the upgrade data packet, further comprising: A cyclic redundancy check is performed on the upgrade data packet, and if the cyclic redundancy check fails, the OTA upgrade operation is stopped.

8. An over-the-air OTA upgrade device, comprising: An upgrade type determination module is configured to parse the upgrade data packet to determine the target upgrade type; a verification information extraction module, configured to extract compatibility verification information corresponding to the target upgrade type from the upgrade data packet, and determine benchmark information corresponding to the compatibility verification information, wherein the compatibility verification information includes product verification information, software verification information, hardware verification information and / or configuration verification information; A verification information comparison module, configured to compare the compatibility verification information with the reference information to obtain a compatibility verification result, wherein the compatibility verification result includes a compatibility verification pass and a compatibility verification fail; The OTA upgrade module is configured to complete the OTA upgrade based on the upgrade data packet when the compatibility verification result is that the compatibility verification is passed.

9. An electronic device, comprising: at least one processor; as well as a memory communicatively coupled to the at least one processor; The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the over-the-air OTA upgrade method described in any one of claims 1 to 7.

10. A computer-readable storage medium storing computer instructions, wherein the computer instructions, when executed by a processor, implement the over-the-air (OTA) upgrade method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Software compatibility verification method and computer readable storage medium

    CN114116459A

  • Remote upgrading method and device, computer equipment and storage medium

    CN114915554A

  • Vehicle OTA upgrading control method and device, vehicle and storage medium

    CN115373710A

  • OTA upgrading method and device, vehicle and storage medium

    CN116594657A

  • System And Method for Verifying Compatibility of Computer Equipment with a Software Product

    US20060184917A1