Vehicle upgrading method, electronic device, vehicle, and computer-readable storage medium
By seamlessly flashing upgrade packages to the node controllers of the system partition and backup partition while the vehicle is in motion, and performing sensor-activated flashing when the vehicle is stationary, the problem of low efficiency in vehicle ECU upgrades is solved, improving OTA upgrade efficiency and ensuring user experience.
Patent Information
- Application Number
- CN202510019674.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-06
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2045-01-06
AI Technical Summary
In the existing technology, some electronic control units (ECUs) in vehicles do not have independent upgrade capabilities, which means that the entire vehicle ECU can only be upgraded via OTA when the vehicle is not in motion, resulting in poor upgrade efficiency.
The upgrade process is divided into seamless and sensitive flashing by performing upgrade packages on node controllers with system partitions and backup partitions while the vehicle is in motion, and sensitive flashing on node controllers without partitions while the vehicle is stopped.
It improves the efficiency of OTA upgrades for the vehicle's ECU, ensuring a better user experience while meeting the needs of both seamless and visible flashing, thus balancing user experience and OEM manufacturing requirements.
Smart Images

Figure CN119946610B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of vehicles, in particular to a vehicle upgrading method, an electronic device, a vehicle, and a computer readable storage medium. BACKGROUND
[0002] With the maturity and mass application of Internet of Vehicles technology, Over-the-Air Technology (OTA) is gradually regarded as one of the functions that vehicle manufacturers must have. In the related art, since a part of Electronic Control Unit (ECU) or external equipment on the vehicle does not have the ability of independent upgrading, the vehicle can only be upgraded by OTA to the ECU of the whole vehicle when the vehicle is not driving, which leads to poor efficiency of vehicle upgrading. SUMMARY
[0003] The main purpose of the embodiments of the present application is to provide a vehicle upgrading method, an electronic device, a vehicle, and a computer readable storage medium, which aims to improve the efficiency of vehicle upgrading by OTA to the ECU of the whole vehicle, so as to ensure the user experience of the vehicle.
[0004] To achieve the above purpose, a first aspect of the embodiments of the present application provides a vehicle upgrading method applied to an electronic device, the electronic device belongs to a vehicle, and the method comprises:
[0005] In response to a vehicle upgrading instruction, a master node controller of the vehicle controls at least one first slave node controller and at least one second slave node controller of the vehicle to transfer an upgrade package; the vehicle upgrading instruction is used to instruct to upgrade the control program in the at least one first slave node controller and the at least one second slave node controller; the first slave node controller is a node controller with system partition and backup partition, and the second slave node controller is a node controller without partition;
[0006] In the case that the vehicle is driving, the backup partition of each first slave node controller is installed with the upgrade package received by the first slave node controller;
[0007] In the case that each second slave node controller is in an idle state, the second slave node controller is installed with the upgrade package received by the second slave node controller; the idle state includes the state of the second slave node controller when the vehicle stops driving;
[0008] In a case that each of the second slave node controllers completes installation of the received upgrade package, switching the partition operated by each of the first slave node controllers from the system partition to a backup partition to complete the upgrade of the vehicle.
[0009] In some embodiments, the at least one first slave node controller includes a target first slave node controller connected with at least one private node controller of the vehicle, the received upgrade package of the target first slave node controller includes a first upgrade package and a second upgrade package, the first upgrade package is used for upgrade of the target first slave node controller, and the second upgrade package is used for upgrade of the at least one private node controller.
[0010] The installing the received upgrade package in the backup partition of each of the first slave node controllers includes:
[0011] installing the first upgrade package in the backup partition of the target first slave node controller and storing the second upgrade package in the backup partition of the target first slave node controller.
[0012] Before the switching, the method further includes:
[0013] In a case that each of the private node controllers is in the idle state, controlling the target first slave node controller to transfer the second upgrade package to the private node controllers.
[0014] installing the second upgrade package in each of the private node controllers.
[0015] In a case that the second upgrade package is stored in the backup partition of the target first slave node controller, the installing the received upgrade package in the second slave node controller in a case that each of the second slave node controllers is in the idle state includes:
[0016] In a case that each of the second slave node controllers is in the idle state and each of the private node controllers is in the idle state, installing the received upgrade package in the second slave node controller and controlling the target first slave node controller to transfer the second upgrade package to the private node controllers, and installing the second upgrade package in each of the private node controllers.
[0017] In some embodiments, after the second upgrade package is stored in the backup partition of the target first slave node controller, the method further includes:
[0018] storing a first original installation package of each of the private node controllers in a backup partition of the target first slave node controller;
[0019] after switching the partition operated by each of the first slave node controllers from the system partition to the backup partition, the method further comprises:
[0020] in response to a vehicle upgrade rollback instruction, controlling the target first slave node controller to deliver the first original installation package to the private node controllers;
[0021] installing the first original installation package in each of the private node controllers.
[0022] In some embodiments, the method further comprises:
[0023] controlling the master node controller to store a second original installation package of each of the second slave node controllers;
[0024] after switching the partition operated by each of the first slave node controllers from the system partition to the backup partition, the method further comprises:
[0025] in response to the vehicle upgrade rollback instruction, controlling the master node controller to deliver the second original installation package to each of the second slave node controllers;
[0026] installing the second original installation package in each of the second slave node controllers.
[0027] In some embodiments, the idle state further comprises a state in which the second node controller stops operating when the vehicle is in driving;
[0028] the installing, in the second slave node controller, the upgrade package received by the second slave node controller comprises:
[0029] obtaining an installation duration of the upgrade package of the second slave node controller;
[0030] based on the installation duration, installing, in the second slave node controller, the upgrade package received by the second slave node controller when the vehicle is in driving.
[0031] In some embodiments, the method further comprises:
[0032] based on historical operation data of the second slave node controller, determining a time segment in which the second slave node controller stops operating when the vehicle is in driving;
[0033] the installing, in the second slave node controller, the upgrade package received by the second slave node controller based on the installation duration when the vehicle is in driving comprises:
[0034] Based on the vehicle's current system time and the time segment, determine the estimated remaining time that the second slave node controller will be in the idle state;
[0035] If the estimated remaining time is greater than or equal to the installation time, the upgrade package received by the second slave node controller is installed in the second slave node controller.
[0036] To achieve the above objectives, a second aspect of this application provides a vehicle upgrade device applied to an electronic device belonging to a vehicle, the device comprising:
[0037] The master node control module is used to control the master node controller of the vehicle to transmit upgrade packages to at least one first slave node controller and at least one second slave node controller of the vehicle in response to a vehicle upgrade command; the vehicle upgrade command is used to instruct the control program in the at least one first slave node controller and the at least one second slave node controller to be upgraded; the first slave node controller is a node controller with system partition and backup partition, and the second slave node controller is a node controller without partition;
[0038] The first slave node control module is used to install the upgrade package received by the first slave node controller in the backup partition of each first slave node controller when the vehicle is in motion.
[0039] The second slave node control module is used for node control modules to install the upgrade package received by the second slave node controller in the second slave node controller when each second slave node controller is in an idle state; the idle state includes the state of the second slave node controller when the vehicle is stopped.
[0040] The upgrade switching module is used to switch the partition on which each of the first slave node controllers runs from the system partition to the backup partition after determining that each of the second slave node controllers has completed the installation of the received upgrade package, so as to complete the upgrade of the vehicle.
[0041] To achieve the above objectives, a third aspect of this application provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the method described in the first aspect.
[0042] To achieve the above object, a fourth aspect of the embodiments of the present application provides a vehicle, wherein the vehicle is configured with an electronic device, the electronic device comprises a memory and a processor, the memory stores a computer program, and the processor implements the method of the first aspect when executing the computer program.
[0043] To achieve the above object, a fifth aspect of the embodiments of the present application provides a computer readable storage medium, wherein the computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the method of the first aspect.
[0044] To achieve the above object, a sixth aspect of the embodiments of the present application provides a computer program product, wherein the computer program product comprises a computer program, and the computer program is executed by a processor to implement the steps of the method provided in the first aspect.
[0045] The vehicle upgrading method, device, electronic device, vehicle, computer readable storage medium and computer program product provided in the present application, by responding to a vehicle upgrading instruction, control the master node controller of the vehicle to respectively transmit an upgrading package to at least one first slave node controller and at least one second slave node controller of the vehicle; wherein the vehicle upgrading instruction is used to instruct to upgrade the control program in the at least one first slave node controller and the at least one second slave node controller; the first slave node controller is a node controller with system partition and backup partition, and the second slave node controller is a node controller without partition. After that, in the case of vehicle driving, the upgrading package received by the first slave node controller is installed in the backup partition of each first slave node controller; and in the case that each second slave node controller is in an idle state, the upgrading package received by the second slave node controller is installed in the second slave node controller; the idle state includes the state of the second slave node controller when the vehicle stops driving. Finally, in the case that it is determined that the at least one second slave node controller completes the installation of the received upgrading package, the partition running by each first slave node controller is switched from the system partition to the backup partition, so as to complete the upgrading of the vehicle.
[0046] This application embodiment directly installs upgrade packages on node controllers with system partitions and backup partitions while the vehicle is in motion, thus achieving seamless upgrade flashing of these ECUs. Then, when the vehicle is stationary, upgrade packages are installed on node controllers without partitions, performing a proactive upgrade flashing of these ECUs. Therefore, compared to proactively flashing the entire vehicle's ECUs via OTA when the vehicle is not in motion, this application embodiment separates seamless and proactive upgrades. Upgrading the software of ECUs supporting seamless flashing is performed while the vehicle is in motion, and upgrading the software of ECUs that do not support seamless flashing is performed when the vehicle is stationary. This improves the efficiency of upgrading the entire vehicle's ECUs via OTA, thereby ensuring a better user experience.
[0047] Furthermore, this application embodiment separates seamless flashing upgrades and sensory flashing upgrades, so that in a single event of upgrading the vehicle ECU via OTA, the master node can perform seamless flashing of some slave nodes and sensory flashing of some slave nodes. This satisfies both the seamless flashing strategy and the upgrade needs of controllers or components that have not been partitioned. Without requiring the original equipment manufacturer (OEM) to process and produce all controllers or components that support partitioning, it can also ensure the user experience of the vehicle when upgrading the vehicle, thereby balancing the needs of user experience and OEM manufacturing. Attached Figure Description
[0048] Figure 1 A flowchart illustrating the steps of the vehicle upgrade method provided in some embodiments of this application;
[0049] Figure 2 This is a schematic diagram of the system framework involved in the vehicle upgrade method provided in the embodiments of this application;
[0050] Figure 3 for Figure 1 A detailed flowchart of step S103;
[0051] Figure 4 for Figure 3 A detailed flowchart of step S302;
[0052] Figure 5 This is a schematic diagram of the vehicle upgrade device provided in the embodiments of this application;
[0053] Figure 6 This is a schematic diagram of the hardware structure of the electronic device provided in the embodiments of this application. DETAILED DESCRIPTION
[0054] In order to make the purposes, technical solutions and advantages of the present application clearer, the present application is further described in detail below in combination with the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and do not limit the present application.
[0055] It should be noted that although the functional modules are divided in the device schematic diagram, and the logical sequence is shown in the flowchart, in some cases, the steps shown or described can be executed in a manner different from the module division in the device or the sequence in the flowchart. The terms "first", "second", etc. in the specification and claims and the above-described drawings are used to distinguish similar objects, and do not necessarily describe a specific order or sequence.
[0056] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present application belongs. The terms used herein are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.
[0057] First, the overall concept of the vehicle upgrading method provided by the embodiments of the present application is described.
[0058] With the maturity and mass application of the Internet of Vehicles technology, the OTA technology is gradually regarded as one of the functions that the vehicle manufacturers must have. Due to the update iteration of the electronic and electrical architecture, the traditional distributed architecture cannot meet the high performance requirements of OTA and other applications. Therefore, in order to optimize the user experience, the central supercomputing architecture has become the mainstream direction of the new energy vehicle architecture, and many car companies also migrate the Master and Slave functions of OTA to more powerful chips based on the operating system (such as 8155 / 8295 / S32G / ORIN, etc.).
[0059] In addition, in order to pursue higher user experience, no-sensing flashing is also the goal pursued by various host manufacturers. The core parts on the vehicle (such as the cockpit system, the intelligent driving system, and the gateway system) all have the opportunity to realize no-sensing flashing. No-sensing flashing refers to performing control program upgrade package flashing when the ECU is running, and then switching when the vehicle is safe. This technology relies on the underlying technology, that is, the AB partition technology. However, if the ECU on the vehicle currently realizes complete support for the AB partition technology, it brings the influence of cost, technology, and historical background, so there will always be a part of internal chips or external devices that cannot support the AB partition technology and do not have standard unified diagnostic (Unified Diagnostic Services, UDS) upgrade capability, so they all need to be upgraded through the master node. Therefore, in the related technology, considering that there are still a part of ECUs or external devices on the vehicle that do not have the ability to upgrade independently, the vehicle can still only be upgraded through OTA when the vehicle is not driving, which leads to poor efficiency of vehicle upgrade.
[0060] Based on this, the embodiments of the present application provide a vehicle upgrade method and device, electronic equipment, vehicle, computer readable storage medium, and computer program product, aiming to improve the efficiency of vehicle upgrade through OTA of the whole vehicle ECU, so as to ensure the user experience of the vehicle.
[0061] The embodiments of the present application control the master node controller of the vehicle to respectively deliver the upgrade package to at least one first slave node controller and at least one second slave node controller of the vehicle in response to the vehicle upgrade instruction. Among them, the vehicle upgrade instruction is used to instruct to upgrade the control program in the at least one first slave node controller and the at least one second slave node controller; the first slave node controller is a node controller with system partition and backup partition, and the second slave node controller is a node controller without partition. After that, in the case that the vehicle is driving, the backup partition of each first slave node controller is installed with the upgrade package received by the first slave node controller; and in the case that each second slave node controller is in an idle state, the second slave node controller is installed with the upgrade package received by the second slave node controller; the idle state includes the state of the second slave node controller when the vehicle stops driving. Finally, in the case that it is determined that the at least one second slave node controller completes the installation of the received upgrade package, the partition running by each first slave node controller is switched from the system partition to the backup partition, so as to complete the upgrade of the vehicle.
[0062] Thus, by controlling the node controllers of the existing system partition and backup partition during the vehicle driving process, the installation of the upgrade package is directly performed, so as to complete the upgrade package no-sensing flash of this part of the ECU, and then the upgrade package installation is performed on the node controllers which are not partitioned when the vehicle stops running, so as to perform the upgrade package sensing flash of this part of the ECU. Thus, compared with the upgrade package sensing flash of the ECU of the whole vehicle through OTA when the vehicle is not driving, the embodiments of the present application divide the no-sensing flash upgrade and the sensing flash upgrade, upgrade the software of the part of the ECU supporting no-sensing flash during the vehicle driving process, and then upgrade the software of the part of the ECU not supporting no-sensing flash when the vehicle stops running, which improves the efficiency of the vehicle upgrading the ECU of the whole vehicle through OTA, thereby ensuring the user experience of the vehicle.
[0063] In addition, the embodiments of the present application divide the no-sensing flash upgrade and the sensing flash upgrade to realize the no-sensing flash of the Master to part of the Slave and the sensing flash of the Master to part of the Slave in the event of upgrading the ECU of the vehicle through OTA once, which can meet the upgrade requirements of the controllers or components which are not partitioned, thereby balancing the user experience and the requirements of OEM processing.
[0064] It should be noted that the vehicle stopping running mentioned in the embodiments of the present application can be the state of the vehicle being parked and not driving, and the maintenance time of the state is at least greater than or equal to the time required for upgrading the part of the ECU not supporting no-sensing flash.
[0065] Next, the vehicle upgrading method, device, electronic equipment and storage medium provided by the embodiments of the present application are specifically described through the following embodiments, and first, the vehicle upgrading method provided by the embodiments of the present application is described in detail.
[0066] It should be noted that the vehicle upgrading method provided in the embodiments of the present application relates to the technical field of vehicles. The vehicle upgrading method provided in the embodiments of the present application can be applied to a terminal, can be applied to a server end, and can also be software running in the terminal or the server end. In some embodiments, the terminal can be a vehicle-mounted terminal on a vehicle, or can be an electronic device such as a smartphone, a tablet computer, a notebook computer, a desktop computer, etc. associated with the vehicle, and the association between the terminal and the vehicle means that the terminal can communicate and interact with the vehicle based on a network. The server end can be a background server terminal device of the vehicle, can be configured as a stand-alone physical server, can be configured as a server cluster or a distributed system formed by multiple physical servers, or can be configured as a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content distribution networks (CDN), and big data and artificial intelligence platforms. The software can be an application, a computer program, and a storage medium carrying the computer program, etc. that implement the vehicle upgrading method. It should be understood that, based on different design needs of actual applications, in different feasible embodiments, the terminal, the server end, and the software, etc. applying the vehicle upgrading method provided in the embodiments of the present application can of course also be other forms not listed here, and the vehicle upgrading method provided in the embodiments of the present application does not specifically limit this.
[0067] In addition, the present application can be used in a variety of general-purpose or special-purpose computer system environments or configurations. For example: vehicles, personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, personal computers (PCs), minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, and the like. The present application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. The present application can also be practiced in a distributed computing environment, in which tasks are performed by remote processing devices connected by a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media, including storage devices.
[0068] For the sake of understanding and description, the vehicle upgrading method provided by the embodiments of the present application will be taken as an example in the following to illustrate the specific embodiments of the present application. The implementation of the vehicle upgrading method provided by the embodiments of the present application in any form of subject can be referred to the process of the vehicle upgrading method applied to the electronic device described below.
[0069] It should be noted that in each specific embodiment of the present application, when it is necessary to process relevant data related to the identity or characteristics of the user according to user information, user behavior data, user historical data, and user location information, the user's permission or consent will be obtained first, and the collection, use, and processing of these data will comply with relevant laws, regulations, and standards. In addition, when the embodiments of the present application need to obtain sensitive personal information of the user, the separate permission or separate consent of the user will be obtained through a pop-up window or a jump to a confirmation page, and after obtaining the separate permission or separate consent of the user, the necessary user-related data for the normal operation of the embodiments of the present application will be obtained.
[0070] Please refer to Figure 1 , Figure 1 The step flowchart of the vehicle upgrading method provided by the embodiments of the present application in some embodiments is shown in the following. It should be understood that although Figure 1 and the subsequent other step flowcharts show the execution order of some method steps, the vehicle upgrading method provided by the embodiments of the present application can of course adopt an execution order of method steps different from that shown in the figure based on different design needs of actual applications. That is, Figure 1 The order of the method steps shown in the figure does not constitute a limitation on the execution logic order of the vehicle upgrading method provided by the embodiments of the present application, and any reasonable change based on Figure 1 the order of the method steps shown in the figure should be included in the protection scope of the vehicle upgrading method provided by the embodiments of the present application.
[0071] As shown in Figure 1 , in some embodiments, the vehicle applying the vehicle upgrading method provided by the embodiments of the present application can include steps S101 to S104.
[0072] Step S101, in response to a vehicle upgrading instruction, a master node controller of the vehicle controls at least one first slave node controller and at least one second slave node controller of the vehicle to pass an upgrade package respectively; the first slave node controller is a node controller with system partition and backup partition, and the second slave node controller is a node controller without partition.
[0073] It should be noted that the vehicle upgrade instruction is used to instruct to upgrade the control program in the at least one first slave node controller and the at least one second slave node controller. After the electronic device receives the data for upgrading the ECU on the vehicle through the OTA technology, the vehicle upgrade instruction is generated to instruct to upgrade the control program in the at least one first slave node controller and the at least one second slave node controller on the vehicle. Herein, the first slave node controller refers to the node controller with system partition and backup partition (supporting AB partition technology) on the vehicle, and the second slave node controller refers to the node controller without partition (not supporting AB partition technology).
[0074] When the electronic device upgrades the ECU on the vehicle based on the OTA technology, the master node controller of the vehicle is controlled by the electronic device to deliver the upgrade package to the first slave node controller of the vehicle in response to the vehicle upgrade instruction. Herein, the upgrade package delivered by the master node controller to the first slave node controller is the upgrade package for upgrading the control program in the first slave node controller, which is received by the electronic device from the data for upgrading. In addition, the master node controller of the vehicle is also controlled by the electronic device to deliver the upgrade package to the second slave node controller of the vehicle in response to the vehicle upgrade instruction. Herein, the upgrade package delivered by the master node controller to the second slave node controller is the upgrade package for upgrading the control program in the second slave node controller, which is received by the electronic device from the data for upgrading.
[0075] In step S102, when the vehicle is running, the backup partition of each first slave node controller is installed with the upgrade package received by the first slave node controller.
[0076] After the electronic device controls the master node controller to deliver the upgrade package to the first slave node controller, since the first slave node controller has system partition and backup partition, the electronic device can control each first slave node controller to install the upgrade package received from the master node controller in the backup partition of each first slave node controller when the vehicle is running.
[0077] In step S103, when each second slave node controller is in an idle state, the upgrade package received by the second slave node controller is installed in the second slave node controller; the idle state includes the state of the second slave node controller when the vehicle stops running.
[0078] After the electronic device controls the master node controller to deliver the upgrade package to the second slave node controller, since the second slave node controller is not partitioned, the electronic device can control each second slave node controller to install the upgrade package received from the master node controller locally when the vehicle stops running to ensure that the second slave node controller is in an idle state.
[0079] In some embodiments, the electronic device can confirm whether each second slave node controller is in an idle state by collecting state information of each second slave node controller when the vehicle is in a stopped driving state. Thus, when it is confirmed that one or more target second slave node controllers among the second slave node controllers are in an idle state, the target second slave node controller is controlled to locally install the upgrade package received from the master node controller.
[0080] In some embodiments, the electronic device can also control each second slave node controller to enter an idle state by issuing an instruction to each second slave node controller when the vehicle is in a stopped driving state, and then control each second slave node controller to locally install the upgrade package received from the master node controller.
[0081] Step S104, in a case where it is determined that each second slave node controller completes installation of the received upgrade package, switching the partition in which each first slave node controller runs from the system partition to the backup partition to complete the upgrade of the vehicle.
[0082] During the process of controlling each second slave node controller to install the upgrade package, the electronic device continuously collects the state of installation of the upgrade package by each second slave node controller. In this way, when the electronic device indicates, based on the collected state of installation of the upgrade package by each second slave node controller, that each second slave node controller has completed installation of the received upgrade package, the electronic device can control each first node controller to switch the partition in which each first node controller runs from the system partition before installation of the upgrade package to the backup partition after installation of the upgrade package when the vehicle is started and run again subsequently, thereby completing the upgrade of the ECU of the vehicle by the OTA technology.
[0083] It should be noted that since installation of the upgrade package in the backup partition by each first node controller can be completed before installation of the upgrade package in the idle state by each second slave node controller, the electronic device can default that each first node controller has completed installation of the received upgrade package in the backup partition when it is confirmed that each second slave node controller completes installation of the received upgrade package.
[0084] In some embodiments, the electronic device can also continuously collect the status of the installation of the upgrade package by each first slave node controller during the process of controlling the installation of the upgrade package by each first slave node controller, so as to represent that each first slave node controller has completed the installation of the received upgrade package based on the collected status of the installation of the upgrade package by each first slave node controller, and control each first node controller to switch the partition where the control program running on each first node controller is located from the system partition to the backup partition based on the condition that each second slave node controller has completed the installation of the received upgrade package based on the collected status of the installation of the upgrade package by each second slave node controller.
[0085] In some embodiments, the electronic device can also continuously collect the status of the installation of the upgrade package by each first slave node controller during the process of controlling the installation of the upgrade package by each first slave node controller, so as to represent that each first slave node controller has completed the installation of the received upgrade package based on the collected status of the installation of the upgrade package by each first slave node controller, and control each first node controller to switch the partition where the control program running on each first node controller is located from the system partition to the backup partition based on the condition that each second slave node controller has completed the installation of the received upgrade package based on the collected status of the installation of the upgrade package by each second slave node controller.
[0086] In some embodiments, when the electronic device controls the master node controller to deliver the upgrade package to each first slave node controller for installation in the backup partition of each first slave node controller during the driving of the vehicle, the electronic device can first check the programming condition of the OTA domain object (Session) of the first slave node controller supporting the upgrade package non-inductive writing using the routine ID:0254 (non-distributed) instruction during the driving of the vehicle, and then the electronic device initiates a physical addressing request for the OTA domain object. After that, the electronic device confirms the session mode of each first slave node controller using the DID:22F186 (non-distributed) instruction, and then uses the 01 / 02 (non-distributed) instruction containing PINCode decryption to unlock the service of each first slave node controller. After that, the electronic device requests the distributed first slave node controller to start installation, and periodically acquires the installation status of each first slave node controller at a preset period (such as 1 minute). Based on the read installation status, the electronic device reads the breakpoint position of each first slave node controller based on the DID:22D103 instruction, and controls each first slave node controller to erase from the breakpoint position using the RID:FF00 instruction. Then, the electronic device controls the master node controller to send the upgrade package to each first slave node controller, so that each first slave node controller writes the upgrade package from the breakpoint position in the backup partition to install the upgrade package. Finally, the electronic device also uses the RID:0212 instruction to perform signature verification of each first slave node controller, and uses the RID:0205 instruction to perform data integrity and compatibility verification of each first slave node controller.
[0087] In the embodiment of the present application, when the electronic device upgrades the ECUs on the vehicle based on the OTA technology, the electronic device controls the master node controller of the vehicle to deliver the upgrade package to the first slave node controller of the vehicle in response to the vehicle upgrade instruction. Then, since the first slave node controller has a system partition and a backup partition, the electronic device can control each of the first slave node controllers to install the upgrade package received from the master node controller in the backup partition while the vehicle is running. Since the second slave node controller is not partitioned, the electronic device can control each of the second slave node controllers to locally install the upgrade package received from the master node controller while the vehicle is stopped to ensure that the second slave node controller is in an idle state. Finally, the electronic device can control each of the first node controllers to switch the partition in which the control program is running from the system partition before the upgrade package is installed to the backup partition after the upgrade package is installed to complete the upgrade of the ECUs of the vehicle through the OTA technology when the vehicle is started again.
[0088] Thus, the embodiment of the present application completes the upgrade of the part of the ECUs through the installation of the upgrade package without sensing the writing while the vehicle is running, and then completes the upgrade of the part of the ECUs through the installation of the upgrade package with sensing the writing while the vehicle is stopped. In this way, compared with the traditional vehicle upgrade scheme that upgrades the ECUs of the vehicle through the OTA with sensing the writing while the vehicle is stopped regardless of whether the ECUs support partitioning, the embodiment of the present application divides the upgrade without sensing the writing and the upgrade with sensing the writing, upgrades the software of the part of the ECUs that supports the upgrade without sensing the writing while the vehicle is running, and then upgrades the software of the part of the ECUs that does not support the upgrade without sensing the writing while the vehicle is stopped, thereby improving the efficiency of the upgrade of the ECUs of the vehicle through the OTA and ensuring the user experience of the vehicle.
[0089] In addition, the embodiment of the present application divides the upgrade without sensing the writing and the upgrade with sensing the writing, and can implement the upgrade without sensing the writing of the master node to the part of the slave nodes and the upgrade with sensing the writing of the master node to the part of the slave nodes in one event of the upgrade of the ECUs of the vehicle through the OTA. That is, the embodiment of the present application can meet the strategy of the upgrade without sensing the writing and the upgrade requirement of the controller or component that is not partitioned in one event of the vehicle upgrade, thereby balancing the user experience and the requirement of OEM processing.
[0090] In the case that the vehicle further comprises a private node controller which is not partitioned and does not have independent upgrade capability, the electronic device can first store the upgrade package of the private node controller in the backup partition through the slave node controller (supporting AB partition technology) connected with the private node controller, and then perform the sensitive flash of the upgrade package of the private node controller by the slave node controller in the case that the private node controller is in an idle state.
[0091] It should be noted that the private node controller of the vehicle can be an electronic element controller unit in the external equipment of the vehicle. Such a controller usually does not support AB partition and does not have standard UDS upgrade capability, and needs to upgrade the control program by means of the slave node controller connected therewith. In addition, the private node controller of the vehicle can also be connected with the master node controller, so as to upgrade by means of the master node controller. In the embodiment of the application, the electronic device controls the master node controller to perform the sensitive flash of the upgrade package of the private node controller, which is consistent with the principle of controlling the slave node controller to perform the sensitive flash of the upgrade package of the private node controller. Herein, only the part of the slave node controller performing the sensitive flash of the upgrade package of the private node controller is described.
[0092] Please refer to Figure 2 , Figure 2 The system framework schematic diagram involved in the vehicle upgrade method provided in the embodiment of the application.
[0093] As shown in Figure 2 , any master node controller OTA Master of the vehicle can be connected with at least one first slave node controller OTA Slave1 to OTA Slave3, and connected with at least one second slave node controller OTA Slave4. The Storage in the master node controller OTA Master can store the upgrade package for delivering to the first slave node controller OTA Slave1 to OTA Slave3 and the second slave node controller OTA Slave4, and can also store the original installation package (second original installation package) of the second slave node controller OTA Slave4.
[0094] In addition, each of the first slave node controllers OTA Slave1 to 3 has a system partition A and a backup partition B, and the system partition A and the backup partition B can each include Storage. At least one of the first slave node controllers OTA Slave1 to 3 includes at least one target first slave node controller OTA Slave3. The target first slave node controller OTA Slave3 is connected to at least one private node controller (private node 1 to 3) of the vehicle. In addition, the target first slave node controller OTA Slave3 itself can also include a private node controller (private node 4) of the vehicle. The Storage of the backup partition B of the target first slave node controller OTA Slave3 can store an upgrade package for delivery to the private node controllers (private node 1 to 4), and can also store an original installation package (first original installation package) of the private node controllers (private node 1 to 4).
[0095] In some embodiments, when the electronic device controls the master node controller to deliver the upgrade package to the first slave node controllers in response to the vehicle upgrade instruction, the target first slave node controller in each of the first slave node controllers receives the upgrade package, which includes a first upgrade package and a second upgrade package. The first upgrade package is used to upgrade the control program of the target first slave node controller itself, and the second upgrade package is used to upgrade the control program of at least one private node controller.
[0096] Based on this, the above step S102, installing the upgrade package received by the first slave node controller in the backup partition of the first slave node controller, can include the following steps:
[0097] installing the first upgrade package in the backup partition of the target first slave node controller, and storing the second upgrade package in the backup partition of the target first slave node controller.
[0098] When the electronic device controls each of the first slave node controllers to install the upgrade package received by the master node controller in the backup partition during the driving of the vehicle, for a target first slave node controller connected to a private node controller of the vehicle among the first slave node controllers, the electronic device controls the target first slave node controller to install the first upgrade package received by itself in the backup partition of the target first slave node controller, and to store a second upgrade package for upgrading the private node controller in the backup partition.
[0099] As Figure 2As shown, after the electronic device controls the target first slave node controller OTASlave3 to install the first upgrade package in the backup partition B and store each second upgrade package in the storage in the backup partition B for subsequent transmission to the private node controllers (private nodes 1 to 4) for installation when the private node controllers are idle, the electronic device controls the target first slave node controller OTASlave3 to install the first upgrade package in the backup partition B and store each second upgrade package in the storage in the backup partition B for subsequent transmission to the private node controllers (private nodes 1 to 4) for installation when the private node controllers are idle.
[0100] In some embodiments, before switching the partition running on each first slave node controller from the system partition to the backup partition in step S104 described above, the electronic device can further include the following steps:
[0101] In the case where each private node controller is in the idle state, the electronic device controls the target first slave node controller to transmit the second upgrade package to the private node controller.
[0102] In each private node controller, the electronic device installs the second upgrade package.
[0103] It should be noted that in the case where the second slave node controller is in the idle state when the vehicle is stopped, the private node controllers of the vehicle are usually also in the idle state.
[0104] In the case where the electronic device controls the master node controller to transmit the upgrade package to the first slave node controller, and the target first slave node controller among the first slave node controllers installs the first upgrade package in the received upgrade package in the backup partition and stores the second upgrade package in the received upgrade package in the backup partition, since the private node controllers are also not partitioned, the electronic device can control the target first slave node controller to transmit the second upgrade package stored in the backup partition to the private node controllers, and control each private node controller to locally install the received second upgrade package, when the vehicle is stopped to ensure that the private node controllers are in the idle state as the second slave node controllers.
[0105] After the electronic device confirms that each first slave node controller has completed installation of the received upgrade package, and each second slave node controller and each private node controller has completed installation of the received upgrade package, the electronic device controls each first node controller to switch the partition where the control program running on each first node controller is located from the system partition to the backup partition, when the vehicle is driving again to ensure the safety of the vehicle.
[0106] In the embodiment, in the case that the vehicle exists the private node controller, the electronic device controls the target first slave node controller connected with the private node controller during the vehicle driving, on one hand, installs the first upgrade package for upgrading the control program of the electronic device in the backup partition, on the other hand, stores the second upgrade package for upgrading the control program in the private node controller in the backup partition, and then controls the target first slave node controller to deliver the second upgrade package to the private node controller for installation in the case that the private node controller is in the idle state.
[0107] In this way, the second upgrade package is stored in the storage medium of the backup partition during the process of the first upgrade package in the vehicle driving, and then the second upgrade package is controlled to be written to the private node controller in the case that the vehicle stops driving and the private node controller is idle, so that the no-sense writing of the master node to the part of the slave nodes and the sense writing of the master node to the part of the slave nodes are realized in the event of upgrading the vehicle ECU through OTA once, which can meet the no-sense writing strategy and the upgrading demand of the controller or component without partitioning, so as to balance the user experience and the demand of OEM processing.
[0108] In the case that the target first slave node controller installs the first upgrade package in the received upgrade package in the backup partition and stores the second upgrade package in the received upgrade package in the backup partition, the electronic device can also control the second slave node controller to install the received upgrade package, and control the target first slave node controller to deliver the second upgrade package to the private node controller for installation in parallel.
[0109] In some embodiments, in the case that the target first slave node controller stores the second upgrade package in the backup partition, the above step S103, in the case that each of the second slave node controllers is in the idle state, installs the upgrade package received by the second slave node controller in the second slave node controller, can include the following steps:
[0110] In the case that each of the second slave node controllers is in the idle state and each of the private node controllers is in the idle state, the second slave node controller installs the upgrade package received by the second slave node controller in the second slave node controller, and controls the target first slave node controller to deliver the second upgrade package to the private node controller, and installs the second upgrade package in each of the private node controllers.
[0111] In the case that the electronic device controls the master node controller to deliver the upgrade package to the first slave node controller, and a target first slave node controller among the first slave node controllers installs a first upgrade package among the received upgrade packages in the backup partition and stores a second upgrade package among the received upgrade packages in the backup partition, since the electronic device also controls the master node controller to deliver the upgrade package to the second slave node controller in response to the vehicle upgrade instruction, the electronic device can control each second slave node controller to locally install the upgrade package received from the master node controller, and at the same time, control the target first slave node controller to deliver the second upgrade package stored in the backup partition to the private node controller, and control each private node controller to locally install the received second upgrade package, in the case that the vehicle is parked and the second slave node controller and the private node controller are in an idle state.
[0112] In some embodiments, when the electronic device controls the second slave node controller and the private node controller to install the upgrade package in the idle state, the electronic device can specifically first request a non-distributed ECU AB partition switching condition check, and request a non-distributed target ECU (A / B partition) to send a switching instruction. Then, the electronic device checks the programming condition of the programming session of the target ECU (the second slave node controller) supporting inductive flashing, and requests the target ECU to enter the programming session through functional addressing (send 16 frames, one frame every second). After that, the electronic device confirms the session mode of all target ECUs supporting inductive flashing, completes unlocking all inductive flashing target decryption through ECU 2701 / 02 instructions containing a decrypted PINCODE, and completes installation and activation of all inductive flashing target ECUs through SBL (34 / 36 / 37 / 0212 / 0301) (Optional) instructions. Then, the electronic device transmits the upgrade package to the inductive flashing target ECU for upgrading through FF00 / 34 / 36 / 37 / 0212 / 0205 instructions in parallel, and upgrades the private node controller through RID 3101 0294 01 instructions in parallel for inductive flashing of the upgrade package (the second upgrade package) of the private node controller. In addition, the electronic device periodically acquires the upgrade state of each private node controller according to a preset period (such as 5 seconds), so that in the case that the private node controller is confirmed to complete installation of the upgrade package based on the upgrade state, the vehicle ECU is restarted to complete vehicle upgrade when the vehicle is ensured to be safe.
[0113] In the embodiment, in the case that the target first slave node controller installs the first upgrade package in the received upgrade packages in the backup partition and stores the second upgrade package in the received upgrade packages in the backup partition, the electronic device can also control the target first slave node controller to deliver the second upgrade package to the private node controller for installation when controlling the second slave node controller to install the received upgrade package.
[0114] That is, the embodiment can perform parallel upgrade package flashing of the second slave node controller not supporting the AB partition technology and the private node controller not supporting the AB partition technology when upgrading the vehicle once. In this way, compared with the traditional vehicle upgrade method of sequentially performing upgrade package inductive flashing of the first slave node controller supporting the AB partition technology, the second slave node controller not supporting the AB partition technology, and the private node controller when the vehicle stops running, the embodiment performs upgrade package non-inductive flashing of the first slave node controller during vehicle running, and performs parallel upgrade package flashing of the second slave node controller and the private node controller when the vehicle stops running, which can greatly improve the efficiency of vehicle upgrade and thus improve the user experience.
[0115] In view of the possibility of vehicle upgrade failure, the electronic device can also control the target first slave node controller connected with the private node to store the first original installation package of the private node controller in the backup partition, so as to control the target first slave node controller to deliver the first original installation package to the private node for rollback flashing in the case of upgrade failure.
[0116] Based on this, in some embodiments, after the foregoing storing of the second upgrade package in the backup partition of the target first slave node controller, the vehicle upgrade method provided by the embodiment can further include the following steps:
[0117] Storing the first original installation package of each private node controller in the backup partition of the target first slave node controller.
[0118] When the electronic device controls the target first slave node controller to install the first upgrade package in the backup partition and store the second upgrade package in the backup partition during vehicle running, the electronic device also controls the target first slave node controller to obtain the first original installation package of at least one private node controller connected thereto and store the obtained first original installation package in the backup partition.
[0119] Based on this, after the foregoing step S104 of switching the partition run by each first slave node controller from the system partition to the backup partition, the vehicle upgrade method provided by the embodiment can further include the following steps:
[0120] In response to the vehicle upgrade rollback instruction, the target first slave node controller is controlled to deliver the first original installation package to the private node controller.
[0121] The first original installation package is installed in each private node controller.
[0122] The electronic device generates a vehicle upgrade rollback instruction in the case of detecting a vehicle upgrade failure, and in response to the vehicle upgrade rollback instruction, the electronic device controls the target first slave node controller to deliver the first original installation package stored in the backup partition to the private node controller in the case that the private node controller is in an idle state, and controls each private node controller to locally reinstall the first original installation package of itself respectively.
[0123] In some embodiments, the vehicle upgrade method provided by the embodiments of the present application can further include the following steps:
[0124] The master node controller is controlled to store the second original installation package of each second slave node controller.
[0125] The electronic device can control the master node controller to obtain the second original installation package of each second slave node controller when the master node controller is controlled to deliver the upgrade package to each second slave node controller in response to the vehicle upgrade instruction, and then store the second original installation package in the backup partition of the electronic device.
[0126] Based on this, after the partition operated by each first slave node controller is switched from the system partition to the backup partition in the step S104, the vehicle upgrade method provided by the embodiments of the present application can further include the following steps:
[0127] In response to the vehicle upgrade rollback instruction, the master node controller is controlled to deliver the second original installation package to each second slave node controller.
[0128] The second original installation package is installed in each second slave node controller.
[0129] The electronic device controls the master node controller to deliver the second original installation package stored in the backup partition to the second slave node controller in the case that the second slave node controller is in an idle state in response to the vehicle upgrade rollback instruction generated in the case of a vehicle upgrade failure, and controls each second slave node controller to locally reinstall the second original installation package of itself respectively.
[0130] In some embodiments, when the electronic device controls the second slave node controller and the private node controller to install the original installation package in the idle state, it can specifically request a non-distributed ECU AB partition switching condition check first, and request the non-distributed target ECU (A / B partition) to send a switching instruction. Then, the programming condition of the programming session of the target ECU (second slave node controller) supporting inductive flashing is checked, and the target ECU is requested to enter the programming session through functional addressing (16 frames are sent, one frame every second). After that, the electronic device confirms the session mode of all target ECUs supporting inductive flashing, completes the unlocking of all inductive flashing target ECUs through the ECU 2701 / 02 instruction containing the decrypted PINCODE, and completes the installation and activation of all inductive flashing target ECUs through the SBL (34 / 36 / 37 / 0212 / 0301) (Optional) instruction. Then, the electronic device transmits the original VBF package (second original installation package) to the inductive flashing target ECU for installation through the FF00 / 34 / 36 / 37 / 0212 / 0205 instruction in parallel, and upgrades the private node controller through the RID 3101 0294 01 instruction in parallel to perform inductive flashing of the first original installation package of the private node controller. In addition, the electronic device can still periodically obtain the upgrade state of each private node controller at a preset period (such as 5 seconds), and report the installation progress to the OTA server (target first slave node controller) and the HMI (assignmentStatus: ROLLBACK-SENSIBLE-). Then, the vehicle is restarted to complete vehicle upgrade when it is ensured that the vehicle is safe.
[0131] In the present embodiment, the target first slave node controller connected with the private node control stores the first original installation package of the private node controller in the backup partition, so as to control the target first slave node controller to deliver the first original installation package to the private node for rollback flashing in the case of upgrade failure. In addition, the master node controller obtains the second original installation package of each second slave node controller, and then stores the second original installation package in the backup partition of itself, so as to control the master node controller to deliver the second original installation package to the second slave node for rollback flashing in the case of upgrade failure. In this way, the rollback flashing of the ECU and the private node of the vehicle which does not support the AB partition technology can be completed at one time of OTA upgrade of the vehicle, so as to improve the safety and reliability of the OTA process.
[0132] The electronic device can also control the second slave node controller and / or the private node controller to install the upgrade package received from the master node controller locally during the driving of the vehicle. Since the principle of the second slave node controller and the private node controller to install the upgrade package in the idle state is the same, only the control of the second slave node controller to install the upgrade package locally is described here.
[0133] It should be noted that the idle state of the second slave node controller described above can include a state in which the second node controller is not called and thus stops running during the driving of the vehicle in addition to the state when the vehicle stops running.
[0134] Please refer to Figure 3 , Figure 3 for Figure 1 the detailed step flowchart of step S103.
[0135] As Figure 3 shown, in some embodiments, the step S103 of installing the upgrade package received by the second slave node controller in the second slave node controller can include steps S301-S302 as shown below.
[0136] Step S301: Obtain the installation duration of the upgrade package of the second slave node controller.
[0137] After the electronic device controls the master node controller to deliver the upgrade package to the second slave node controller in response to the vehicle upgrade instruction, the electronic device can first obtain the installation duration of the upgrade package for upgrading the control program in the second slave node controller.
[0138] In some embodiments, the electronic device can obtain the data amount of the upgrade package of the second slave node controller, and then calculate the installation duration of the upgrade package based on the data amount and the data installation speed of the second slave node controller.
[0139] In other embodiments, the electronic device can also obtain the duration of the second slave node controller on other vehicles to install the upgrade package through a cloud server, and then take the duration as the installation duration of the upgrade package of the second slave node controller on the current vehicle.
[0140] Step S302: Based on the installation duration, install the upgrade package received by the second slave node controller in the second slave node controller during the driving of the vehicle.
[0141] The electronic device compares the installation time length of the upgrade package of the second slave node controller with a time length during which the second slave node controller is in an idle state during driving of the vehicle, and controls the second slave node controller to locally install the upgrade package received from the master node controller in a case where the installation time length is less than or equal to the time length during which the second slave node controller is in the idle state during driving of the vehicle.
[0142] In some embodiments, the vehicle upgrade method provided by the embodiments of the present application can further include the following steps.
[0143] Based on the historical operation data of the second slave node controller, a time segment during which the second slave node controller stops operation during driving of the vehicle is determined.
[0144] The electronic device collects historical operation data of the second slave node controller on the vehicle, and determines a time segment during which the second slave node controller is in a stop operation state during driving of the vehicle based on the historical operation data.
[0145] It should be noted that during driving of the vehicle, there can be some controllers in the ECU of the vehicle that are not called, for example, if the user does not control the vehicle window (especially the rear window of the vehicle) during driving of the vehicle, the controller for controlling the vehicle window can be determined as a controller in an idle state during driving of the vehicle.
[0146] Please refer to Figure 4 , Figure 4 To Figure 3 the detailed step flowchart of step S302.
[0147] As Figure 4 shown, in some embodiments, step S302 described above, based on the installation time length, installs the upgrade package received by the second slave node controller in the second slave node controller in a case where the vehicle is driving, can include the following steps S401 to S402.
[0148] Step S401, based on the current system time of the vehicle and the time segment, determines an estimated remaining time length during which the second slave node controller is in the idle state.
[0149] In a case where the electronic device obtains one or more time segments during which the second slave node controller is in an idle state, the electronic device first detects whether the current system time of the vehicle is within the certain time segment, and in a case where it is determined that the system time is within the time segment, calculates an estimated remaining time length during which the second slave node controller continues to be in an idle state from the current time during driving of the vehicle.
[0150] In step S402, in a case where the estimated remaining duration is greater than or equal to the installation duration, the second slave node controller installs the upgrade package received by the second slave node controller.
[0151] After determining the estimated remaining duration in which the second slave node controller remains in the idle state during the driving of the vehicle, the electronic device compares the installation duration of the upgrade package of the second slave node controller obtained by the electronic device with the estimated remaining duration, so as to control the master node controller to re-deliver the upgrade package to the second slave node controller during the driving of the vehicle in a case where the estimated remaining duration is greater than or equal to the installation duration, so as to install the received upgrade package in the second slave node controller.
[0152] In the embodiment, the time period in which the second slave node controller which does not support the AB partition technology is not run during the driving of the vehicle is determined based on the user's driving habits, so as to determine whether it is safe to install the upgrade package in the second slave node controller during the driving of the vehicle based on the installation duration required for the upgrade package installation of the second slave node controller and the duration in which the second slave node controller continues to remain idle, and control the second slave node controller to install the upgrade package in a case where it is determined to be safe (the installation duration is less than or equal to the duration in which the second slave node controller continues to remain idle). In this way, the upgrade package can be unobtrusively written in the ECU which does not support the AB partition technology in the vehicle during the driving of the vehicle, so as to further improve the vehicle upgrade efficiency and user experience.
[0153] Please refer to Figure 5 The embodiment of the application further provides a vehicle upgrade device which can implement the vehicle upgrade method and is applied to an electronic device belonging to a vehicle, and the device comprises a master node control module 501, a first slave node control module 502, a second slave node control module 503, and an upgrade switching module 504. The master node control module 501 is configured to control a master node controller of the vehicle to deliver an upgrade package to at least one first slave node controller and at least one second slave node controller of the vehicle in response to a vehicle upgrade instruction.
[0154] The master node control module 501 is configured to control a master node controller of the vehicle to deliver an upgrade package to at least one first slave node controller and at least one second slave node controller of the vehicle in response to a vehicle upgrade instruction; the vehicle upgrade instruction is used to instruct to upgrade control programs in the at least one first slave node controller and the at least one second slave node controller; the first slave node controller is a node controller with system partition and backup partition, and the second slave node controller is a node controller without partition;
[0155] The first slave node control module 502 is configured to install, in a backup partition of each first slave node controller, an upgrade package received by the first slave node controller when the vehicle is running.
[0156] The second slave node control module 503 is configured to install, in each second slave node controller, an upgrade package received by the second slave node controller when the second slave node controller is in an idle state.
[0157] The upgrade switching module 504 is configured to switch a partition run by each first slave node controller from the system partition to the backup partition to complete the upgrade of the vehicle when it is determined that each second slave node controller completes the installation of the received upgrade package.
[0158] The specific implementation of the vehicle upgrade device provided by the embodiments of the present application is basically the same as the specific implementation of the vehicle upgrade method described above, and thus will not be repeated here.
[0159] The embodiments of the present application further provide an electronic device including a memory and a processor. The memory stores a computer program, and the processor implements the vehicle upgrade method described above when executing the computer program. The electronic device can be any intelligent terminal including a tablet computer, a vehicle-mounted computer, etc.
[0160] Please refer to Figure 6 , Figure 6 The hardware structure of the electronic device of another embodiment is illustrated, which includes:
[0161] The processor 601 can be implemented in a general-purpose CPU (Central Processing Unit), a microprocessor, an ASIC (Application Specific Integrated Circuit), or one or more integrated circuits, etc., and is configured to execute related programs to implement the technical solutions provided by the embodiments of the present application.
[0162] The memory 602 can be implemented in the form of a ROM (ReadOnly Memory), a static storage device, a dynamic storage device, or a RAM (Random Access Memory), etc. The memory 602 can store an operating system and other application programs. When the technical solutions provided by the embodiments of the present application are implemented by software or firmware, the related program codes are stored in the memory 602 and are called and executed by the processor 601 to implement the vehicle upgrade method of the embodiments of the present application.
[0163] The input / output interface 603 is configured to realize information input and output.
[0164] The communication interface 604 is configured to realize communication interaction between the device and other devices, and the communication can be realized through wired mode (for example, USB, network cable and the like) or wireless mode (for example, mobile network, WIFI, Bluetooth and the like).
[0165] The bus 1105 is configured to transmit information between various components (for example, the processor 601, the memory 602, the input / output interface 603 and the communication interface 604) of the device.
[0166] The processor 601, the memory 602, the input / output interface 603 and the communication interface 604 are connected to each other through the bus 1105 to realize communication connection between the device.
[0167] The embodiment of the present application further provides a vehicle, and the vehicle is configured with an electronic device, and the electronic device comprises a memory and a processor, the memory stores a computer program, and the processor realizes the vehicle upgrading method when executing the computer program.
[0168] The embodiment of the present application further provides a computer readable storage medium, and the computer readable storage medium stores a computer program, and the computer program is executed by the processor to realize the vehicle upgrading method.
[0169] The memory is a non-transient computer readable storage medium, and can be used to store a non-transient software program and a non-transient computer executable program. In addition, the memory can comprise a high-speed random access memory, and can further comprise a non-transient memory, for example, at least one magnetic disk storage device, a flash memory device or other non-transient solid-state memory device. In some embodiments, the memory can optionally comprise a memory remotely arranged relative to the processor, and the remote memory can be connected to the processor through a network. Examples of the network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network and a combination thereof.
[0170] The embodiment of the present application further provides a computer program product comprising a computer program, and the computer program is executed by the processor to realize steps substantially the same as the specific embodiments of the vehicle upgrading method, and details are not described herein.
[0171] The vehicle upgrading method, vehicle upgrading device, electronic device, vehicle, computer readable storage medium and computer program product provided by the embodiments of the present application directly install the upgrading package on the node controller with system partitions and backup partitions during vehicle driving, thereby completing the no-sense writing of the upgrading package for the ECUs, and then installing the upgrading package on the node controller without partitions when the vehicle stops running, to perform the sense writing of the upgrading package for the ECUs. In this way, compared with the sense writing of the upgrading package for the ECUs of the whole vehicle through OTA when the vehicle is not driving, the embodiments of the present application divide the no-sense writing and the sense writing, upgrade the software of the part of ECUs supporting no-sense writing during vehicle driving, and then upgrade the software of the part of ECUs not supporting no-sense writing when the vehicle stops running, thereby improving the efficiency of upgrading the ECUs of the whole vehicle through OTA, and ensuring the user experience of the vehicle.
[0172] In addition, the embodiments of the present application divide the no-sense writing and the sense writing, to realize the no-sense writing of the Master to part of the Slaves and the sense writing of the Master to part of the Slaves in the event of upgrading the ECUs of the vehicle through OTA once, which can meet the no-sense writing strategy and the upgrading requirement of the controllers or components without partitions, thereby balancing the user experience and the requirement of OEM processing.
[0173] The embodiments described in the embodiments of the present application are for more clearly illustrating the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art can know that the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems with the evolution of technology and the appearance of new application scenarios.
[0174] Those skilled in the art can understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and can include more or fewer steps than the figures, or combine certain steps or different steps.
[0175] The device embodiments described above are only schematic, and the units illustrated as separate components can or can not be physically separate, that is, can be located in one place, or can be distributed on multiple network units. Part or all of the modules can be selected according to actual needs to achieve the purpose of the embodiments of the present application.
[0176] Those skilled in the art can understand that all or some of the steps in the above disclosed method, the functions of the modules / units in the system and the device can be implemented as software, firmware, hardware and their appropriate combinations.
[0177] The terms "first", "second", "third", "fourth", and the like in the description of this application and in the claims hereof, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the use of the terms so termed herein is solely for descriptive purposes and not for pronouncing the limitations of the application described except as described in the claims. Moreover, the terms "comprise", "have", "contain" and "include" and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, product or apparatus that comprises, has, contains or includes a list of steps or elements, but not those not expressly listed or inherent to such process, method, system, product or apparatus, is not excluded from the scope of this application.
[0178] It should be understood that, in this application, "at least one" means one or more, "multiple" means two or more. "And / or" is used to describe the relationship between associated objects, which means that there can be three relationships, for example, "A and / or B" can represent three cases: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the associated objects. "At least one of the following" or similar expressions means any combination of these items, including single or multiple combinations. For example, at least one of a, b or c can mean a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be singular or plural.
[0179] 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 only schematic. For example, the division of the above-mentioned units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be omitted or not executed. In addition, the coupling or direct coupling or communication connection between the displayed or discussed objects can be indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0180] The units described above as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, i.e. they can be located in one place or distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.
[0181] In addition, each function unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software function unit.
[0182] When the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application, essentially or in part, or all or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes multiple instructions used to cause a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods in the embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various other media that can store programs.
[0183] The preferred embodiments of the embodiments of the present application are described above with reference to the accompanying drawings, and are not limited to the scope of the embodiments of the present application. Any modifications, equivalent replacements and improvements made by those skilled in the art without departing from the scope and essence of the embodiments of the present application shall be within the scope of the embodiments of the present application.
Claims
1. A vehicle upgrade method characterized by, The method is applied to an electronic device, the electronic device belongs to a vehicle, and the method comprises: In response to a vehicle upgrade instruction, a master node controller of the vehicle controls at least one first slave node controller and at least one second slave node controller of the vehicle to pass an upgrade package respectively; In the case where each first slave node controller is in an idle state, the second slave node controller installs the upgrade package received by the second slave node controller in the second slave node controller; the idle state includes a state of the second slave node controller when the vehicle stops running; In the case where it is determined that each second slave node controller completes installation of the received upgrade package, the partition run by each first slave node controller is switched from the system partition to the backup partition to complete upgrade of the vehicle; The method further comprises: Based on historical operation data of the second slave node controller, a time segment in which the second slave node controller stops running when the vehicle is running is determined; Based on a current system time of the vehicle and the time segment, an estimated remaining duration in which the second slave node controller is in a stopped running state when the vehicle is running is determined; In the case where the estimated remaining duration is greater than or equal to an installation duration of the upgrade package of the second slave node controller, the second slave node controller installs the upgrade package received by the second slave node controller in the second slave node controller during vehicle running. The at least one first slave node controller comprises a target first slave node controller, the target first slave node controller is connected with at least one private node controller of the vehicle, the upgrade package received by the target first slave node controller comprises a first upgrade package and a second upgrade package, the first upgrade package is used for upgrade of the target first slave node controller, and the second upgrade package is used for upgrade of the at least one private node controller; 2. The method of claim 1, wherein, The installation of the upgrade package received by the first slave node controller in the backup partition of each first slave node controller comprises: The first upgrade package is installed in the backup partition of the target first slave node controller, and the second upgrade package is stored in the backup partition of the target first slave node controller; Before the partition run by each first slave node controller is switched from the system partition to the backup partition, the method further comprises: In the case where each private node controller is in the idle state, the target first slave node controller is controlled to pass the second upgrade package to the private node controller; The second upgrade package is installed in each private node controller. 3. The method of claim 2, wherein, In the case that the second upgrade package is stored in the backup partition of the target first slave node controller, the installing the upgrade package received by the second slave node controller in the second slave node controller in the case that each of the second slave node controllers is in the idle state comprises: In the case that each of the second slave node controllers is in the idle state and each of the private node controllers is in the idle state, installing the upgrade package received by the second slave node controller in the second slave node controller, and controlling the target first slave node controller to transfer the second upgrade package to the private node controllers, and installing the second upgrade package in each of the private node controllers.
4. The method of claim 2, wherein, After the second upgrade package is stored in the backup partition of the target first slave node controller, the method further comprises: Storing the first original installation package of each of the private node controllers in the backup partition of the target first slave node controller; After the partition run by each of the first slave node controllers is switched from the system partition to the backup partition, the method further comprises: In response to a vehicle upgrade rollback instruction, controlling the target first slave node controller to transfer the first original installation package to the private node controllers; Installing the first original installation package in each of the private node controllers.
5. The method of claim 4, wherein, The method further comprises: Controlling the master node controller to store the second original installation package of each of the second slave node controllers; After the partition run by each of the first slave node controllers is switched from the system partition to the backup partition, the method further comprises: In response to the vehicle upgrade rollback instruction, controlling the master node controller to transfer the second original installation package to each of the second slave node controllers; Installing the second original installation package in each of the second slave node controllers.
6. The method according to any one of claims 1 to 5, characterized in that, The idle state further comprises a state in which the second slave node controller stops running when the vehicle is running; The installing the upgrade package received by the second slave node controller in the second slave node controller comprises: Obtaining an installation duration of the upgrade package of the second slave node controller; Based on the installation duration, installing the upgrade package received by the second slave node controller in the second slave node controller in the case that the vehicle is running.
7. An electronic device, comprising: The electronic device comprises a memory and a processor, the memory stores a computer program, and the processor implements the vehicle upgrade method of any one of claims 1 to 6 when executing the computer program.
8. A vehicle characterized by comprising: The vehicle comprises an electronic device, the electronic device comprises a memory and a processor, the memory stores a computer program, and the processor implements the vehicle upgrade method of any one of claims 1 to 6 when executing the computer program.
9. A computer-readable storage medium storing a computer program, the computer program comprising instructions that, when executed by a computer, cause the computer to perform the method of any one of claims 1 to 8. The computer program is executed by the processor to implement the vehicle upgrade method of any one of claims 1 to 6.
Citation Information
Patent Citations
OTA upgrading method and device, electronic equipment and storage medium
CN115951914A