Remote upgrading method, device, medium and vehicle for vehicle software

By using modular partitioning and remote upgrade technology, the problems of complex and time-consuming vehicle software upgrade operations have been solved, enabling fast and convenient vehicle software upgrades and improving R&D testing and customer experience.

CN118276893BActive Publication Date: 2025-12-12BYD CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202311037938.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-16
Publication Date
2025-12-12
Estimated Expiration
2043-08-16

AI Technical Summary

Technical Problem

Existing vehicle software upgrade methods are complex to operate, especially the upgrade of image resource packages for electronic instruments, which takes too long and causes inconvenience to software development, testing, and customer use.

Method used

By modularizing the vehicle software and utilizing CAN bus and remote upgrade technology, the software upgrade package is divided into multiple upgrade sub-packages. These sub-packages are then distributed and upgraded based on version information, upgrade frequency, data volume, and dependencies, optimizing transmission time to achieve fast and convenient remote upgrades.

Benefits of technology

It enables rapid remote upgrades of various vehicle software modules, simplifies the operation process, improves software development and testing efficiency, and enhances the customer's user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118276893B_ABST
    Figure CN118276893B_ABST
Patent Text Reader

Abstract

The application provides a vehicle software remote upgrading method, device, medium and vehicle. The vehicle software remote upgrading method is applied to an instrument device arranged in a vehicle, and the method comprises the following steps: in response to a received software upgrading instruction, obtaining version information of at least one upgrading subpackage in a software upgrading package; based on the version information of the at least one upgrading subpackage in the software upgrading package and version information of at least one upgrading subpackage in the software to be upgraded, determining that the at least one upgrading subpackage in the software to be upgraded is a to-be-upgraded subpackage, and the version number of the to-be-upgraded subpackage is lower than the version number of the corresponding upgrading subpackage in the software upgrading package; sending an upgrading request to a control device of the vehicle, so that the control device of the vehicle sends the upgrading subpackage corresponding to the to-be-upgraded subpackage in the software upgrading package to the instrument device; and upgrading the to-be-upgraded subpackage based on the received upgrading subpackage. The method can remotely upgrade each module with a low version in the vehicle software, and the operation is simple.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of rail vehicles, and more specifically to a method, device, medium, and vehicle for remotely upgrading vehicle software. Background Technology

[0002] With the increasing digitalization of automotive instrument panels, the market for electronic instrument panels has grown significantly. Compared to traditional instrument panels, electronic instrument panels offer a more technologically advanced look, more diverse and comprehensive information displayed on the interface, and provide users with more convenient information and enhanced safety.

[0003] Electronic instrument software typically consists of two parts: an image resource package and software logic code. Most instruments use high-definition image displays, so the total size of the image resource package is approximately 50MB; while the total size of the software logic code is approximately 2MB.

[0004] Currently, instrument clusters and automotive infotainment systems use CAN bus for transmission, which offers high stability but relatively low transmission speed. Therefore, for software upgrades of electronic instruments, the software logic code is typically packaged into an XCD file and upgraded using Over-the-Air (OTA) technology. OTA upgrades are highly automated, convenient, and take about 5 minutes, making them easily acceptable to customers. However, if image resources are upgraded using OTA, the upgrade time will exceed 2 hours. Therefore, when image resources are updated, they are usually upgraded using a USB flash drive.

[0005] Existing software upgrade methods are complex and time-consuming, causing inconvenience to software development and testing as well as actual use by customers. Summary of the Invention

[0006] This application is made in consideration of the above-mentioned problems. This application provides a method, device, medium, and vehicle for remotely upgrading vehicle software, which enables remote upgrading of various modules in lower versions of vehicle software. The operation is simple, which not only facilitates software research and development testing, but also provides customers with a good user experience.

[0007] According to a first aspect of this application, a method for remotely upgrading vehicle software is provided, applied to an instrument cluster installed in a vehicle, the method comprising:

[0008] In response to a received software upgrade instruction, obtain version information of at least one upgrade sub-package in the software upgrade package;

[0009] Based on the version information of at least one upgrade sub-package in the software upgrade package and the version information of at least one upgrade sub-package in the software to be upgraded, at least one upgrade sub-package in the software to be upgraded is determined to be an upgrade sub-package, and the version number of the upgrade sub-package is lower than the version number of the corresponding upgrade sub-package in the software upgrade package;

[0010] sending an upgrade request to a control device of the vehicle, so that the control device of the vehicle sends an upgrade sub-package corresponding to the to-be-upgraded sub-package in the software upgrade package to the instrument device;

[0011] upgrading the to-be-upgraded sub-package based on the received upgrade sub-package.

[0012] In some embodiments, the division of the to-be-upgraded software and the upgrade sub-package in the software upgrade package is based on at least one of the following: an upgrade frequency of the to-be-upgraded sub-package, an upgrade data volume, and a dependency relationship, wherein the dependency relationship includes a calling relationship between different upgrade sub-packages.

[0013] In some embodiments, when the division basis includes the upgrade data volume, the method of dividing the to-be-upgraded software and the software upgrade package into upgrade sub-packages includes:

[0014] dividing the to-be-upgraded software and the software upgrade package into image resource packages and logic code packages according to the upgrade data volume.

[0015] In some embodiments, when the division basis includes the upgrade frequency, the method of dividing the to-be-upgraded software and the software upgrade package into upgrade sub-packages further includes:

[0016] dividing the logic code packages into driver layer code packages, intermediate layer code packages, and user interface layer code packages according to the upgrade frequency.

[0017] In some embodiments, when the division basis includes the dependency relationship, the method of dividing the to-be-upgraded software and the software upgrade package into upgrade sub-packages further includes:

[0018] determining a type of the image resource package in the to-be-upgraded software according to the dependency relationship, wherein the type of the image resource package is a pre-embedded image resource package or a non-pre-embedded image resource package; wherein the pre-embedded image resource package refers to a resource package that cannot be completely called by a user interface layer code package of a current version of the to-be-upgraded software, and the non-pre-embedded image resource package refers to a resource package that can be called by the user interface layer code package of the current version of the to-be-upgraded software.

[0019] In some embodiments, the method further includes:

[0020] taking an upgrade sub-package corresponding to the to-be-upgraded sub-package in the software upgrade package as a target sub-package;

[0021] determining whether an associated upgrade sub-package meets a running environment requirement of the target sub-package based on version information of the target sub-package and version information of the associated upgrade sub-package in the to-be-upgraded sub-package;

[0022] When the running environment requirement is met, a transmission time of the target sub-package is determined based on an upgrade data amount and / or an upgrade frequency of the target sub-package;

[0023] When the running environment requirement is not met, the associated upgrade sub-package is upgraded first, so that the upgraded associated upgrade sub-package meets the running environment requirement of the target sub-package, and then a transmission time of the target sub-package is determined based on an upgrade data amount and / or an upgrade frequency of the target sub-package.

[0024] In some embodiments, when the target sub-package is a user interface layer code package and the associated upgrade sub-package is a pre-embedded image resource package, whether the associated upgrade sub-package meets the running environment requirement of the target sub-package is determined based on version information of the target sub-package and version information of the associated upgrade sub-package of the sub-package to be upgraded, including:

[0025] It is determined whether the user interface layer code package has a dependency relationship with the pre-embedded image resource package based on the version information of the user interface layer code package and the version information of the pre-embedded image resource package;

[0026] When the dependency relationship exists, it is determined that the pre-embedded image resource package meets the running environment requirement of the user interface layer code package;

[0027] When the dependency relationship does not exist, it is determined that the pre-embedded image resource package does not meet the running environment requirement of the user interface layer code package.

[0028] In some embodiments, the sending of the upgrade request to the control device of the vehicle includes:

[0029] The sub-package corresponding to the sub-package to be upgraded in the software upgrade package is taken as a target sub-package;

[0030] A transmission time of the target sub-package is determined based on an upgrade data amount and / or an upgrade frequency of the target sub-package;

[0031] The upgrade request is sent to the control device of the vehicle within the transmission time.

[0032] In some embodiments, the transmission time of the target sub-package is determined based on the upgrade data amount of the target sub-package, including:

[0033] When the data amount of the target sub-package is less than a preset data amount threshold, the upgrade request is immediately sent to the control device of the vehicle, and the transmission time of the target sub-package is a time at which the control device of the vehicle storing the target sub-package acquires the upgrade request;

[0034] When the data amount of the target sub-package is greater than or equal to a preset data amount threshold, the transmission time of the target sub-package is a time when the instrument device is in a preset running state.

[0035] In some embodiments, determining the transmission time of the target sub-package based on the upgrade data amount and the upgrade frequency of the target sub-package comprises:

[0036] determining an upgrade date of the target sub-package based on the upgrade frequency;

[0037] determining the transmission time of the target sub-package within the upgrade date based on the upgrade data amount.

[0038] In some embodiments, the method further comprises:

[0039] calculating an upgrade duration based on a data amount of an upgrade sub-package in the software upgrade package corresponding to the sub-package to be upgraded, a data transmission rate between the instrument device and a control device of the vehicle, and a writing rate of the upgrade sub-package in the software upgrade package to a storage device of the instrument device; and

[0040] sending the upgrade duration to a display screen for display.

[0041] In some embodiments, the software upgrade package is stored in the control device of the vehicle, and the control device is connected to the instrument device through an automobile bus.

[0042] In some embodiments, the instrument device comprises a storage device for storing a boot program, a flag bit, and an obtained upgrade sub-package, and upgrading the sub-package to be upgraded based on the received upgrade sub-package comprises:

[0043] burning an upgrade file in the obtained upgrade sub-package to the storage device and setting the flag bit;

[0044] restarting the instrument device and executing the boot program;

[0045] judging whether there is a new program waiting for update based on the flag bit;

[0046] when there is a new program waiting for update, updating the corresponding upgrade sub-package based on the upgrade file.

[0047] The second aspect of the present application provides a remote upgrade method of vehicle software, applied to a control device arranged in a vehicle, and the method comprises:

[0048] obtaining a software upgrade package for an instrument device in a remote server, and sending a software upgrade instruction to an instrument device of a vehicle;

[0049] In response to the software version request information sent by the instrument device, the version information of at least one upgrade sub-package in the software upgrade package is sent to the instrument device.

[0050] In response to the software upgrade request sent by the instrument device, at least one upgrade sub-package in the software upgrade package is sent to the instrument device.

[0051] In some embodiments, the control device and the instrument device are connected through an automobile bus, and in response to the software upgrade request sent by the instrument device, at least one upgrade sub-package in the software upgrade package is sent to the instrument device, including:

[0052] Based on the software upgrade request, the transmission time of the corresponding upgrade sub-package in the software upgrade package is determined.

[0053] At the transmission time, at least one upgrade sub-package in the software upgrade package is sent to the instrument device.

[0054] In some embodiments, in response to the software upgrade request sent by the instrument device, at least one upgrade sub-package in the software upgrade package is sent to the instrument device, including:

[0055] According to the software upgrade request, software upgrade prompt information is generated, and the software upgrade prompt information includes one or more of the name of the to-be-upgraded sub-package, the upgrade duration of at least one upgrade sub-package in the software upgrade package, and the selection of the upgrade time.

[0056] In response to the selection instruction of the upgrade time input by the user, the final transmission time of the to-be-upgraded sub-package and at least one upgrade sub-package in the software upgrade package is determined.

[0057] At the final transmission time, at least one upgrade sub-package in the software upgrade package is sent to the instrument device.

[0058] In some embodiments, the upgrade time options include at least two of the following: immediate upgrade, night upgrade, and temporary upgrade.

[0059] In some embodiments, the upgrade duration is calculated based on the data volume of the upgrade sub-package, the data transmission rate between the control device and the instrument device of the vehicle, and the writing rate of the upgrade sub-package into the storage device of the instrument device.

[0060] In some embodiments, the division of the to-be-upgraded software and the upgrade sub-package in the software upgrade package is based on at least one of the following: the upgrade frequency of the to-be-upgraded sub-package, the upgrade data volume, and the dependency relationship, wherein the dependency relationship includes the calling relationship between different upgrade sub-packages.

[0061] In some embodiments, the software upgrade package comprises an image resource package and / or a logic code package, the image resource package comprises a pre-embedded image resource package or a non-pre-embedded image resource package, and the logic code package comprises at least one of a driver layer code package, an intermediate layer code package, and a user interface layer code package.

[0062] In some embodiments, the packaging manner of the upgrade sub-package comprises integral packaging, picture packaging, and software logic packaging.

[0063] The picture packaging is configured to package pictures to generate the pre-embedded image resource package or the non-pre-embedded image resource package when the software to be upgraded only needs to be upgraded in pictures.

[0064] The software logic packaging is configured to package software logic codes to generate the logic code package when the software to be upgraded only needs to be upgraded in software logic codes.

[0065] The integral packaging is configured to package pictures and software logic codes respectively to generate an image resource package and a logic code package when the software to be upgraded needs to be upgraded in pictures and / or software logic codes, and to take the image resource package and the logic code package as an integral upgrade file package.

[0066] According to a third aspect of the present application, an instrument device is provided, which comprises a memory and a processor, the memory stores a computer program which is run by the processor, and the computer program, when run by the processor, causes the device installed with the processor to perform the remote upgrade method of vehicle software.

[0067] According to a fourth aspect of the present application, a control device is provided, which comprises a memory and a processor, the memory stores a computer program which is run by the processor, and the computer program, when run by the processor, causes the device installed with the processor to perform the remote upgrade method of vehicle software.

[0068] According to a fifth aspect of the present application, a storage medium is provided, which stores a computer program, the computer program is run on a computer, and the computer program, when run, causes the computer to perform the remote upgrade method of vehicle software of the first aspect or the remote upgrade method of vehicle software of the second aspect.

[0069] According to a sixth aspect of the present application, a vehicle is provided, which comprises one or more of the electronic device, the control device, and the storage medium.

[0070] The remote upgrading method of the vehicle software of the application is simple in operation and can facilitate software research and development testing and provide customers with a good vehicle experience by remotely upgrading each low version module in the vehicle software. BRIEF DESCRIPTION OF DRAWINGS

[0071] The above and other objects, features and advantages of the present application will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which:

[0072] Figure 1 is a schematic block diagram of an electronic device for the remote upgrading method of the vehicle software of the embodiment of the application;

[0073] Figure 2 is a schematic flowchart of the remote upgrading method of the vehicle software applied to an electronic device according to an embodiment of the application;

[0074] Figure 3 is a schematic flowchart of the remote upgrading method of the vehicle software applied to a control device according to an embodiment of the application;

[0075] Figure 4 is a schematic system structure diagram for implementing the remote upgrading method of the vehicle software according to an embodiment of the application;

[0076] Figure 5 is an exemplary display interface diagram of the output device outputting software upgrading prompt information according to an embodiment of the application. DETAILED DESCRIPTION

[0077] In order to make the objectives, technical solutions and advantages of the present application more apparent, the following will describe the example embodiments according to the present application in detail with reference to the accompanying drawings. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all the embodiments of the present application, and it should be understood that the present application is not limited to the example embodiments described herein. Based on the embodiments of the present application described in the present application, all other embodiments obtained by those skilled in the art without creative effort should fall within the protection scope of the present application.

[0078] In view of the fact that the vehicle software upgrading method in the prior art is complicated in operation and time-consuming, which brings inconvenience to software research and development testing and actual use of customers, the present application proposes a remote upgrading method, device, medium and vehicle of vehicle software, which can remotely upgrade each low version module in the vehicle software, which will be described in detail below.

[0079] First, an example electronic device 100 for implementing a remote upgrading method of vehicle software of an embodiment of the present application will be described with reference to Figure 1

[0080] As shown in Figure 1 , the electronic device 100 includes one or more processors 101, one or more storage devices 102, an input device 103, and an output device 104, which are interconnected via a bus system 105 and / or other form of connection mechanism (not shown). It should be noted that Figure 1 The components and structure of the electronic device 100 shown are merely exemplary and are not intended to be limiting, and the control device can have other components and structures as needed.

[0081] The processor 101 can be a microcontroller unit (MCU), a central processing unit (CPU), a digital signal processor (DSP), a single-chip computer, and an embedded device, or other forms of processing units having data processing and / or instruction execution capabilities, and can control other components in the electronic device 100 to perform desired functions.

[0082] The storage device 102 can include one or more computer program products, which can include various forms of computer readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may, for example, include random access memory (RAM), cache memory, and / or the like. The non-volatile memory may, for example, include read-only memory (ROM), hard disk, flash memory, and / or the like. One or more computer program instructions can be stored on the computer readable storage medium, and the processor 101 can execute the program instructions to implement the client functions (implemented by the processor) in the embodiments of the present application described below and / or other desired functions. Various application programs and various data, such as various data used and / or generated by the application programs, and the like, can also be stored in the computer readable storage medium.

[0083] The input device 103 can be a device used by a user to input instructions, and can include a microphone or a touch screen, among other input devices.

[0084] The output device 104 can output various information (such as images or sounds) to the outside (such as a user), and can include one or more of a display, a speaker, and the like.

[0085] Next, an example electronic device 100 for implementing a remote upgrading method of vehicle software of an embodiment of the present application will be described with reference to Figure 2 ​A remote upgrading method of vehicle software is described according to an embodiment of the present application.

[0086] The present application provides a remote upgrading method of vehicle software, which can be applied to an instrument device arranged in a vehicle, such as Figure 2 As shown in the figure, the method comprises:

[0087] In step S210, in response to the received software upgrading instruction, version information of at least one upgrading sub-package in the software upgrading package is acquired.

[0088] Here, the software upgrading instruction can be issued by a device storing the software upgrading package when there is a software version update, to inform the instrument device running the software that the software version has been updated.

[0089] In the present application, the software upgrading package can be stored in a software service platform of a car software manufacturer or a distribution structure, or downloaded from the software service platform to a local device, and stored in a local storage device, such as a control device of the vehicle.

[0090] Specifically, the upgrading sub-package in the software upgrading package can be a software capable of running independently, or a module having certain functions in a software, and the definition of the upgrading sub-package is not limited in the present application.

[0091] Correspondingly, the software upgrading package stores relevant files of each upgrading sub-package.

[0092] In step S220, based on the version information of at least one upgrading sub-package in the software upgrading package and the version information of at least one upgrading sub-package in the software to be upgraded, it is determined that at least one upgrading sub-package in the software to be upgraded is a sub-package to be upgraded, and the version number of the sub-package to be upgraded is lower than the version number of the corresponding upgrading sub-package in the software upgrading package.

[0093] Here, the version information can include version number, release date, developer, applicable platform, and check code, etc.

[0094] In step S230, an upgrading request is sent to the control device of the vehicle, so that the control device of the vehicle sends the upgrading sub-package in the software upgrading package corresponding to the sub-package to be upgraded to the instrument device. The sub-package to be upgraded is upgraded based on the received upgrading sub-package.

[0095] It can be understood that the upgrading request at least includes the name of the sub-package to be upgraded.

[0096] In step S240, the sub-package to be upgraded is upgraded based on the received upgrading sub-package.

[0097] The remote upgrading method of the vehicle software of the application can realize remote upgrading of each module of the low version of the vehicle software respectively, is simple to operate, and is not only convenient for software research and development test, but also brings good vehicle experience to customers.

[0098] According to one embodiment of the application, the version number in the version information can be stored in a txt file. The version comparison can be performed by reading the version number data in the txt document. Specifically, the generation process of the version information can include: packaging the upgrading files of each module respectively, for example, packaging the software logic code in the software package into an XCD1 file, and packaging the picture resource file into an XCD2 file. The XCD1 file and the XCD2 file both have corresponding txt documents for storing their own version numbers version.

[0099] According to one embodiment of the application, the division of the upgrading sub-packs in the software to be upgraded is based on at least one of the following: the upgrading frequency, the upgrading data volume, and the dependency relationship of the upgrading sub-packs, wherein the dependency relationship includes the calling relationship between different upgrading sub-packs. Correspondingly, the upgrading sub-packs in the software upgrading package are also established based on at least one of the following: the upgrading frequency, the upgrading data volume, and the dependency relationship of the upgrading sub-packs. The number of the upgrading sub-packs in the software upgrading package can be one or more.

[0100] For the instrument device in the application, the software thereof can include an image resource part and a logic code part with different upgrading data volumes, and the logic code part can further include a driver layer code, an intermediate layer code, and a user interface layer code with different upgrading frequencies. In order to meet the needs of various customers, the image resource part can be pre-embedded with functions. For example, in order to meet the needs of overseas customers, the image resource part can be pre-embedded with interactive interface images in different languages. Therefore, the image resource part can further include pre-embedded image resources and non-pre-embedded image resources.

[0101] Since the instrument software includes a plurality of component modules with different numbers, different upgrading frequencies, and different dependency relationships, different division bases can be adopted in various ways when dividing the software to be upgraded and the software upgrading package each time.

[0102] The software upgrade package can adopt different division bases due to different development periods and use periods of the software. For example, in the development and test stages, different modules (i.e., upgrade sub-packages in the software package to be upgraded) need to be upgraded and updated at different frequencies. In the early stage of product development, picture resources are defined as daily updates, and logical codes are defined as daily updates. At this time, the software upgrade package can be divided according to the upgrade data volume, and the software upgrade package includes image resource packages and logical code packages divided according to the upgrade data volume. In the later stage of product development, user interface layer codes are defined as daily updates, drive layer codes are updated irregularly, and picture resource files are defined as monthly updates. The software upgrade package includes image resource packages, drive layer code packages, and user interface layer code packages divided according to the upgrade data volume and the upgrade frequency. In the use stage, each code is updated regularly, and software is pre-embedded, so the software upgrade package can be divided according to the upgrade frequency, the upgrade data volume, and the dependency relationship. Of course, when each upgrade sub-package needs to be upgraded at the same time, it can also be combined into one upgrade sub-package. For example, user interface layer logical codes, intermediate layer codes, and drive layer codes (usually totaling 2M) are made into upgrade sub-package 1, and files with larger upgrade data volume content, such as resource files (usually totaling more than 50M), are made into upgrade sub-package 2. Under the premise of a certain transmission rate, a large data volume file package means a longer upgrade time, and a small data volume file package means a shorter upgrade time. The operation personnel, real vehicle instrument development and test personnel, and users can make their own choices according to the upgrade frequency and the device status, such as whether to upgrade immediately or during the leisure time at night.

[0103] When the division basis of the upgrade sub-package in the software to be upgraded includes the upgrade data volume of the upgrade sub-package, the method for dividing the software to be upgraded and the software upgrade package into upgrade sub-packages includes: dividing the software to be upgraded and the software upgrade package into image resource packages and logical code packages according to the upgrade data volume, respectively. Further, when the division basis of the upgrade sub-package in the software to be upgraded includes the upgrade frequency, the logical code package is divided into drive layer code packages, intermediate layer code packages, and user interface layer code packages according to the upgrade frequency.

[0104] In some embodiments, when the partitioning criteria include the dependencies, the method for partitioning the software to be upgraded and the software upgrade package into upgrade sub-packages further includes: determining the type of the image resource package in the software to be upgraded based on the dependencies, wherein the type of the image resource package is a pre-embedded image resource package or a non-pre-embedded image resource package; wherein the pre-embedded image resource package refers to a resource package that cannot be fully called by the current version of the user interface layer code package in the software to be upgraded, and the non-pre-embedded image resource package refers to a resource package that can be called by the current version of the user interface layer code package in the software to be upgraded. That is, the pre-embedded image resource package has dependencies on at least multiple versions of the user interface layer code package, and the non-pre-embedded image resource package has dependencies on at least one user interface layer code package.

[0105] Because image resource packages are pre-embedded, and the software to be upgraded is divided according to the upgrade frequency, data volume, and dependencies of the sub-packages to be upgraded, the number of upgrades for a large number of software packages is reduced, thus improving the efficiency of software upgrades.

[0106] The software upgrade package includes upgrade files for upgrading the modules to be upgraded. When creating the upgrade sub-package, the upgrade files need to be packaged. For example, the packaging methods for the software package include:

[0107] In the configuration file, you can choose from three packaging methods: overall packaging, image packaging, and software logic packaging, corresponding to Upgrade Data+Upgrade Image, Upgrade Image, and Upgrade Data. This allows for the creation of different software packages. Upload the Upgrade Image and Upgrade Data packages separately for easy comparison and flexible selection.

[0108] When only packaging software code, select "Upgrade Data". This is used when images are not updated, or when many image resources are pre-installed in the vehicle. Only the code logic needs to be updated to achieve updates such as image-to-animation calls. Software logic packaging is used when only the software logic to be upgraded needs to be upgraded. It generates one or more of the following: logic code package, driver layer code package, middleware layer code package, and user interface layer code package.

[0109] When only the User interface (UI) picture resource is packaged to generate an image resource package, the image resource package can include a pre-embedded image resource package or a non-pre-embedded image resource package, and Upgrade Image is selected. When only the picture is replaced and updated, the naming, format, path, and the like of the picture remain unchanged, and the picture is encapsulated in an Image file package. After the picture package is updated, the function LoadPngData remains unchanged, the way the picture ImageDate1 is loaded into the memory remains unchanged, and the path remains unchanged, and the scheme of only updating the picture can be implemented. Therefore, the user can realize automatic updating, and the picture of the instrument device is updated.

[0110] When the logic code and the UI picture are packaged respectively to obtain a logic code package and an image resource package, and the logic code package and the image resource package are integrated into one package, the present document can be referred to as an overall upgrade file package, that is, the overall upgrade file package includes the logic code package and the image resource package. When updating is required, the following several updating modes can be implemented:

[0111] ①Only code updating, which can be quickly updated;

[0112] ②Only picture updating, and the updating is direct replacement updating;

[0113] ③There is picture updating, the basic code package (that is, the logic code package already existing in the instrument device) detects the situation of the image resource package, and the code internally controls the loading of the picture resource version according to a macro switch. When a new version is detected, and the logic code must be updated to support it, the picture and the code can be updated at the same time.

[0114] According to the upgrade frequency, the upgrade data volume, and the dependency relationship, an upgrade sub-package is made, and the upgrade time can be selected according to the upgrade data during each upgrade, only the upgrade sub-package needs to be downloaded, and the efficiency of the upgrade is improved.

[0115] After the instrument device receives the upgrade message sent by the control device of the vehicle, the instrument device reads the upgrade package information (for example, including XCD file sequence: XCD1, XCD2; data amount of each upgrade sub-package, version information) of the software upgrade package in the upgrade message, compares each upgrade sub-package (for example, the version of the current resource package (for example, an image resource package), the version of a logical code package) in the software upgrade package to be upgraded with the version of the corresponding upgrade sub-package in the upgrade package information (for example, by comparing the version number, a check code, etc.), determines that at least one upgrade sub-package to be upgraded in the software to be upgraded is a to-be-upgraded sub-package, and the version number of the to-be-upgraded sub-package is lower than the version number of the corresponding upgrade sub-package in the software upgrade package. Through the above comparison, the following situations can be obtained: 1. The resource version needs to be upgraded; 2. The code version needs to be upgraded; 3. The resource version and the code version need to be upgraded. According to an embodiment of the present application, sending an upgrade request to the control device of the vehicle comprises: taking the upgrade sub-package corresponding to the to-be-upgraded sub-package in the software upgrade package as a target sub-package; determining the transmission time of the target sub-package based on the upgrade data amount and / or the upgrade frequency of the target sub-package; and sending an upgrade request within the transmission time.

[0116] In some embodiments, the method further comprises: taking the upgrade sub-package corresponding to the to-be-upgraded sub-package in the software upgrade package as a target sub-package; determining whether the associated upgrade sub-package meets the operating environment requirements of the target sub-package based on the version information of the target sub-package and the version information of the associated upgrade sub-package in the to-be-upgraded sub-package; when the operating environment requirements are met, determining the transmission time of the target sub-package based on the upgrade data amount and / or the upgrade frequency of the target sub-package; and when the operating environment requirements are not met, first upgrading the associated upgrade sub-package to make the upgraded associated upgrade sub-package meet the operating environment requirements of the target sub-package, and then determining the transmission time of the target sub-package based on the upgrade data amount and / or the upgrade frequency of the target sub-package.

[0117] Here, the associated upgrade sub-package refers to a sub-package that has a dependency relationship with the upgrade file in the to-be-upgraded sub-package. The dependency relationship herein includes a calling relationship. That is, in the present application, the dependency relationship refers to the calling relationship between different upgrade sub-packages.

[0118] For example, in actual use of the product, the first version of the logic code package and the second version of the image resource package are used together, for example, the version number a of the logic code package must be used with the image resource package with the version number b, otherwise, the problem of error that the logic code cannot index to the corresponding picture occurs. At this time, the associated upgrade sub-package of the logic code package with the version number a is the image resource package with the version number b. Correspondingly, the running environment requirement is that when the version number of the image resource package is greater than or equal to b, the version number of the logic code package is equal to a, which is valid and can be updated and used, for example, when the logic code package with the version number a and the image resource package with the version number b are running in the current instrument device, if the image resource package with a version higher than b needs to be updated to the instrument device, the image resource package with the version higher than b can be updated to the instrument device, and for another example, if the image resource package with the version number greater than or equal to b is pre-embedded in the instrument device, the logic code package with the version number a can be updated to the instrument device, and for another example, if the image resource package with the version number greater than or equal to b and the logic code package with the version number a are in the upgrade sub-package, both of them can be updated to the instrument device.

[0119] In order to improve the upgrade efficiency, the upgrade sub-package can be pre-embedded with software. For example, when the image resource package is pre-embedded, the image resource package does not need to be upgraded every time when the user interface layer code package is upgraded. When the target sub-package is the user interface layer code package and the associated upgrade sub-package is the pre-embedded image resource package, based on the version information of the target sub-package and the version information of the associated upgrade sub-package of the sub-package to be upgraded, it is determined whether the associated upgrade sub-package meets the running environment requirement of the target sub-package, including: based on the version information of the user interface layer code package and the version information of the pre-embedded image resource package, it is determined whether the user interface layer code package and the pre-embedded image resource package have a dependent relationship; when there is a dependent relationship, it is determined that the pre-embedded image resource package meets the running environment requirement of the user interface layer code package; when there is no dependent relationship, it is determined that the pre-embedded image resource package does not meet the running environment requirement of the user interface layer code package.

[0120] It is determined whether the user interface layer code package and the pre-embedded image resource package have a dependent relationship, that is, it is determined whether the pre-embedding of the image resource package supports the call of the logic code package; when the call of the logic code package is supported, it is determined that the image resource package meets the running environment requirement of the logic code package; when the call of the logic code package is not supported, it is determined that the image resource package does not meet the running environment requirement of the logic code package.

[0121] The transmission time of the target sub-package can be determined based on the upgrade data amount of the target sub-package.

[0122] Generally, the vehicle can access a remote server through a wireless network, and the transmission rate is usually large, while the data transmission inside the vehicle is through the automobile bus, and the transmission rate is low, including: A type bus, such as Local Interconnect Network (LIN) bus, the transmission rate is usually less than 20Kb / S; B type bus, such as Controller Area Network (CAN) bus, the transmission rate is usually between 10-125Kb / S. Since the size of each upgrade file is different, the transmission time in the vehicle is also different. Therefore, for upgrade files of different sizes, the software module can be upgraded at different times, so as not to occupy the user's use time, and the upgrade can be performed at night, which will not affect the user's use of the vehicle and improve the user's upgrade experience; for testers, the test efficiency of the testers can be improved.

[0123] Specifically, when the data amount of the target sub-package is less than the preset data amount threshold, the upgrade request is immediately sent, and the transmission time of the target sub-package is the time when the device storing the target sub-package acquires the upgrade request; when the data amount of the target sub-package is greater than or equal to the preset data amount threshold, the transmission time of the target sub-package is the time when the instrument device is in a preset running state.

[0124] The data amount threshold is the maximum data amount that can be upgraded immediately. By comparing with the data amount threshold, the target sub-package with a small data amount less than the data amount threshold can be immediately transmitted, and the to-be-upgraded sub-package is upgraded. The transmission time is the time when the instrument device is in a preset running state. The preset running state can be a working state, a sleep state, or a reset start state of the instrument device, and the like. Exemplarily, when the data amount of the target sub-package is greater than or equal to the preset data amount threshold, the file transmission time can be the time when the instrument device is in a sleep state at night.

[0125] By upgrading the software at different times, the user's use time of the device can not be occupied, the upgrade can be performed at night, which will not affect the user's use, and the user's use experience is improved; for testers, the test efficiency of the testers can be improved.

[0126] The transmission time of the target sub-package can also be determined based on the upgrade data amount and the upgrade frequency information of the target sub-package. The specific determination method includes:

[0127] determining the upgrade date of the target sub-package based on the upgrade frequency;

[0128] determining the transmission time of the target sub-package within the upgrade date based on the upgrade data amount

[0129] The method for determining the transmission time of the target sub-package based on the upgrade data volume has been described above, and will not be described here. The transmission time determined here can be a certain time of the day.

[0130] The upgrade date of the target sub-package can be determined based on the upgrade frequency. For example, when the file package is defined as different frequencies such as daily, weekly, monthly, etc., the operator can select to set, automatically download updates, or selectively update. For example, if a daily update file is subscribed for update, it is automatically updated; the contents of the weekly and monthly update file packages are reviewed to determine whether an update is necessary. When it is determined that an upgrade is needed, the upgrade time can be a certain day of the month or week, i.e., the date.

[0131] The transmission time of the target sub-package is determined based on the upgrade data volume information within the upgrade date. For example, for a weekly upgrade sub-package, Monday is its upgrade date, and the data volume of the upgrade sub-package is greater than the data volume threshold. The upgrade time determined based on the data volume is 12 o'clock at night, so it can be determined that the upgrade is performed at 12 o'clock at night on Monday.

[0132] According to an embodiment of the present application, the instrument device comprises a storage device for storing a boot program, a flag bit, and an obtained upgrade sub-package, and the upgrade of the to-be-upgraded sub-package based on the upgrade sub-package comprises:

[0133] The instrument device burns the upgrade file in the obtained upgrade sub-package into the storage device and sets the flag bit;

[0134] The instrument device restarts and executes the boot program;

[0135] It is judged based on the flag bit whether there is a new program waiting for update;

[0136] When there is a new program waiting for update, the corresponding upgrade sub-package is updated based on the upgrade file.

[0137] For example, the instrument device can be an instrument module in a vehicle. The vehicle machine control system first downloads the cloud platform software package to the vehicle body. The vehicle machine control system transmits the corresponding file to the instrument module through the Controller Area Network (CAN) protocol. After being transmitted to the instrument chip, the chip writes the software package to the memory space. When the instrument module is started again, for example, hardware reset is started, the program loads the upgrade file, and software upgrade is realized.

[0138] According to an embodiment of the present application, the software upgrade package is stored in the control device of the vehicle, and the control device is connected with the instrument device through the automobile bus.

[0139] In the embodiment, the instrument device and the control device are connected through an automobile bus, which includes, but is not limited to, a controller area network bus and a local interconnect network bus.

[0140] In a specific implementation of the method, in the upgrading process, a version reading exception can cause a failure in comparison and a failure in a burning process. Therefore, before upgrading, the instrument device can copy a copy of original old version software content to a flash memory for temporary storage, and then perform version comparison, data transmission, etc. If an exception occurs, the writing of a new file is terminated, and the temporarily stored file in the flash memory is written back to ensure that the old version can be normally used.

[0141] The application further provides a remote upgrading method of vehicle software, which can be applied to a control device arranged in a vehicle. Next, the remote upgrading method of vehicle software according to an embodiment of the application is described with reference to Figure 3

[0142] As shown in Figure 3 , the method includes the following steps.

[0143] In step S310, a software upgrading package for an instrument device in a remote server is acquired, and a software upgrading instruction is sent to an instrument device of a vehicle.

[0144] The remote server in the application can be a cloud server, a network server, etc. The software upgrading package is a file set in which an upgrading file is packaged and uploaded to the server when software is updated.

[0145] In step S320, in response to software version request information sent by the instrument device, version information of at least one upgrading subpackage in the software upgrading package is sent to the instrument device.

[0146] Here, the version information can include version number, release date, developer, applicable platform, etc.

[0147] In step S330, in response to a software upgrading request sent by the instrument device, at least one corresponding upgrading subpackage in the software upgrading package is sent to the instrument device.

[0148] Here, the upgrading request at least includes the name of a subpackage to be upgraded.

[0149] The remote upgrading method of vehicle software of the application can remotely upgrade each module of a low version in vehicle software, which is simple to operate and not only facilitates the development and testing of software, but also brings a good driving experience to customers.

[0150] ​According to one embodiment of the present application, the control device is connected with the instrument device through an automobile bus, and in response to a software upgrade request issued by the instrument device, at least one upgrade sub-package in the software upgrade package is sent to the instrument device, including:

[0151] determining a transmission time of the corresponding upgrade sub-package in the software upgrade package based on the software upgrade request;

[0152] sending the corresponding at least one upgrade sub-package in the software upgrade package to the instrument device at the transmission time.

[0153] In the embodiment, the control device can be a car central control of the automobile, or a vehicle controller in the automobile, and is not limited thereto.

[0154] Please refer to Figure 4 In one specific implementation of the present application, the control device is a central control, the instrument is connected with the central control through a CAN bus, the control device is connected with the server through over-the-air technology (OTA) communication, so as to download the software upgrade package in the server. The files to be upgraded are classified and made into XCD files, the driving code is made into an XCD1 file, the picture resource file is made into an XCD2 file, and the XCD1 and the XCD2 are combined into one file package.

[0155] Specifically, the remote upgrade process of the vehicle software includes:

[0156] When the automobile instrument has software update, the software logic code in the software package is packaged into an XCD1 file, and the picture resource file is packaged into an XCD2 file. The XCD files are all uploaded to the server of the cloud platform system. When the automobile central control detects that the cloud platform has the latest instrument software, the user is prompted to upgrade, for example, a prompt information is sent to a display screen for display. The prompt information includes an option of whether to upgrade. If the upgrade is selected, all XCD packages are downloaded to the storage device of the central control of the automobile.

[0157] The automobile central control receives the overall XCD file, the automobile central control issues an upgrade request to the instrument device, the instrument (also referred to as the instrument device herein) actively reads the version information of each module from the XCD file in the automobile central control, compares the collected information with the version information of each module in the system, calculates the same version information, ignores it, and does not request upgrade; filters out different versions, selects the XCDx file to be upgraded, and issues an upgrade request to the central control of the automobile.

[0158] Based on the existing XCDx file to be upgraded, according to the actual CAN transmission rate of the vehicle body and the file package size, the instrument calculates the time required to upgrade the XCDx file, and transmits the content to the display screen such as PAD for display, so that the user can choose whether to upgrade.

[0159] After comparing the latest software with the software of the instrument, there are generally three cases: first, the picture resource is not updated, only the software code logic package needs to be updated, the CAN needs to transmit the XCD1 file package, which generally takes about 5 minutes; second, the picture resource is updated, the code logic is not updated, the CAN needs to transmit the XCD2 file, which takes about 2 hours; third, both the XCD1 file and the XCD2 file are updated, which takes about 2 hours.

[0160] According to the user's choice, the upgrade is performed within the corresponding transmission time, thereby optimizing the whole package OTA upgrade transmission time and improving the user's upgrade experience.

[0161] For example, for R&D test personnel, when seeing a 5-minute update time, they choose to update immediately; when seeing a 2-hour update time, they can choose to upgrade by U disk, thereby improving work efficiency.

[0162] For customers, when seeing a 5-minute update time, they choose to update immediately; when seeing a 2-hour update time, they can choose to update at night, which is more reasonable.

[0163] In another specific implementation of the method of the application, when the automobile central control detects that the cloud platform has the latest instrument software, the user is prompted that the upgrade can be performed, and if the user chooses to upgrade, all XCD packages are downloaded into the automobile.

[0164] According to one embodiment of the application, in response to the software upgrade request issued by the instrument device, at least one upgrade subpackage in the software upgrade package is sent to the instrument device, including:

[0165] According to the software upgrade request, a software upgrade prompt information is generated, and the software upgrade prompt information includes one or more of the name of the to-be-upgraded subpackage, the upgrade time length of at least one upgrade subpackage in the software upgrade package, and the selection of the upgrade time;

[0166] In response to the selection instruction of the upgrade time input by the user, the final transmission time of the to-be-upgraded module and at least one upgrade subpackage in the software upgrade package is determined;

[0167] At the final transmission time, at least one upgrade subpackage in the software upgrade package is sent to the instrument device.

[0168] The upgrade duration can be calculated based on the data amount of the upgrade sub-package, the data transmission rate (for example, CAN transmission rate) between the central control device and the instrument device, and the write rate of the upgrade sub-package to the memory (for example, flash) of the instrument device. The upgrade duration refers to the time required for the upgrade. For example, the data transmission time (for example, 5 min) can be obtained by dividing the data amount by the data transmission rate, the data write time (for example, 2 min) can be obtained by dividing the data amount by the write rate, and the upgrade duration (for example, 7 min) can be obtained by adding the data transmission time and the data write time. It should be noted that the upgrade duration can be calculated by the central control device of the vehicle or the instrument device.

[0169] The upgrade time (which can also be understood as the start upgrade time) can be determined by the instrument device or the central control device according to the length of the upgrade duration. If a selection instruction of the upgrade time is received, the upgrade is performed at the upgrade time. For example, when the upgrade duration is short, the upgrade time can be immediate upgrade. When the upgrade duration is long, the upgrade time can be nighttime upgrade or other possible idle time upgrade.

[0170] In this embodiment, the software upgrade prompt information can be displayed to the user by a tablet computer, a display or the like output device. The user can input an upgrade instruction by a touch screen, a key or the like input device. The input device and the output device are not limited in this embodiment.

[0171] Next, the display interface of the output device outputting the software upgrade prompt information in an embodiment of the present application is described with reference to Figure 5 As shown in Figure 5 , the display interface displays prompt information of the time required for the upgrade (that is, the upgrade duration) and options of the upgrade time. The options of the upgrade time include at least two of nighttime upgrade, immediate upgrade and temporary upgrade, for example, nighttime upgrade, immediate upgrade and temporary upgrade. The display interface can also include prompt information of the upgrade sub-package (not shown in the figure).

[0172] When the user clicks “immediate upgrade”, the instrument sends a request message to the central control. The central control immediately transmits the required upgrade file to the instrument. After the transmission is completed, the instrument performs the upgrade.

[0173] When the user clicks “nighttime upgrade”, the central control wakes up the instrument and transmits the upgrade file to the instrument during the idle time. After the transmission is completed, the instrument performs the upgrade.

[0174] The upgrade time (which can be the start upgrade time, and the start upgrade time is the transmission time) determined based on the user instruction can bring better user experience.

[0175] According to one embodiment of the present application, the division of the to-be-upgraded software and the upgrade sub-packet of the software upgrade packet is based on at least one of the upgrade frequency, the upgrade data volume, and the dependency relationship of the to-be-upgraded sub-packet, wherein the dependency relationship includes the calling relationship between different upgrade sub-packets.

[0176] In the embodiment, the software upgrade packet can be divided according to the upgrade frequency, the upgrade data volume, and the dependency relationship of the to-be-upgraded sub-packet. The software upgrade packet can include an image resource packet and / or a logic code packet. The image resource packet includes a pre-embedded image resource packet or a non-pre-embedded image resource packet. The logic code packet includes one or more of a driver layer code packet, an intermediate layer code packet, and a user interface layer code packet.

[0177] For example, when the pre-embedded image resource packet and the logic code packet are upgraded simultaneously, the software upgrade packet is divided according to the data volume. When the driver layer code packet, the intermediate layer code packet, and the user interface layer code packet are upgraded at different frequencies, the software upgrade packet is divided according to the upgrade frequency. When the software needs to be pre-embedded, the software upgrade packet can be divided according to the dependency relationship.

[0178] By making upgrade files according to the upgrade frequency and / or the upgrade data volume and / or the dependency relationship, different software upgrade requirements can be met, the upgrade efficiency is improved, and the impact on users is reduced.

[0179] The embodiment of the present application also provides an instrument device, which includes a memory and a processor. The memory stores a computer program which is run by the processor. When the computer program is run by the processor, the device installed with the processor executes the remote upgrade method of the vehicle software applied to the electronic device according to any one of the above embodiments.

[0180] The embodiment of the present application also provides a control device, which includes a memory and a processor. The memory stores a computer program which is run by the processor. When the computer program is run by the processor, the device installed with the processor executes the remote upgrade method of the vehicle software applied to the control device according to any one of the above embodiments.

[0181] The embodiment of the present application also provides a storage medium, which stores a computer program. The computer program is run on a computer. When the computer program is run, the computer executes the remote upgrade method of the vehicle software according to any one of the above embodiments.

[0182] The embodiment of the present application also provides a vehicle, which includes one or more of the above-described electronic device, the above-described control device, and the above-described storage medium.

[0183] Although example embodiments have been described herein with reference to the accompanying drawings, it is to be understood that the example embodiments are intended to be illustrative only and are not intended to limit the scope of the present application. Various modifications and changes can be made thereto by those of ordinary skill in the art without departing from the scope and spirit of the application. It is intended that all such modifications and changes be included within the scope of the application as claimed.

[0184] Those skilled in the art can realize the units and algorithm steps with the examples described in the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on the particular applications and design constraints. Those skilled in the art can realize the described functions by designing a corresponding electrical circuit or in a combination of hardware and software modules with the use of common technical means. Such software is stored in one or more storage media or memory of the electronic devices and includes a number of instructions for implementing elements of the methods described herein. Such software can also include data files stored by one or more of the electronic devices.

[0185] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is merely a logical function division. In actual implementation, another division manner can be used, for example, a plurality of units or components can be combined or integrated into another device, or some features can be omitted or not implemented.

[0186] In the specification provided herein, a large number of specific details are described. However, it can be understood that the embodiments of the present application can be practiced without these specific details. In some examples, well-known methods, structures and techniques are not described in detail in order not to obscure the understanding of the present specification.

[0187] Similarly, it is to be understood that the features of the present application sometimes are grouped together in a single embodiment, figure or description of the application for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various aspects of the application. The features of the application are, however, not to be interpreted as requiring that the application require more features than are explicitly recited in each claim. Rather, the inventive aspects lie in less than all features of any single disclosed embodiment. Thus, the claims following, in accordance with the requirements of the law, are hereby expressly incorporated in their entirety into this detailed description, with each claim standing on its own as a separate embodiment of this application.

[0188] Those skilled in the art will appreciate that all features described herein (including all features and processes described in the accompanying claims, abstract and drawings) can be combined in any combination. Each feature disclosed in this specification (including any "means for" feature disclosed by the specification, abstract and drawings) can be replaced by alternative features that are both equivalent in terms of the functionality for which the features are described.

[0189] Those skilled in the art will appreciate that, except where expressly noted otherwise, any of the features described herein can be combined with any of the other features described herein. In particular, the features of different embodiments described herein can be combined with each other, unless explicitly stated otherwise.

[0190] The various component embodiments of the present application can be implemented in hardware, or as software modules running in one or more processors, or in combinations thereof. Those skilled in the art will appreciate that a microprocessor or digital signal processor (DSP) can be used in practice to implement some or all of the functions of some of the modules of the item analysis apparatus according to embodiments of the present application. The present application can also be implemented as an apparatus program (e.g., a computer program and a computer program product) for performing part or all of the methods described herein. Such a program implementing the present application can be stored on a computer readable medium, or can be in the form of one or more signals. Such signals can be downloaded from an Internet website, or provided on a carrier medium, or in any other form.

[0191] It is noted that the foregoing examples have been provided merely for the purpose of explanation and are in no way to be construed as limiting of the present application. While the present application has been described with reference to preferred embodiments, workers skilled in the art will recognize that certain modifications can be made to the described embodiments and fall within the scope of the application. Any reference signs in the claims should not be construed as limiting the scope of the claims. The word "comprising" does not exclude the presence of elements or steps other than those listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The application can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the system claims enumerating several means, several of these means can be embodied by one and the same item of hardware. The use of the word at, when, wherein in the claims is not to be interpreted as being confined to the places in which they are used. The application can be implemented in all its parts of hardware and software, in different embodiments. The disclosure relates to all alternative combinations of parts previously disclosed.

[0192] The above merely describes specific embodiments or specific implementation of the present application, and the protection scope of the present application is not limited thereto, any person skilled in the art can easily think of changes or replacements within the technical range disclosed by the present application, which should be covered in the protection scope of the present application. The protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A method for remote upgrade of vehicle software, characterized in that, The method is applied to a meter device arranged in a vehicle, and comprises the following steps: In response to a received software upgrade instruction, obtaining version information of at least one upgrade subpackage in a software upgrade package; Based on the version information of at least one upgrade subpackage in the software upgrade package and the version information of at least one upgrade subpackage in the software to be upgraded, determining that at least one upgrade subpackage in the software to be upgraded is a subpackage to be upgraded, and the version number of the subpackage to be upgraded is lower than the version number of the corresponding upgrade subpackage in the software upgrade package; Sending an upgrade request to a control device of the vehicle to enable the control device of the vehicle to send an upgrade subpackage corresponding to the subpackage to be upgraded in the software upgrade package to the meter device; Based on the received upgrade subpackage, upgrading the subpackage to be upgraded; Taking the upgrade subpackage corresponding to the subpackage to be upgraded in the software upgrade package as a target subpackage; Based on the version information of the target subpackage and the version information of an associated upgrade subpackage in the subpackage to be upgraded, determining whether the associated upgrade subpackage meets the operating environment requirements of the target subpackage; When the operating environment requirements are met, determining the transmission time of the target subpackage based on the upgrade data volume and / or upgrade frequency of the target subpackage; When the operating environment requirements are not met, first upgrading the associated upgrade subpackage to enable the upgraded associated upgrade subpackage to meet the operating environment requirements of the target subpackage, and then determining the transmission time of the target subpackage based on the upgrade data volume and / or upgrade frequency of the target subpackage; The division of the upgrade subpackages in the software to be upgraded and the software upgrade package is based on the upgrade data volume of the upgrade subpackage to be upgraded, and the method for dividing the upgrade subpackages in the software to be upgraded and the software upgrade package comprises: dividing the software to be upgraded and the software upgrade package into image resource packages and logic code packages according to the upgrade data volume.

2. The method of claim 1, wherein, The division of the upgrade subpackages in the software to be upgraded and the software upgrade package can also be based on at least one of the following: the upgrade frequency of the upgrade subpackage to be upgraded and a dependency relationship, wherein the dependency relationship includes the calling relationship between different upgrade subpackages.

3. The method of claim 2, wherein, When the division is based on the upgrade frequency, the method for dividing the upgrade subpackages in the software to be upgraded and the software upgrade package further comprises: Dividing the logic code packages into driver layer code packages, intermediate layer code packages, and user interface layer code packages according to the upgrade frequency.

4. The method of claim 3, wherein, When the division is based on the dependency relationship, the method for dividing the upgrade subpackages in the software to be upgraded and the software upgrade package further comprises: According to the dependency relationship, a type of the image resource package in the software to be upgraded is determined, wherein the type of the image resource package is a pre-embedded image resource package or a non-pre-embedded image resource package; the pre-embedded image resource package refers to a resource package that cannot be completely called by a user interface layer code package of a current version of the software to be upgraded, and the non-pre-embedded image resource package refers to a resource package that can be called by the user interface layer code package of the current version of the software to be upgraded.

5. The method of remote upgrade of vehicle software as claimed in claim 4, wherein, When the target sub-package is a user interface layer code package and the associated upgrade sub-package is a pre-embedded image resource package, whether the associated upgrade sub-package meets the operating environment requirement of the target sub-package is determined based on version information of the target sub-package and version information of the associated upgrade sub-package of the software to be upgraded, including: determining whether the user interface layer code package has a dependency relationship with the pre-embedded image resource package based on version information of the user interface layer code package and version information of the pre-embedded image resource package; when there is a dependency relationship, determining that the pre-embedded image resource package meets the operating environment requirement of the user interface layer code package; when there is no dependency relationship, determining that the pre-embedded image resource package does not meet the operating environment requirement of the user interface layer code package.

6. The method of claim 1, wherein, The sending of the upgrade request to the control device of the vehicle includes: taking an upgrade sub-package corresponding to the software sub-package to be upgraded in the software upgrade package as a target sub-package; determining a transmission time of the target sub-package based on an upgrade data amount and / or an upgrade frequency of the target sub-package; sending an upgrade request to the control device of the vehicle within the transmission time.

7. The method of claim 1 or 6, wherein The determination of the transmission time of the target sub-package based on the upgrade data amount of the target sub-package includes: when the data amount of the target sub-package is less than a preset data amount threshold, the upgrade request is immediately sent to the control device of the vehicle, and the transmission time of the target sub-package is a time at which the control device of the vehicle storing the target sub-package acquires the upgrade request; when the data amount of the target sub-package is greater than or equal to the preset data amount threshold, the transmission time of the target sub-package is a time during which the instrument device is in a preset operating state.

8. The method of claim 6, wherein the vehicle software is remotely upgraded by, The determination of the transmission time of the target sub-package based on the upgrade data amount and the upgrade frequency of the target sub-package includes: determining an upgrade date of the target sub-package based on the upgrade frequency; determining the transmission time of the target sub-package within the upgrade date based on the upgrade data amount.

9. The method of Claim 1, wherein, The method further includes: calculating an upgrade duration based on a data amount of the upgrade sub-package corresponding to the software sub-package to be upgraded in the software upgrade package, a data transmission rate between the instrument device and the control device of the vehicle, and a writing rate of the upgrade sub-package in the software upgrade package into a storage device of the instrument device; and sending the upgrade duration to a display screen for display.

10. The method of Claim 1, wherein The software upgrade package is stored in the control device of the vehicle, and the control device is connected to the instrument device through an automobile bus.

11. The method of Claim 1, wherein, The instrument device includes a storage device for storing a boot program, a flag bit, and an acquired upgrade sub-package, and the software sub-package to be upgraded is upgraded based on the received upgrade sub-package, including: The instrument device burns the upgrade file in the obtained upgrade sub-package into the storage device and sets a flag bit; The instrument device restarts and executes the boot program; It is judged whether there is a new program waiting for updating based on the flag bit; When there is a new program waiting for updating, the corresponding upgrade sub-package is updated based on the upgrade file.

12. A method for remote upgrade of vehicle software, characterized in that, The method is applied to a control device arranged in a vehicle, and the method comprises: Obtaining a software upgrade package for an instrument device in a remote server and sending a software upgrade instruction to an instrument device of the vehicle; In response to software version request information sent by the instrument device, version information of at least one upgrade sub-package in the software upgrade package is sent to the instrument device, so that the instrument device determines that at least one upgrade sub-package in the software to be upgraded is a to-be-upgraded sub-package based on the version information of at least one upgrade sub-package in the software upgrade package and the version information of at least one upgrade sub-package in the software to be upgraded, and the version number of the to-be-upgraded sub-package is lower than the version number of the corresponding upgrade sub-package in the software upgrade package; In response to a software upgrade request sent by the instrument device, at least one corresponding upgrade sub-package in the software upgrade package is sent to the instrument device; The instrument device takes the upgrade sub-package corresponding to the to-be-upgraded sub-package in the software upgrade package as a target sub-package, determines whether an associated upgrade sub-package in the to-be-upgraded sub-package meets the running environment requirement of the target sub-package based on the version information of the target sub-package and the version information of the associated upgrade sub-package, determines the transmission time of the target sub-package based on the upgrade data amount and / or upgrade frequency of the target sub-package when the running environment requirement is met, and determines the transmission time of the target sub-package based on the upgrade data amount and / or upgrade frequency of the target sub-package when the running environment requirement is not met, and then upgrades the associated upgrade sub-package so that the upgraded associated upgrade sub-package meets the running environment requirement of the target sub-package. The division basis of the to-be-upgraded software and the upgrade sub-package in the software upgrade package comprises an upgrade data amount of the to-be-upgraded sub-package; the software upgrade package comprises an image resource package and / or a logic code package, and the generation process of the version information comprises: packing logic codes in the software upgrade package into an XCD1 file and packing picture resources in the software upgrade package into an XCD2 file.

13. The method of claim 12, wherein, The control device and the instrument device are connected through an automobile bus, and in response to a software upgrade request sent by the instrument device, at least one corresponding upgrade sub-package in the software upgrade package is sent to the instrument device, which comprises: Determining the transmission time of the corresponding upgrade sub-package in the software upgrade package based on the software upgrade request; Sending the at least one corresponding upgrade sub-package in the software upgrade package to the instrument device at the transmission time.

14. The method of claim 12, wherein the vehicle software is remotely upgraded by, In response to a software upgrade request sent by the instrument device, at least one corresponding upgrade sub-package in the software upgrade package is sent to the instrument device, which comprises: The software upgrade prompt information includes one or more of the following: a name of the to-be-upgraded sub-package, an upgrade time length of the corresponding at least one upgrade sub-package in the software upgrade package, and an option of an upgrade time. In response to a selection instruction of the upgrade time input by a user, a final transmission time of the to-be-upgraded sub-package and the corresponding at least one upgrade sub-package in the software upgrade package is determined. The corresponding at least one upgrade sub-package in the software upgrade package is transmitted to the instrument device at the final transmission time.

15. The method of claim 14, wherein, The option of the upgrade time includes at least two of the following: immediate upgrade, nighttime upgrade, and temporary non-upgrade.

16. The method of claim 14, wherein, The upgrade time length is calculated based on a data amount of the upgrade sub-package, a data transmission rate between a control device of the vehicle and the instrument device, and a writing rate of the upgrade sub-package into a storage device of the instrument device.

17. The method of remote upgrading of vehicle software according to any one of claims 12-16, characterized in that, The division of the to-be-upgraded software and the upgrade sub-package in the software upgrade package is also based on at least one of the following: an upgrade frequency of the to-be-upgraded sub-package, and a dependency relationship, wherein the dependency relationship includes a calling relationship between different upgrade sub-packages.

18. The method of claim 17, wherein, The image resource package includes a pre-embedded image resource package or a non-pre-embedded image resource package, and the logic code package includes at least one of a driver layer code package, an intermediate layer code package, and a user interface layer code package.

19. The method of claim 18, wherein, The packaging manner of the upgrade sub-package includes whole packaging, picture packaging, and software logic packaging. The picture packaging is used to package pictures to generate the pre-embedded image resource package or the non-pre-embedded image resource package when the to-be-upgraded software needs to be upgraded in pictures. The software logic packaging is used to package software logic codes to generate the logic code package when the to-be-upgraded software needs to be upgraded in software logic codes. The whole packaging is used to package pictures and software logic codes respectively to generate an image resource package and a logic code package when the to-be-upgraded software needs to be upgraded in pictures and / or software logic codes, and the image resource package and the logic code package are used as a whole upgrade file package.

20. An instrument, comprising: The instrument device includes a storage and a processor, the storage stores a computer program run by the processor, and the computer program, when run by the processor, causes the device installed with the processor to perform the remote upgrade method of the vehicle software according to any one of claims 1-11.

21. A control device, characterized by The control device includes a storage and a processor, the storage stores a computer program run by the processor, and the computer program, when run by the processor, causes the device installed with the processor to perform the remote upgrade method of the vehicle software according to any one of claims 12-19.

22. A storage medium, characterized by The storage medium stores a computer program, the computer program is run on a computer, and the computer program, when run, causes the computer to perform the remote upgrade method of the vehicle software according to any one of claims 1-11 or the remote upgrade method of the vehicle software according to any one of claims 12-19.

23. A vehicle characterized by comprising: The vehicle includes one or more of the instrument device of claim 20, the control device of claim 21, the storage medium of claim 22.

Citation Information

Patent Citations

  • On-board OTA upgrading method based on CAN bus load monitoring

    CN108282389A

  • Multi-ECU upgrading method based on OTA

    CN112104736A

  • Vehicle ECU upgrading method and device, electronic equipment and storage medium

    CN114125000A