Software upgrading method, device and equipment for vehicle-mounted controller and storage medium

By pre-developing candidate software variants based on the chip performance data of the on-board controller, the problems of data loss and complex operations in the on-board controller software update are solved, and efficient and safe software updates are achieved.

CN119201164APending Publication Date: 2024-12-27FAW JIEFANG AUTOMOTIVE CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411236156.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-04
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

The existing on-board controller software update method can easily lead to data loss and complex operation, especially when facing different models, it is difficult to easily update software.

Method used

By determining the software variant and candidate vehicle model to be developed based on the chip performance data of the on-board controller, the candidate software variant is developed in advance, and when the software upgrade instruction is recognized, the target software variant is determined from the candidate software variant according to the target vehicle model for performing upgrade.

Benefits of technology

It improves the efficiency and security of software updates, avoids the risk of remote receiving of data packets, and simplifies the software update process for different models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119201164A_ABST
    Figure CN119201164A_ABST
Patent Text Reader

Abstract

The invention discloses a software upgrading method and device for a vehicle-mounted controller, equipment and a storage medium, and relates to the technical field of vehicle-mounted controllers. The method comprises the steps of determining at least one to-be-developed software variant and a candidate vehicle type corresponding to the to-be-developed software variant according to chip performance data of a current vehicle-mounted controller; based on the candidate vehicle model, developing the software variant to be developed to obtain a candidate software variant; and under the condition that the software upgrading instruction is recognized, determining a target software variant from the candidate software variants according to the target vehicle type of the target vehicle, and upgrading software of a target vehicle-mounted controller of the target vehicle according to the target software variant. According to the technical scheme, the candidate software variants are developed in advance, so that when the software of the vehicle-mounted controller needs to be updated, the data updating packet does not need to be remotely received, the required variants are directly switched, and the data updating efficiency and safety are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of automotive engineering technology, in particular to the field of vehicle-mounted controller technology, and specifically to a software upgrade method, device, equipment and storage medium for a vehicle-mounted controller. Background Art

[0002] With the rapid development of automobile intelligence and the different car models, in order to avoid the function failure of the on-board controller, the software configuration of the on-board controller must also be updated accordingly.

[0003] The current software update of the vehicle controller is mainly through remotely receiving the current upgraded target data package, writing the data of the target data package to the currently inactive target storage partition, and controlling the operation of the vehicle controller based on the data of the upgraded software package in the target storage partition. Although this update method reduces the risk of functional failure of the target vehicle controller, since the current upgraded target data package needs to be received remotely, if an error occurs in the middle, it is easy to cause data loss and it is always difficult to write; if there are multiple changes in requirements or when facing similar but different configuration models, this operation is not easy. Summary of the invention

[0004] The present application provides a software upgrade method, device, equipment and storage medium for a vehicle-mounted controller to improve the efficiency and security of data updating.

[0005] According to one aspect of the present application, a method for upgrading software of a vehicle controller is provided, the method comprising:

[0006] Determine, according to chip performance data of the current vehicle-mounted controller, at least one software variant to be developed and a candidate vehicle model corresponding to the software variant to be developed;

[0007] Based on the candidate vehicle model, developing the software variant to be developed to obtain a candidate software variant;

[0008] When a software upgrade instruction is identified, a target software variant is determined from the candidate software variants according to a target model of the target vehicle, and the software of a target onboard controller of the target vehicle is upgraded according to the target software variant.

[0009] According to another aspect of the present application, a software upgrade device for a vehicle-mounted controller is provided, the device comprising:

[0010] A variant determination module, used to determine at least one software variant to be developed and a candidate vehicle model corresponding to the software variant to be developed according to chip performance data of the current vehicle-mounted controller;

[0011] A variant development module, used for developing the software variant to be developed based on the candidate vehicle model to obtain a candidate software variant;

[0012] The software update module is used to determine a target software variant from the candidate software variants according to a target model of a target vehicle when a software upgrade instruction is identified, and to upgrade the software of a target on-board controller of the target vehicle according to the target software variant.

[0013] According to another aspect of the present application, an electronic device is provided, the electronic device comprising:

[0014] one or more processors;

[0015] A memory for storing one or more programs;

[0016] When the one or more programs are executed by the one or more processors, the one or more processors implement any one of the vehicle controller software upgrade methods provided in the embodiments of the present application.

[0017] According to another aspect of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the program is executed by a processor, the software upgrade method of any vehicle-mounted controller provided in the embodiments of the present application is implemented.

[0018] This application determines at least one software variant to be developed and a candidate vehicle model corresponding to the software variant to be developed based on the chip performance data of the current vehicle-mounted controller; develops the software variant to be developed based on the candidate vehicle model to obtain the candidate software variant; when a software upgrade instruction is identified, the target software variant is determined from the candidate software variants according to the target vehicle model of the target vehicle, and the software of the target vehicle-mounted controller of the target vehicle is upgraded according to the target software variant. The above technical solution, by pre-developing the candidate software variant, can directly switch the required variant when the software of the vehicle-mounted controller needs to be updated without remotely receiving the data update package, thereby improving the efficiency and security of data updates. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 is a flowchart of a software upgrade method of a vehicle controller provided according to Embodiment 1 of the present application;

[0020] Figure 2 is a flow chart of a software upgrade method of a vehicle controller provided according to Embodiment 2 of the present application;

[0021] Figure 3 It is a structural schematic diagram of a software upgrade device for a vehicle controller provided according to Embodiment 3 of the present application;

[0022] Figure 4 It is a structural diagram of an electronic device that implements the software upgrade method of the vehicle controller of an embodiment of the present application. DETAILED DESCRIPTION

[0023] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0024] It should be noted that the terms "first", "second", 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 sequence. 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 an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0025] In addition, it should be noted that in the technical solution of this application, the collection, storage, use, processing, transmission, provision and disclosure of chip performance data and candidate vehicle models and other related data are in compliance with the relevant laws and regulations and do not violate public order and good morals.

[0026] Embodiment 1

[0027] Figure 1 This is a flow chart of a method for upgrading the software of a vehicle controller according to the first embodiment of the present application. This embodiment is applicable to the case of updating the software of vehicle controllers of different vehicle models, and can be executed by a software upgrading device of the vehicle controller. The software upgrading device of the vehicle controller can be implemented in the form of hardware and / or software. The software upgrading device of the vehicle controller can be configured in a computer device, such as a vehicle controller. Figure 1 As shown, the method includes:

[0028] S110: Determine at least one software variant to be developed and candidate vehicle models corresponding to the software variant to be developed according to chip performance data of the current vehicle-mounted controller.

[0029] Among them, the current vehicle controller refers to the vehicle controller that currently needs to develop software variants. Chip performance data refers to the various performance indicators of the chip when processing vehicle applications, such as processing power (CPU frequency), memory capacity, storage capacity, type and number of input / output interfaces, communication protocol support, etc. These data determine the performance and capabilities of the chip in different application scenarios. The software variants to be developed refer to the performance data of the vehicle controller chip, the different versions of the software system planned to be developed, and each variant usually targets specific application requirements or vehicle configurations, with different functional characteristics and configuration options. Candidate vehicle models refer to those car models that may be equipped with software variants to be developed. The configuration requirements and chip performance requirements of these models will affect the development direction and functional realization of the software variants; it should be noted that a candidate vehicle model can correspond to at least one software variant to be developed.

[0030] Exemplarily, based on the chip performance data of the current vehicle-mounted controller, the number of variants to be developed and the changeable configuration parameters are reserved, and at least one software variant to be developed and candidate vehicle models corresponding to the software variant to be developed are determined.

[0031] The number of variants to be developed refers to the number of variants to be developed. The changeable configuration parameters refer to the configuration parameters that can be changed in the variants to be developed, including but not limited to the ID (Identity) and type of CAN (Controller Area Network) / CANFD (Controller Area Network Flexible Data-rate) messages, bus baud rate and sampling point, message sending period, IP (Internet Protocol) and PORT (Port) of the vehicle Ethernet, etc.

[0032] Optionally, after determining at least one software variant to be developed, it is also necessary to determine a variant storage location of the software variant to be developed based on chip performance data of the current on-board controller.

[0033] The variant storage location refers to the actual storage location of the software variant to be developed on the vehicle controller chip or in its associated storage medium.

[0034] S120: Develop the software variant to be developed based on the candidate vehicle model to obtain a candidate software variant.

[0035] Among them, the candidate software variant refers to the software variant that has undergone variant program changes and can be used in the vehicle controller.

[0036] Optionally, after developing the software variant to be developed and obtaining the candidate software variant, the candidate software variant can also be subjected to software integrity check and software feasibility check; when both the software integrity check and the software feasibility check are passed, the candidate software variant is stored in the candidate memory space; the candidate memory space is determined by the chip performance data of the current vehicle controller.

[0037] The software integrity check refers to the check used to verify whether the candidate software variant has data loss. The software feasibility check refers to the check used to verify whether the candidate software variant is valid. The candidate memory space refers to the memory space used to store the candidate software variant.

[0038] Furthermore, when the candidate software variant is stored in the candidate memory space, a backup partition may be set in the candidate memory space so that the backup partition stores the software variant to be developed.

[0039] The backup partition refers to the space in the memory space used to store the original program.

[0040] It is understandable that a partition is set up in the memory space at the same time to back up the original program. When the target software variant to be switched is verified to be invalid or there is data loss, the original program (software variant to be developed) is still used to ensure the normal operation of the controller, and the invalid information is displayed in the interface.

[0041] S130: When a software upgrade instruction is identified, a target software variant is determined from candidate software variants according to a target model of the target vehicle, and software of a target onboard controller of the target vehicle is upgraded according to the target software variant.

[0042] The software upgrade instruction refers to a signal that the software of the target vehicle controller of the target vehicle needs to be upgraded. The target vehicle refers to the vehicle that currently needs to be upgraded. The target vehicle model refers to the model of the target vehicle. The target software variant refers to the software variant that can be used to upgrade the software of the target vehicle controller of the target vehicle.

[0043] The embodiment of the present application determines at least one software variant to be developed and a candidate vehicle model corresponding to the software variant to be developed based on the chip performance data of the current vehicle-mounted controller; develops the software variant to be developed based on the candidate vehicle model to obtain the candidate software variant; when a software upgrade instruction is identified, the target software variant is determined from the candidate software variants according to the target vehicle model of the target vehicle, and the software of the target vehicle-mounted controller of the target vehicle is upgraded according to the target software variant. The above technical solution, by pre-developing the candidate software variant, can directly switch the required variant when the software of the vehicle-mounted controller needs to be updated without remotely receiving the data update package, thereby improving the efficiency and security of data updates.

[0044] Embodiment 2

[0045] Figure 2 This is a flow chart of a software upgrade method for a vehicle controller provided in accordance with the second embodiment of the present application. Based on the technical solutions of the above embodiments, this embodiment refines "developing a software variant to be developed based on a candidate vehicle model to obtain a candidate software variant" into "establishing a candidate variant flag for the software variant to be developed, and determining the software configuration parameters of the software variant to be developed according to the software configuration requirements of the candidate vehicle model; developing the software variant to be developed according to the software configuration parameters and the variant flag to obtain a candidate software variant". It should be noted that for the parts not described in detail in the embodiments of the present application, please refer to the relevant statements of other embodiments. Figure 2 As shown, the method includes:

[0046] S210: Determine at least one software variant to be developed and candidate vehicle models corresponding to the software variant to be developed according to chip performance data of the current vehicle-mounted controller.

[0047] S220: Establish a candidate variant flag for the software variant to be developed, and determine software configuration parameters of the software variant to be developed according to the software configuration requirements of the candidate vehicle model.

[0048] The candidate variant flag is a mark or indicator used to identify and distinguish different software variants. This flag is used to track and manage various software variants during the development phase for subsequent evaluation, testing and selection. Software configuration parameters refer to the specific configuration values ​​and options set for each software variant during the development process. These parameters determine the functionality, performance and compatibility of the software to meet the needs of specific vehicle models.

[0049] S230: Develop the software variant to be developed according to the software configuration parameters and the variant flag to obtain a candidate software variant.

[0050] Optionally, based on the correspondence between the candidate vehicle model and the software variant to be developed, a candidate variant flag is set for the software variant to be developed; the changeable configuration parameters in the software variant to be developed are adjusted to software configuration parameters to obtain the candidate software variant; the changeable configuration parameters are determined by the chip performance data of the current vehicle controller.

[0051] Among them, chip performance data refers to various performance indicators of the chip when processing vehicle-mounted applications, and may include at least one of supported communication protocols and reserved space size. Changeable configuration parameters refer to configuration parameters that can be changed in the variant to be developed, and may include at least one of bus baud rate, bus sampling point, vehicle Ethernet address, vehicle Ethernet port, message sending cycle, message number and message type.

[0052] Specifically, based on the correspondence between the candidate vehicle model and the software variant to be developed, a suitable candidate variant flag is selected to be bound to the software variant to be developed; the changeable configuration parameters in the software variant to be developed are adjusted to software configuration parameters to obtain the candidate software variant bound to the candidate variant flag.

[0053] Optionally, during the development of the software variant to be developed, a graphical interface can be added to combine the vehicle model requirements that need to be changed with the corresponding variant flags, and intuitive and fast change operations can be performed by directly selecting the vehicle model information.

[0054] It should be noted that the development of the software variants to be developed is based on the AUTOSAR (Automotive OpenSystem Architecture) architecture, complies with the AUTOSAR specifications, and ensures the stability of the program.

[0055] S240: When a software upgrade instruction is identified, a target software variant is determined from the candidate software variants according to a target model of the target vehicle, and software of a target onboard controller of the target vehicle is upgraded according to the target software variant.

[0056] Optionally, determining the target software variant from the candidate software variants according to the target model of the target vehicle may be: determining the target variant flag from the candidate variant flags according to the target model of the target vehicle; and determining the target software variant from the candidate software variants according to the target variant flag.

[0057] Furthermore, according to the target software variant, upgrading the software of the target vehicle's target on-board controller can be by determining a current variant flag corresponding to the current software variant of the target vehicle's target on-board controller; switching the current variant flag to the target variant flag to replace the current software variant of the target vehicle's target on-board controller with the target software variant, thereby achieving a software upgrade of the target vehicle's target on-board controller.

[0058] For example, in an environment where the vehicle controller is installed in a vehicle, the controller contains a preliminary version of the program, which already includes multiple candidate software variants designed to adapt to different vehicle models. Use the diagnostic function to connect to the vehicle controller to be operated, and by reading the DID (Decentralized Identifier Service) service, determine the currently used software version displayed on the graphical interface, and then write the DID service, according to the target variant flag that matches the vehicle model, select the corresponding vehicle model or demand in the interface to switch the variant, that is, quickly adapt to different needs.

[0059] The embodiment of the present application determines at least one software variant to be developed and the candidate vehicle model corresponding to the software variant to be developed according to the chip performance data of the current vehicle-mounted controller; establishes a candidate variant flag for the software variant to be developed, and determines the software configuration parameters of the software variant to be developed according to the software configuration requirements of the candidate vehicle model; develops the software variant to be developed according to the software configuration parameters and the variant flag to obtain the candidate software variant; when the software upgrade instruction is identified, the target software variant is determined from the candidate software variants according to the target vehicle model of the target vehicle, and the software of the target vehicle-mounted controller of the target vehicle is upgraded according to the target software variant. The above technical solution can facilitate the positioning of software variants by setting the variant flag when developing the candidate software variant; and, according to the software configuration requirements of different vehicle models, the required candidate software variants are configured, which helps to improve the diversification of software variants and lays the foundation for the subsequent software update of the vehicle-mounted controller.

[0060] Embodiment 3

[0061] Figure 3 This is a schematic diagram of the structure of a vehicle controller software upgrade device provided in accordance with the third embodiment of the present application, which can be applied to the situation of updating the software of vehicle controllers of different vehicle models. The vehicle controller software upgrade device can be implemented in the form of hardware and / or software. The vehicle controller software upgrade device can be configured in a computer device, such as a vehicle controller. Figure 3 As shown, the device comprises:

[0062] A variant determination module 310 is used to determine at least one software variant to be developed and a candidate vehicle model corresponding to the software variant to be developed according to chip performance data of the current vehicle-mounted controller;

[0063] A variant development module 320 is used to develop a software variant to be developed based on a candidate vehicle model to obtain a candidate software variant;

[0064] The software update module 330 is used to determine a target software variant from candidate software variants according to a target model of the target vehicle when a software upgrade instruction is identified, and upgrade the software of a target onboard controller of the target vehicle according to the target software variant.

[0065] The embodiment of the present application determines at least one software variant to be developed and a candidate vehicle model corresponding to the software variant to be developed based on the chip performance data of the current vehicle-mounted controller; develops the software variant to be developed based on the candidate vehicle model to obtain the candidate software variant; when a software upgrade instruction is identified, the target software variant is determined from the candidate software variants according to the target vehicle model of the target vehicle, and the software of the target vehicle-mounted controller of the target vehicle is upgraded according to the target software variant. The above technical solution, by pre-developing the candidate software variant, can directly switch the required variant when the software of the vehicle-mounted controller needs to be updated without remotely receiving the data update package, thereby improving the efficiency and security of data updates.

[0066] Optionally, the variant development module 320 includes:

[0067] A variant configuration unit, used to establish a candidate variant flag for the software variant to be developed, and determine the software configuration parameters of the software variant to be developed according to the software configuration requirements of the candidate vehicle model;

[0068] The variant development unit is used to develop the software variant to be developed according to the software configuration parameters and the variant flag to obtain the candidate software variant.

[0069] Optional, variant development unit, specifically for:

[0070] Based on the correspondence between the candidate vehicle model and the software variant to be developed, a candidate variant flag is set for the software variant to be developed;

[0071] The changeable configuration parameters in the software variant to be developed are adjusted to software configuration parameters to obtain a candidate software variant; the changeable configuration parameters are determined by chip performance data of the current vehicle-mounted controller.

[0072] Optionally, the chip performance data includes supported communication protocols and reserved space size; the changeable configuration parameters include bus baud rate, bus sampling point, address of vehicle Ethernet, port of vehicle Ethernet, message sending cycle, message number and message type.

[0073] Optionally, the software update module 330 is specifically used to:

[0074] Determine a target variant flag from candidate variant flags according to a target model of the target vehicle;

[0075] According to the target variant flag, the target software variant is determined from the candidate software variants.

[0076] Optionally, the device further includes a variant verification module, wherein the variant verification module is used to:

[0077] After developing the software variant to be developed and obtaining the candidate software variant, performing software integrity verification and software feasibility verification on the candidate software variant;

[0078] When both the software integrity check and the software feasibility check are passed, the candidate software variant is stored in the candidate memory space; the candidate memory space is determined by the chip performance data of the current on-board controller.

[0079] The software upgrade device for the vehicle controller provided in the embodiment of the present application can execute the software upgrade method for the vehicle controller provided in any embodiment of the present application, and has the corresponding functional modules and beneficial effects for executing the software upgrade method of each vehicle controller.

[0080] Embodiment 4

[0081] Figure 4 It is a structural diagram of an electronic device 410 that implements the software upgrade method of the vehicle controller of an embodiment of the present application. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. 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 required herein.

[0082] like Figure 4 As shown, the electronic device 410 includes at least one processor 411, and a memory connected to the at least one processor 411 in communication, such as a read-only memory (ROM) 412, a random access memory (RAM) 413, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 411 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 412 or the computer program loaded from the storage unit 418 to the random access memory (RAM) 413. In RAM413, various programs and data required for the operation of the electronic device 410 can also be stored. The processor 411, ROM412 and RAM413 are connected to each other via a bus 414. An input / output (I / O) interface 415 is also connected to the bus 414.

[0083] Multiple components in the electronic device 410 are connected to the I / O interface 415, including: an input unit 416, such as a keyboard, a mouse, etc.; an output unit 417, such as various types of displays, speakers, etc.; a storage unit 418, such as a disk, an optical disk, etc.; and a communication unit 419, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 419 allows the electronic device 410 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0084] The processor 411 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 411 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 running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 411 executes the various methods and processes described above, such as a software upgrade method for an onboard controller.

[0085] In some embodiments, the software upgrade method of the on-board controller may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 418. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 410 via the ROM 412 and / or the communication unit 419. When the computer program is loaded into the RAM 413 and executed by the processor 411, one or more steps of the software upgrade method of the on-board controller described above may be performed. Alternatively, in other embodiments, the processor 411 may be configured as the software upgrade method of the on-board controller by any other appropriate means (e.g., by means of firmware).

[0086] Various implementations of the systems and techniques described above 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), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including 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.

[0087] The computer programs for implementing the methods of the present application may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a software upgrade device of a general-purpose computer, a special-purpose computer, or other programmable vehicle controller, so that when the computer programs are executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer programs may be executed entirely on the machine, partially on the machine, partially on the machine as a stand-alone software package and partially on a remote machine, or entirely on a remote machine or server.

[0088] In the context of the present application, a computer readable storage medium may be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, device or equipment. A computer readable storage medium may 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 may be a machine readable signal medium. A more specific example of a machine readable storage medium may 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 flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

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

[0090] The systems and techniques described herein may be implemented in a computing system that includes backend 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 frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may 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.

[0091] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0092] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this application can be executed in parallel, sequentially or in different orders, as long as the expected results of the technical solution of this application can be achieved, and this document is not limited here.

[0093] The above specific implementations do not constitute a limitation on the protection scope of this application. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of this application should be included in the protection scope of this application.

Claims

1. A software upgrade method for a vehicle controller, characterized in that: include: Determine, according to chip performance data of the current vehicle-mounted controller, at least one software variant to be developed and a candidate vehicle model corresponding to the software variant to be developed; Based on the candidate vehicle model, developing the software variant to be developed to obtain a candidate software variant; When a software upgrade instruction is identified, a target software variant is determined from the candidate software variants according to a target model of the target vehicle, and the software of a target onboard controller of the target vehicle is upgraded according to the target software variant.

2. The method according to claim 1, characterized in that Based on the candidate vehicle model, the software variant to be developed is developed to obtain a candidate software variant, including: Establishing a candidate variant flag for the software variant to be developed, and determining software configuration parameters of the software variant to be developed according to the software configuration requirements of the candidate vehicle model; The software variant to be developed is developed according to the software configuration parameters and the variant flag to obtain a candidate software variant.

3. The method according to claim 2, characterized in that Developing the software variant to be developed according to the software configuration parameters and the variant flag to obtain a candidate software variant includes: Based on the correspondence between the candidate vehicle model and the software variant to be developed, setting a candidate variant flag for the software variant to be developed; The changeable configuration parameters in the software variant to be developed are adjusted to software configuration parameters to obtain a candidate software variant; the changeable configuration parameters are determined by chip performance data of the current vehicle-mounted controller.

4. The method according to claim 3, characterized in that The chip performance data includes supported communication protocols and reserved space size; the changeable configuration parameters include bus baud rate, bus sampling point, vehicle Ethernet address, vehicle Ethernet port, message sending cycle, message number and message type.

5. The method according to claim 3, characterized in that: Determining a target software variant from the candidate software variants according to a target model of a target vehicle includes: Determine a target variant flag from candidate variant flags according to a target model of the target vehicle; According to the target variant flag, a target software variant is determined from the candidate software variants.

6. The method according to claim 1, characterized in that After developing the software variant to be developed to obtain a candidate software variant, the method further includes: Performing software integrity verification and software feasibility verification on the candidate software variant; When both the software integrity check and the software feasibility check are passed, the candidate software variant is stored in a candidate memory space; the candidate memory space is determined by chip performance data of the current on-board controller.

7. A software upgrade device for a vehicle controller, characterized in that: include: A variant determination module, used to determine at least one software variant to be developed and a candidate vehicle model corresponding to the software variant to be developed according to chip performance data of the current vehicle-mounted controller; A variant development module, used for developing the software variant to be developed based on the candidate vehicle model to obtain a candidate software variant; The software update module is used to determine a target software variant from the candidate software variants according to a target model of a target vehicle when a software upgrade instruction is identified, and upgrade the software of a target on-board controller of the target vehicle according to the target software variant.

8. An electronic device, characterized in that: include: one or more processors; A memory for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the software upgrade method of the vehicle controller as described in any one of claims 1-6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the software upgrade method of the vehicle controller as described in any one of claims 1 to 6 is implemented.

10. A computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the computer program implements the software upgrade method of the vehicle controller according to any one of claims 1 to 6.