CN113590160A - Software online upgrading method and multi-core ECU - Google Patents
Software online upgrading method and multi-core ECU Download PDFInfo
- Publication number
- CN113590160A CN113590160A CN202110928975.0A CN202110928975A CN113590160A CN 113590160 A CN113590160 A CN 113590160A CN 202110928975 A CN202110928975 A CN 202110928975A CN 113590160 A CN113590160 A CN 113590160A
- Authority
- CN
- China
- Prior art keywords
- processing core
- data frame
- boot loader
- diagnosis module
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 306
- 238000003745 diagnosis Methods 0.000 claims description 195
- 230000005540 biological transmission Effects 0.000 claims description 119
- 230000004044 response Effects 0.000 claims description 35
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 14
- 238000004891 communication Methods 0.000 abstract description 8
- 230000003993 interaction Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 25
- 238000004806 packaging method and process Methods 0.000 description 16
- 239000000284 extract Substances 0.000 description 8
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The invention provides a software online upgrading method and a multi-core ECU (electronic control unit), wherein an application program is operated in a second processing core, a boot loader is operated in a third processing core, the function of the application program is separated from the upgrading function, the communication between an external diagnostic instrument and the third processing core is realized through a first processing core, the software online upgrading is realized through the interaction among the external diagnostic instrument, the first processing core and the third processing core, the second processing core is not involved in the software upgrading process, the second processing core can still normally operate the function of the application program, the normal use of a vehicle is not influenced, and the user experience is improved.
Description
Technical Field
The invention relates to the technical field of software upgrading, in particular to a software online upgrading method and a multi-core ECU (electronic control unit).
Background
OTA (Over the Air Technology) is a wireless system upgrade via mobile communication Technology, while vehicle OTA is a software upgrade for vehicle applications, multimedia systems or entire vehicle infrastructure systems.
At present, after a data packet of software to be upgraded is downloaded to a vehicle, when an OTA management module refreshes an ECU, the refreshed ECU needs to enter a Bootloader from an Application for refreshing, functions of the Application cannot normally run when the Bootloader is refreshed, and a user cannot use the vehicle. With the increasing complexity of software functions, the software updating time is long due to the large software code amount, and a user cannot use a vehicle for a long time, so that the user experience is seriously influenced.
Disclosure of Invention
In view of this, the invention provides a software online upgrade method and a multi-core ECU, which separate the application program function from the upgrade function, and do not affect the application program function in the software upgrade process.
In order to achieve the above object, the present invention provides the following technical solutions:
a software online upgrading method is applied to a multi-core ECU, and the multi-core ECU comprises the following steps: a first processing core, a second processing core, and a third processing core, the second processing core to run an application, the third processing core to run a boot loader, the method comprising:
under the condition that the first processing core receives a software upgrading request message initiated by an external diagnostic instrument, extracting a data frame in the software upgrading request message, and sending the data frame to the third processing core;
and the third processing core receives the data frame, calls a boot loader and executes corresponding upgrading operation.
Optionally, the first processing core sequentially sends, to the third processing core, data frames in a software upgrade request message for entering an extended session request, entering a programming session request, requesting a secure access seed, sending a secure access key, sending a download FlashDriver request, sending an erase application request, sending a download application request, and sending an integrity compatibility check request.
Optionally, when the data frame is a data frame in a software upgrade request message for entering an extended session request, the third processing core receives the data frame, invokes a boot loader, and executes a corresponding upgrade operation, where the upgrade operation includes:
the third processing core calls a transmission layer module in a boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for entering an extended session request, package the data frame and send the data frame to a diagnosis module in the boot loader;
the third processing core calls a diagnosis module in a boot loader, so that the diagnosis module judges whether the condition of entering the extension session is met currently or not under the condition of analyzing the request of entering the extension session, and if the condition is met, the extension session is entered;
and the third processing core calls the diagnosis module in the boot loader to enable the diagnosis module to send response information of successfully entering the extension session to the first processing core through the transmission layer module, so that the first processing core informs the external diagnostic equipment that the multi-core ECU successfully enters the extension session.
Optionally, when the data frame is a data frame in a software upgrade request message for entering a programming session request, the third processing core receives the data frame, invokes a boot loader, and executes a corresponding upgrade operation, where the upgrade operation includes:
the third processing core calls a transmission layer module in a boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for entering a programming session request, package the data frame and send the data frame to a diagnosis module in the boot loader;
the third processing core calls a diagnosis module in a boot loader, so that the diagnosis module judges whether the condition of entering the programming session is met currently or not under the condition of analyzing the request of entering the programming session, and if the condition is met, the third processing core enters the programming session;
and the third processing core calls the diagnosis module in the boot loader, so that the diagnosis module sends response information of successfully entering a programming session to the first processing core through the transmission layer module, and the first processing core informs an external diagnostic device that the multi-core ECU successfully enters the programming session.
Optionally, when the data frame is a data frame in a software upgrade request message for requesting secure access to a seed, the third processing core receives the data frame, invokes a boot loader, and executes a corresponding upgrade operation, where the upgrade operation includes:
the third processing core calls a transmission layer module in a boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for requesting safe access to the seeds, package the data frame and send the data frame to a diagnosis module in the boot loader;
the third processing core calls a diagnosis module in a boot loader, so that the diagnosis module judges whether the current condition of sending the safe access seed is met or not under the condition of analyzing a safe access seed request, and if the condition is met, safe access seed information is generated;
the third processing core calls the diagnosis module in a boot loader to enable the diagnosis module to send the safe access seed information to the first processing core through the transmission layer module, and enable the first processing core to send the safe access seed information to the external diagnostic instrument;
when the data frame is a data frame in a software upgrade request message for sending a security access key, the third processing core receives the data frame, invokes a boot loader, and executes a corresponding upgrade operation, including:
the third processing core calls the transmission layer module in the boot loader to enable the transmission layer module to receive the data frame in the software upgrading request message for sending the security access key, package the data frame and send the data frame to the diagnosis module in the boot loader;
the third processing core calls the diagnosis module in the boot loader to enable the diagnosis module to judge whether the condition of receiving the security access key is met or not under the condition that the security access key is analyzed, and if the condition is met, the security access key is compared with the key obtained through calculation according to the security access seed;
and the third processing core calls the diagnosis module in the boot loader, so that the diagnosis module sends response information for receiving the security access key to the first processing core through the transmission layer module under the condition that the received security access key is determined to be consistent with the calculated key, and the first processing core informs the external diagnostic instrument that the multi-core ECU successfully receives the security access key.
Optionally, when the data frame is a data frame in a software upgrade request message for downloading a FlashDriver request, the third processing core receives the data frame, invokes a boot loader, and executes a corresponding upgrade operation, where the upgrade operation includes:
the third processing core calls a transmission layer module in a boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for downloading a FlashDriver request, packages the data frame and sends the data frame to a diagnosis module in the boot loader;
the third processing core calls a diagnosis module in a boot loader, so that the diagnosis module judges whether the current condition of downloading the FlashDriver is met or not under the condition of analyzing a request for downloading the FlashDriver, and if the condition is met, the FlashDriver is downloaded;
the third processing core calls the diagnosis module in the boot loader, so that the diagnosis module sends response information of finishing the FlashDriver downloading to the first processing core through the transmission layer module after the FlashDriver downloading is finished, and the first processing core informs the external diagnostic instrument of the multi-core ECU to finish the FlashDriver downloading.
Optionally, when the data frame is a data frame in a software upgrade request message for erasing an application program request, the third processing core receives the data frame, invokes a boot loader, and executes a corresponding upgrade operation, where the upgrade operation includes:
the third processing core calls a transmission layer module in the boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for erasing an application program request, package the data frame and send the data frame to a diagnosis module in the boot loader;
the third processing core calls a diagnosis module in the boot loader to enable the diagnosis module to judge whether the current condition of erasing the application program is met or not under the condition that the request of erasing the application program is analyzed, if so, the interruption is closed, the downloaded FlashDriver is called to erase part of the application program to erase the application program, and the erasing completion flag is inquired circularly;
and the third processing core calls the diagnosis module in the boot loader, so that the diagnosis module sends response information of completing erasing to the first processing core through the transmission layer module under the condition of inquiring an erasing completion mark, and the first processing core informs the external diagnostic instrument that the multi-core ECU completes erasing the application program.
Optionally, when the data frame is a data frame in a software upgrade request message for downloading an application program request, the third processing core receives the data frame, invokes a boot loader, and executes a corresponding upgrade operation, where the method includes:
the third processing core calls a transmission layer module in a boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for downloading an application program request, package the data frame and send the data frame to a diagnosis module in the boot loader;
the third processing core calls a diagnosis module in a boot loader to enable the diagnosis module to judge whether the current condition of downloading the application program is met or not under the condition that the request of downloading the application program is analyzed, and if the condition is met, the application program is downloaded;
and the third processing core calls the diagnosis module in the boot loader, so that the diagnosis module sends response information for finishing application program downloading to the first processing core through the transmission layer module after the application program downloading is finished, and the first processing core informs the external diagnostic instrument that the multi-core ECU finishes the application program downloading.
Optionally, when the data frame is a data frame in a software upgrade request message for an integrity compatibility check request, the third processing core receives the data frame, invokes a boot loader, and executes a corresponding upgrade operation, where the upgrade operation includes:
the third processing core calls a transmission layer module in a boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for an integrity compatibility check request, package the data frame and send the data frame to a diagnosis module in the boot loader;
the third processing core calls a diagnosis module in a boot loader, so that the diagnosis module judges whether the integrity compatibility check condition is met currently or not under the condition that the integrity compatibility check request is analyzed, and if the integrity compatibility check condition is met, the integrity compatibility check is carried out on the downloaded application program;
and the third processing core calls the diagnosis module in the boot loader, so that the diagnosis module sends response information of passing integrity compatibility check to the first processing core through the transmission layer module under the condition that the integrity compatibility check passes, and the first processing core informs the external diagnostic instrument that the application program downloaded by the multi-core ECU passes the integrity compatibility check.
A multi-core ECU comprising: the system comprises a first processing core, a second processing core and a third processing core, wherein the second processing core is used for running an application program, and the third processing core is used for running a boot loader;
the first processing core is used for extracting a data frame in a software upgrading request message initiated by an external diagnostic apparatus and sending the data frame to the third processing core under the condition of receiving the software upgrading request message;
and the third processing core is used for receiving the data frame, calling a boot loader and executing corresponding upgrading operation.
Optionally, the first processing core sequentially sends, to the third processing core, data frames in a software upgrade request message for entering an extended session request, entering a programming session request, requesting a secure access seed, sending a secure access key, sending a download FlashDriver request, sending an erase application request, sending a download application request, and sending an integrity compatibility check request.
Optionally, when the data frame is a data frame in a software upgrade request message for entering an extended session request, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader, enabling the transmission layer module to receive a data frame in a software upgrading request message for entering an extended session request, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader, so that the diagnosis module judges whether the current condition of entering the extension session is met or not under the condition of analyzing the request of entering the extension session, and if so, entering the extension session;
and calling the diagnosis module in the boot loader, so that the diagnosis module sends response information of successfully entering the extension session to the first processing core through the transmission layer module, and the first processing core informs the external diagnostic equipment that the multi-core ECU successfully enters the extension session.
Optionally, when the data frame is a data frame in a software upgrade request message for entering a programming session request, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader, enabling the transmission layer module to receive a data frame in a software upgrading request message for entering a programming session request, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader, so that the diagnosis module judges whether the condition of entering the programming session is met or not under the condition of analyzing the request of entering the programming session, and if so, entering the programming session;
and calling the diagnosis module in the boot loader, enabling the diagnosis module to send response information of successfully entering a programming session to the first processing core through the transmission layer module, and enabling the first processing core to inform an external diagnostic apparatus that the multi-core ECU successfully enters the programming session.
Optionally, when the data frame is a data frame in a software upgrade request message for requesting secure access to a seed, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader, enabling the transmission layer module to receive a data frame in a software upgrading request message for requesting for safely accessing seeds, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader, so that the diagnosis module judges whether the current condition of sending the safe access seed is met or not under the condition of analyzing out the safe access seed request, and if so, generating safe access seed information;
and calling the diagnosis module in the boot loader, enabling the diagnosis module to send the safe access seed information to the first processing core through the transmission layer module, and enabling the first processing core to send the safe access seed information to the external diagnostic instrument.
Optionally, when the data frame is a data frame in a software upgrade request message for sending a security access key, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader, enabling the transmission layer module to receive a data frame in a software upgrading request message for sending a security access key, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader to enable the diagnosis module to judge whether the current condition of receiving a security access key is met or not under the condition of analyzing out the security access key, and if so, comparing the security access key with a key calculated according to the security access seed;
and calling the diagnosis module in the boot loader, so that the diagnosis module sends response information for receiving the security access key to the first processing core through the transmission layer module under the condition that the received security access key is determined to be consistent with the calculated key, and the first processing core informs the external diagnostic instrument that the multi-core ECU successfully receives the security access key.
Optionally, when the data frame is a data frame in a software upgrade request message for downloading a FlashDriver request, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for downloading a FlashDriver request, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader to enable the diagnosis module to judge whether the condition of downloading the FlashDriver is met or not at present under the condition that a request for downloading the FlashDriver is analyzed, and downloading the FlashDriver if the condition is met;
and calling the diagnosis module in the boot loader, so that the diagnosis module sends response information of finishing the FlashDriver downloading to the first processing core through the transmission layer module after the FlashDriver downloading is finished, and the first processing core informs the external diagnostic instrument of finishing the FlashDriver downloading by the multi-core ECU.
Optionally, when the data frame is a data frame in a software upgrade request message for erasing an application request, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader, enabling the transmission layer module to receive a data frame in a software upgrading request message for erasing an application program request, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader to judge whether the current condition of erasing the application program is met or not under the condition that the diagnosis module analyzes the request of erasing the application program, if so, closing interruption, calling a downloaded flash driver to erase part of the application program to erase the application program, and circularly inquiring an erasing completion mark;
and calling the diagnosis module in the boot loader, so that the diagnosis module sends response information of completing erasing to the first processing core through the transmission layer module under the condition that an erasing completion mark is inquired by the diagnosis module, and the first processing core informs the external diagnostic equipment that the multi-core ECU completes erasing the application program.
Optionally, when the data frame is a data frame in a software upgrade request message for downloading an application program request, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader, enabling the transmission layer module to receive a data frame in a software upgrading request message for downloading an application program request, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader to enable the diagnosis module to judge whether the current condition of downloading the application program is met or not under the condition that an application program downloading request is analyzed, and downloading the application program if the condition is met;
and calling the diagnosis module in the boot loader, so that the diagnosis module sends response information of finishing application program downloading to the first processing core through the transmission layer module after the application program downloading is finished, and the first processing core informs the external diagnostic instrument of finishing the application program downloading by the multi-core ECU.
Optionally, when the data frame is a data frame in a software upgrade request message for an integrity compatibility check request, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader, enabling the transmission layer module to receive a data frame in a software upgrading request message for an integrity compatibility check request, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader, so that the diagnosis module judges whether the integrity compatibility check condition is met currently or not under the condition that an integrity compatibility check request is analyzed, and if the integrity compatibility check condition is met, performing integrity compatibility check on the downloaded application program;
and calling the diagnosis module in the boot loader, so that the diagnosis module sends response information that the integrity compatibility check passes to the first processing core through the transmission layer module under the condition that the integrity compatibility check passes, and the first processing core informs the external diagnostic equipment that the application program downloaded by the multi-core ECU passes the integrity compatibility check.
Compared with the prior art, the invention has the following beneficial effects:
the invention discloses a software online upgrading method, which separates the function of an application program from the upgrading function by operating the application program in a second processing core and operating a boot loader in a third processing core, realizes the communication between an external diagnostic instrument and the third processing core through the first processing core, realizes the software online upgrading through the interaction between the external diagnostic instrument, the first processing core and the third processing core, does not relate to the second processing core in the software upgrading process, can still normally operate the function of the application program through the second processing core, does not influence the normal use of a vehicle, and improves the user experience.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
FIG. 1 is a schematic flow chart of a software online upgrade method disclosed in an embodiment of the present invention;
FIG. 2 is a schematic flow chart of another software online upgrade method disclosed in the embodiment of the present invention;
FIG. 3 is a schematic flow chart of a conventional software online upgrade method;
fig. 4 is a schematic structural diagram of a multicore ECU disclosed in the embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In order to improve the user experience in the software online upgrading process, the invention provides a software online upgrading method, which separates the application function from the upgrading function, and further ensures that the function of an application program is not influenced in the upgrading process.
The software online upgrading method disclosed by the embodiment is applied to the multi-core ECU, and the multi-core ECU comprises the following steps: the first processing core, the second processing core and the third processing core, where the first, the second and the third are only used for distinguishing different processing cores, and are not used for limiting the order or interdependence relationship of the functions executed by the processing cores. The first processing core is used for performing CAN message communication with an external diagnostic apparatus and communication with the third processing core, the second processing core is used for running application programs, such as control functions of a skylight, a seat, a back door and the like, and the third processing core is used for running a boot loader Bootloader, so that the application program function is separated from the upgrading function. Specifically, referring to fig. 1, the software online upgrade method disclosed in this embodiment includes the following steps:
s101: under the condition that a first processing core receives a software upgrading request message initiated by an external diagnostic instrument, extracting a data frame in the software upgrading request message, and sending the data frame to a third processing core;
s102: and the third processing core receives the data frame, calls a boot loader and executes corresponding upgrading operation.
The first processing core creates a CAN complex device driver (Can Cdd) module in advance, and realizes CAN message communication with an external diagnostic apparatus and communication with the third processing core.
According to the software online upgrading process, the first processing core sequentially receives a software upgrading request which is sent by an external diagnostic instrument and used for entering an extension session request, entering a programming session request, requesting a security access seed, sending a security access key, sending a downloading FlashDriver request, sending an erasing application program request, sending a downloading application program request and sending an integrity compatibility verification request.
Specifically, referring to fig. 2, in the process of upgrading software online, the multi-core ECU operates in an Application mode, and accordingly, the method for upgrading software online disclosed in this embodiment specifically includes:
1. and the external diagnostic device Tester sends a software upgrading request message for entering an extended session request to the first processing core, the first processing core judges that the message is the diagnostic ID of the multi-core ECU through the ID of the ECU in the message after receiving the message, extracts a data frame for entering the extended session request and sends the data frame to the third processing core. The third processing core calls a transmission layer module (BT _ Tp) in the boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for entering the extended session request, package the data frame and send the data frame to a diagnosis module (BT _ Dcm) in the boot loader.
The third processing core calls a diagnosis module (BT _ Dcm) in the boot loader, so that the diagnosis module judges whether the conditions for entering the extended session, such as the conditions in the ISO14229-1 specification, including whether the service and the sub-service are supported, whether the session is supported, whether the length is correct, and the like, are met currently under the condition that the request for entering the extended session is analyzed. And if so, entering the extended session.
The third processing core calls the diagnosis module (BT _ Dcm) in the boot loader, so that the diagnosis module sends response information of successfully entering the extension session to the first processing core through the transmission layer module (BT _ Tp), and the first processing core informs the external diagnostic device that the multi-core ECU successfully enters the extension session.
2. The external diagnostic device Tester sends a software upgrading request message for entering a programming session request to the first processing core, the first processing core judges that the message is the diagnostic ID of the multi-core ECU through the ID of the ECU in the message after receiving the message, extracts a data frame for entering the programming session request and sends the data frame to the third processing core. The third processing core calls a transmission layer module (BT _ Tp) in the boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for entering a programming session request, and packages the data frame to be sent to a diagnosis module (BT _ Dcm) in the boot loader.
The third processing core calls a diagnosis module (BT _ Dcm) in the boot loader, so that the diagnosis module judges whether the conditions for entering the programming session, such as the conditions in the ISO14229-1 specification, are met currently or not under the condition that the request for entering the programming session is analyzed, other conditions comprise the conditions for entering the programming session, such as the current motor motion state, the vehicle speed and the like, and if the conditions are met, the programming session is entered. Compared with the traditional scheme, such as the online software upgrading process shown in fig. 3, the traditional scheme needs to jump to a Bootloader mode for upgrading, the Application program function without the ECU in the Bootloader mode only supports the flash, and the invention ensures that the ECU can normally run with the Application program function when still running in the Application mode.
The third processing core calls the diagnosis module (BT _ Dcm) in the boot loader, so that the diagnosis module sends response information of successfully entering the programming session to the first processing core through the transmission layer module (BT _ Tp), and the first processing core informs the external diagnostic device that the multi-core ECU successfully enters the programming session.
3. And the external diagnostic instrument Tester sends a software upgrading request message for requesting for safely accessing the seeds to the first processing core, the first processing core judges that the message is the diagnostic ID of the multi-core ECU through the ID of the ECU in the message after receiving the message, extracts the data frame for requesting for safely accessing the seeds and sends the data frame to the third processing core. The third processing core calls a transmission layer module (BT _ Tp) in the boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for requesting safe access to the seed, and packages the data frame to be sent to a diagnosis module (BT _ Dcm) in the boot loader.
The third processing core calls a diagnosis module (BT _ Dcm) in the boot loader, so that the diagnosis module judges whether the condition for sending the security access seed is met currently under the condition of analyzing the security access seed request, such as the condition in the ISO14229-1 specification, and if the condition is met, the security access seed information is generated.
The third processing core calls a diagnostic module (BT _ Dcm) in the boot loader, causes the diagnostic module to transmit the secure access seed information to the first processing core through the transport layer module (BT _ Tp), and causes the first processing core to transmit the secure access seed information to the external diagnostic instrument.
4. The external diagnostic device Tester calculates the safety access key information corresponding to the safety access seed by using a specified safety algorithm, sends a software upgrading request message for sending the safety access key to the first processing core, judges the message to be the diagnosis ID of the multi-core ECU through the ID of the ECU in the message after the first processing core receives the message, extracts the data frame for sending the safety access key, and sends the data frame to the third processing core. The third processing core calls a transmission layer module (BT _ Tp) in the boot loader to enable the transmission layer module to receive the data frame in the software upgrading request message for transmitting the security access key, and packages the data frame to be transmitted to the diagnosis module (BT _ Dcm) in the boot loader.
The third processing core calls a diagnostic module (BT _ Dcm) in the boot loader, so that the diagnostic module judges whether the conditions for receiving the security access key are met currently or not under the condition that the security access key is analyzed, such as the conditions in the ISO14229-1 specification and whether the security access seed is requested or not, and if so, the security access key is compared with the key calculated according to the security access seed.
And the third processing core calls a diagnosis module (BT _ Dcm) in the boot loader, so that the diagnosis module sends response information of the received security access key to the first processing core through the transmission layer module (BT _ Tp) under the condition that the received security access key is determined to be consistent with the calculated key, the first processing core informs the external diagnostic instrument that the multi-core ECU successfully receives the security access key, and the security access is passed.
5. After the safe access is passed, the external diagnostic device Tester sends a software upgrading request message for sending a request for downloading the FlashDriver to the first processing core, the first processing core judges that the message is the diagnostic ID of the multi-core ECU through the ID of the ECU in the message after receiving the message, extracts a data frame for sending the request for downloading the FlashDriver, and sends the data frame to the third processing core. The third processing core calls a transmission layer module (BT _ Tp) in the boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for downloading a FlashDriver request, packages the data frame and sends the data frame to a diagnosis module (BT _ Dcm) in the boot loader.
And the third processing core calls a diagnosis module (BT _ Dcm) in the boot loader, so that the diagnosis module judges whether the conditions for downloading the FlashDriver are met currently under the condition of analyzing the request for downloading the FlashDriver, such as the conditions in the ISO14229-1 specification and whether the FlashDriver passes the safety access, and if the conditions are met, the FlashDriver is downloaded.
And the third processing core calls a diagnosis module (BT _ Dcm) in the boot loader, so that the diagnosis module sends response information of finishing the FlashDriver downloading to the first processing core through a transmission layer module (BT _ Tp) after the FlashDriver downloading is finished, and the first processing core informs the external diagnostic instrument multi-core ECU of finishing the FlashDriver downloading.
6. And the external diagnostic device Tester sends a software upgrading request message for sending an application program erasing request to the first processing core, the first processing core judges that the message is the diagnostic ID of the multi-core ECU through the ID of the ECU in the message after receiving the message, extracts a data frame for sending the application program erasing request and sends the data frame to the third processing core. The third processing core calls a transmission layer module (BT _ Tp) in the boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for erasing the application program request, and the data frame is packaged and sent to a diagnosis module (BT _ Dcm) in the boot loader.
And the third processing core calls a diagnosis module (BT _ Dcm) in the boot loader to enable the diagnosis module to judge whether the current conditions for erasing the application program are met under the condition that the request for erasing the application program is analyzed, such as the conditions in the ISO14229-1 specification and whether the FlashDriver is successfully downloaded, if yes, the interruption is closed, the downloaded FlashDriver is called to erase part of the application program, and the erasing completion flag is inquired circularly. In the traditional software online upgrading process, when the Bootloader executes the erasing operation, the Sector is erased by closing an interruption endless loop inquiry erasing completion mark and waiting for the erasing operation to be completed, and the ECU does not have any application program function at the moment. In the invention, the Sector erase is carried out in the third processing core, and the operation of closing the interruption endless loop query erase completion flag does not influence the operation of application logic of other cores, thereby ensuring the normal operation of the ECU control function.
And the third processing core calls the diagnostic module (BT _ Dcm) in the boot loader, so that the diagnostic module sends response information of finishing erasing to the first processing core through the transmission layer module (BT _ Dcm) under the condition of inquiring the erasing finishing mark, and the first processing core informs the external diagnostic instrument multi-core ECU of finishing erasing the application program.
7. And the external diagnostic device Tester sends a software upgrading request message for sending a request for downloading the application program to the first processing core, the first processing core judges that the message is the diagnostic ID of the multi-core ECU through the ID of the ECU in the message after receiving the message, extracts a data frame for sending the request for downloading the application program and sends the data frame to the third processing core. The third processing core calls a transmission layer module (BT _ Tp) in the boot loader to enable the transmission layer to receive the data frame in the software upgrading request message for downloading the application program request, and the data frame is packaged and sent to a diagnosis module (BT _ Dcm) in the boot loader.
The third processing core calls a diagnosis module (BT _ Dcm) in the boot loader, so that the diagnosis module judges whether the current conditions of downloading the application program are met under the condition of analyzing the request of downloading the application program, such as the conditions in the ISO14229-1 specification and whether application erasing is finished, and if so, the application program is downloaded.
And the third processing core calls a diagnosis module (BT _ Dcm) in the boot loader, so that the diagnosis module sends response information of finishing the downloading of the application program to the first processing core through the transmission layer module (BT _ Tp) after the downloading of the application program is finished, and the first processing core informs the external diagnostic device of the multi-core ECU to finish the downloading of the application program.
8. And the external diagnostic device Tester sends a software upgrading request message for sending an integrity compatibility check request to the first processing core, the first processing core judges that the message is the diagnostic ID of the multi-core ECU through the ID of the ECU in the message after receiving the message, extracts a data frame for sending the integrity compatibility check request and sends the data frame to the third processing core. The third processing core calls a transmission layer module (BT _ Tp) in the boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for an integrity compatibility check request, and the data frame is packaged and sent to a diagnosis module (BT _ Dcm) in the boot loader.
The third processing core calls a diagnosis module (BT _ Dcm) in the boot loader, so that the diagnosis module judges whether the integrity compatibility check condition is met currently under the condition that the integrity compatibility check request is analyzed, such as the condition in the ISO14229-1 specification, and if the integrity compatibility check condition is met, the integrity compatibility check is carried out on the downloaded application program.
And the third processing core calls the diagnostic module (BT _ Dcm) in the boot loader, so that the diagnostic module sends response information of the integrity compatibility check to the first processing core through the transmission layer module (BT _ Tp) when the integrity compatibility check passes, and the first processing core informs the external diagnostic device that the application program downloaded by the multi-core ECU passes the integrity compatibility check.
According to the software online upgrading method disclosed by the embodiment, the application program is operated in the second processing core, the boot loader is operated in the third processing core, the application program function is separated from the upgrading function, the communication between the external diagnostic instrument and the third processing core is realized through the first processing core, the software online upgrading is realized through the interaction between the external diagnostic instrument, the first processing core and the third processing core, the second processing core is not involved in the software upgrading process, the second processing core can still normally operate the application program function, the normal use of a vehicle is not influenced, and the user experience is improved.
Based on the software online upgrading method disclosed in the foregoing embodiment, the present embodiment correspondingly discloses a multi-core ECU, please refer to fig. 4, where the multi-core ECU includes: the system comprises a first processing core, a second processing core and a third processing core, wherein the second processing core is used for running an application program, and the third processing core is used for running a boot loader;
the first processing core is used for extracting a data frame in a software upgrading request message initiated by an external diagnostic apparatus and sending the data frame to the third processing core under the condition of receiving the software upgrading request message;
and the third processing core is used for receiving the data frame, calling a boot loader and executing corresponding upgrading operation.
Optionally, the first processing core sequentially sends, to the third processing core, data frames in a software upgrade request message for entering an extended session request, entering a programming session request, requesting a secure access seed, sending a secure access key, sending a download FlashDriver request, sending an erase application request, sending a download application request, and sending an integrity compatibility check request.
Optionally, when the data frame is a data frame in a software upgrade request message for entering an extended session request, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader, enabling the transmission layer module to receive a data frame in a software upgrading request message for entering an extended session request, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader, so that the diagnosis module judges whether the current condition of entering the extension session is met or not under the condition of analyzing the request of entering the extension session, and if so, entering the extension session;
and calling the diagnosis module in the boot loader, so that the diagnosis module sends response information of successfully entering the extension session to the first processing core through the transmission layer module, and the first processing core informs the external diagnostic equipment that the multi-core ECU successfully enters the extension session.
Optionally, when the data frame is a data frame in a software upgrade request message for entering a programming session request, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader, enabling the transmission layer module to receive a data frame in a software upgrading request message for entering a programming session request, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader, so that the diagnosis module judges whether the condition of entering the programming session is met or not under the condition of analyzing the request of entering the programming session, and if so, entering the programming session;
and calling the diagnosis module in the boot loader, enabling the diagnosis module to send response information of successfully entering a programming session to the first processing core through the transmission layer module, and enabling the first processing core to inform an external diagnostic apparatus that the multi-core ECU successfully enters the programming session.
Optionally, when the data frame is a data frame in a software upgrade request message for requesting secure access to a seed, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader, enabling the transmission layer module to receive a data frame in a software upgrading request message for requesting for safely accessing seeds, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader, so that the diagnosis module judges whether the current condition of sending the safe access seed is met or not under the condition of analyzing out the safe access seed request, and if so, generating safe access seed information;
and calling the diagnosis module in the boot loader, enabling the diagnosis module to send the safe access seed information to the first processing core through the transmission layer module, and enabling the first processing core to send the safe access seed information to the external diagnostic instrument.
Optionally, when the data frame is a data frame in a software upgrade request message for sending a security access key, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader, enabling the transmission layer module to receive a data frame in a software upgrading request message for sending a security access key, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader to enable the diagnosis module to judge whether the current condition of receiving a security access key is met or not under the condition of analyzing out the security access key, and if so, comparing the security access key with a key calculated according to the security access seed;
and calling the diagnosis module in the boot loader, so that the diagnosis module sends response information for receiving the security access key to the first processing core through the transmission layer module under the condition that the received security access key is determined to be consistent with the calculated key, and the first processing core informs the external diagnostic instrument that the multi-core ECU successfully receives the security access key.
Optionally, when the data frame is a data frame in a software upgrade request message for downloading a FlashDriver request, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for downloading a FlashDriver request, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader to enable the diagnosis module to judge whether the condition of downloading the FlashDriver is met or not at present under the condition that a request for downloading the FlashDriver is analyzed, and downloading the FlashDriver if the condition is met;
and calling the diagnosis module in the boot loader, so that the diagnosis module sends response information of finishing the FlashDriver downloading to the first processing core through the transmission layer module after the FlashDriver downloading is finished, and the first processing core informs the external diagnostic instrument of finishing the FlashDriver downloading by the multi-core ECU.
Optionally, when the data frame is a data frame in a software upgrade request message for erasing an application request, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader, enabling the transmission layer module to receive a data frame in a software upgrading request message for erasing an application program request, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader to judge whether the current condition of erasing the application program is met or not under the condition that the diagnosis module analyzes the request of erasing the application program, if so, closing interruption, calling a downloaded flash driver to erase part of the application program to erase the application program, and circularly inquiring an erasing completion mark;
and calling the diagnosis module in the boot loader, so that the diagnosis module sends response information of completing erasing to the first processing core through the transmission layer module under the condition that an erasing completion mark is inquired by the diagnosis module, and the first processing core informs the external diagnostic equipment that the multi-core ECU completes erasing the application program.
Optionally, when the data frame is a data frame in a software upgrade request message for downloading an application program request, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader, enabling the transmission layer module to receive a data frame in a software upgrading request message for downloading an application program request, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader to enable the diagnosis module to judge whether the current condition of downloading the application program is met or not under the condition that an application program downloading request is analyzed, and downloading the application program if the condition is met;
and calling the diagnosis module in the boot loader, so that the diagnosis module sends response information of finishing application program downloading to the first processing core through the transmission layer module after the application program downloading is finished, and the first processing core informs the external diagnostic instrument of finishing the application program downloading by the multi-core ECU.
Optionally, when the data frame is a data frame in a software upgrade request message for an integrity compatibility check request, the third processing core is specifically configured to:
calling a transmission layer module in a boot loader, enabling the transmission layer module to receive a data frame in a software upgrading request message for an integrity compatibility check request, packaging the data frame and sending the data frame to a diagnosis module in the boot loader;
calling a diagnosis module in a boot loader, so that the diagnosis module judges whether the integrity compatibility check condition is met currently or not under the condition that an integrity compatibility check request is analyzed, and if the integrity compatibility check condition is met, performing integrity compatibility check on the downloaded application program;
and calling the diagnosis module in the boot loader, so that the diagnosis module sends response information that the integrity compatibility check passes to the first processing core through the transmission layer module under the condition that the integrity compatibility check passes, and the first processing core informs the external diagnostic equipment that the application program downloaded by the multi-core ECU passes the integrity compatibility check.
According to the multi-core ECU disclosed by the embodiment, the application program is operated on the second processing core, the boot loader is operated on the third processing core, the separation of the application program function and the upgrading function is realized, the communication between the external diagnostic instrument and the third processing core is realized through the first processing core, the online upgrading of software is realized through the interaction between the external diagnostic instrument, the first processing core and the third processing core, the second processing core is not involved in the software upgrading process, the second processing core can still normally operate the application program function, the normal use of a vehicle is not influenced, and the user experience is improved.
The embodiments in the present description are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other. The device disclosed by the embodiment corresponds to the method disclosed by the embodiment, so that the description is simple, and the relevant points can be referred to the method part for description.
It is further noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The above embodiments can be combined arbitrarily, and the features described in the embodiments in the present specification can be replaced or combined with each other in the above description of the disclosed embodiments, so that those skilled in the art can implement or use the present application.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (10)
1. The online software upgrading method is applied to a multi-core ECU, and the multi-core ECU comprises the following steps: a first processing core, a second processing core, and a third processing core, the second processing core to run an application, the third processing core to run a boot loader, the method comprising:
under the condition that the first processing core receives a software upgrading request message initiated by an external diagnostic instrument, extracting a data frame in the software upgrading request message, and sending the data frame to the third processing core;
and the third processing core receives the data frame, calls a boot loader and executes corresponding upgrading operation.
2. The method of claim 1, wherein the first processing core sequentially sends data frames in a software upgrade request message to the third processing core for entering an extended session request, entering a programming session request, requesting a secure access seed, sending a secure access key, sending a download FlashDriver request, sending an erase application request, sending a download application request, and sending an integrity compatibility check request.
3. The method according to claim 2, wherein when the data frame is a data frame in a software upgrade request message for entering an extended session request, the third processing core receives the data frame, invokes a boot loader, and performs a corresponding upgrade operation, including:
the third processing core calls a transmission layer module in a boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for entering an extended session request, package the data frame and send the data frame to a diagnosis module in the boot loader;
the third processing core calls a diagnosis module in a boot loader, so that the diagnosis module judges whether the condition of entering the extension session is met currently or not under the condition of analyzing the request of entering the extension session, and if the condition is met, the extension session is entered;
and the third processing core calls the diagnosis module in the boot loader to enable the diagnosis module to send response information of successfully entering the extension session to the first processing core through the transmission layer module, so that the first processing core informs the external diagnostic equipment that the multi-core ECU successfully enters the extension session.
4. The method according to claim 2, wherein when the data frame is a data frame in a software upgrade request message for entering a programming session request, the third processing core receives the data frame, invokes a boot loader, and performs a corresponding upgrade operation, including:
the third processing core calls a transmission layer module in a boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for entering a programming session request, package the data frame and send the data frame to a diagnosis module in the boot loader;
the third processing core calls a diagnosis module in a boot loader, so that the diagnosis module judges whether the condition of entering the programming session is met currently or not under the condition of analyzing the request of entering the programming session, and if the condition is met, the third processing core enters the programming session;
and the third processing core calls the diagnosis module in the boot loader, so that the diagnosis module sends response information of successfully entering a programming session to the first processing core through the transmission layer module, and the first processing core informs an external diagnostic device that the multi-core ECU successfully enters the programming session.
5. The method of claim 2, wherein when the data frame is a data frame in a software upgrade request message for requesting secure access to a seed, the third processing core receives the data frame, invokes a boot loader, and performs a corresponding upgrade operation, including:
the third processing core calls a transmission layer module in a boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for requesting safe access to the seeds, package the data frame and send the data frame to a diagnosis module in the boot loader;
the third processing core calls a diagnosis module in a boot loader, so that the diagnosis module judges whether the current condition of sending the safe access seed is met or not under the condition of analyzing a safe access seed request, and if the condition is met, safe access seed information is generated;
the third processing core calls the diagnosis module in a boot loader to enable the diagnosis module to send the safe access seed information to the first processing core through the transmission layer module, and enable the first processing core to send the safe access seed information to the external diagnostic instrument;
when the data frame is a data frame in a software upgrade request message for sending a security access key, the third processing core receives the data frame, invokes a boot loader, and executes a corresponding upgrade operation, including:
the third processing core calls the transmission layer module in the boot loader to enable the transmission layer module to receive the data frame in the software upgrading request message for sending the security access key, package the data frame and send the data frame to the diagnosis module in the boot loader;
the third processing core calls the diagnosis module in the boot loader to enable the diagnosis module to judge whether the condition of receiving the security access key is met or not under the condition that the security access key is analyzed, and if the condition is met, the security access key is compared with the key obtained through calculation according to the security access seed;
and the third processing core calls the diagnosis module in the boot loader, so that the diagnosis module sends response information for receiving the security access key to the first processing core through the transmission layer module under the condition that the received security access key is determined to be consistent with the calculated key, and the first processing core informs the external diagnostic instrument that the multi-core ECU successfully receives the security access key.
6. The method according to claim 2, wherein when the data frame is a data frame in a software upgrade request message for downloading a FlashDriver request, the third processing core receives the data frame, invokes a boot loader, and performs a corresponding upgrade operation, including:
the third processing core calls a transmission layer module in a boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for downloading a FlashDriver request, packages the data frame and sends the data frame to a diagnosis module in the boot loader;
the third processing core calls a diagnosis module in a boot loader, so that the diagnosis module judges whether the current condition of downloading the FlashDriver is met or not under the condition of analyzing a request for downloading the FlashDriver, and if the condition is met, the FlashDriver is downloaded;
the third processing core calls the diagnosis module in the boot loader, so that the diagnosis module sends response information of finishing the FlashDriver downloading to the first processing core through the transmission layer module after the FlashDriver downloading is finished, and the first processing core informs the external diagnostic instrument of the multi-core ECU to finish the FlashDriver downloading.
7. The method of claim 6, wherein when the data frame is a data frame in a software upgrade request message for erasing a request of an application program, the third processing core receives the data frame, invokes a boot loader, and performs a corresponding upgrade operation, including:
the third processing core calls a transmission layer module in the boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for erasing an application program request, package the data frame and send the data frame to a diagnosis module in the boot loader;
the third processing core calls a diagnosis module in the boot loader to enable the diagnosis module to judge whether the current condition of erasing the application program is met or not under the condition that the request of erasing the application program is analyzed, if so, the interruption is closed, the downloaded FlashDriver is called to erase part of the application program to erase the application program, and the erasing completion flag is inquired circularly;
and the third processing core calls the diagnosis module in the boot loader, so that the diagnosis module sends response information of completing erasing to the first processing core through the transmission layer module under the condition of inquiring an erasing completion mark, and the first processing core informs the external diagnostic instrument that the multi-core ECU completes erasing the application program.
8. The method according to claim 2, wherein when the data frame is a data frame in a software upgrade request message for downloading a request of an application program, the third processing core receives the data frame, invokes a boot loader, and performs a corresponding upgrade operation, including:
the third processing core calls a transmission layer module in a boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for downloading an application program request, package the data frame and send the data frame to a diagnosis module in the boot loader;
the third processing core calls a diagnosis module in a boot loader to enable the diagnosis module to judge whether the current condition of downloading the application program is met or not under the condition that the request of downloading the application program is analyzed, and if the condition is met, the application program is downloaded;
and the third processing core calls the diagnosis module in the boot loader, so that the diagnosis module sends response information for finishing application program downloading to the first processing core through the transmission layer module after the application program downloading is finished, and the first processing core informs the external diagnostic instrument that the multi-core ECU finishes the application program downloading.
9. The method according to claim 8, wherein when the data frame is a data frame in a software upgrade request message for an integrity compatibility check request, the third processing core receives the data frame, invokes a boot loader, and performs a corresponding upgrade operation, including:
the third processing core calls a transmission layer module in a boot loader to enable the transmission layer module to receive a data frame in a software upgrading request message for an integrity compatibility check request, package the data frame and send the data frame to a diagnosis module in the boot loader;
the third processing core calls a diagnosis module in a boot loader, so that the diagnosis module judges whether the integrity compatibility check condition is met currently or not under the condition that the integrity compatibility check request is analyzed, and if the integrity compatibility check condition is met, the integrity compatibility check is carried out on the downloaded application program;
and the third processing core calls the diagnosis module in the boot loader, so that the diagnosis module sends response information of passing integrity compatibility check to the first processing core through the transmission layer module under the condition that the integrity compatibility check passes, and the first processing core informs the external diagnostic instrument that the application program downloaded by the multi-core ECU passes the integrity compatibility check.
10. A multi-core ECU comprising: the system comprises a first processing core, a second processing core and a third processing core, wherein the second processing core is used for running an application program, and the third processing core is used for running a boot loader;
the first processing core is used for extracting a data frame in a software upgrading request message initiated by an external diagnostic apparatus and sending the data frame to the third processing core under the condition of receiving the software upgrading request message;
and the third processing core is used for receiving the data frame, calling a boot loader and executing corresponding upgrading operation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110928975.0A CN113590160B (en) | 2021-08-13 | 2021-08-13 | Software online upgrading method and multi-core ECU |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110928975.0A CN113590160B (en) | 2021-08-13 | 2021-08-13 | Software online upgrading method and multi-core ECU |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113590160A true CN113590160A (en) | 2021-11-02 |
CN113590160B CN113590160B (en) | 2024-07-05 |
Family
ID=78257644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110928975.0A Active CN113590160B (en) | 2021-08-13 | 2021-08-13 | Software online upgrading method and multi-core ECU |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590160B (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7990974B1 (en) * | 2008-09-29 | 2011-08-02 | Sonicwall, Inc. | Packet processing on a multi-core processor |
CN104461610A (en) * | 2014-11-03 | 2015-03-25 | 桂林电子科技大学 | Platformized multi-ECU online flashing method |
US20180217942A1 (en) * | 2017-01-27 | 2018-08-02 | Lear Corporation | Hardware security for an electronic control unit |
CN109766116A (en) * | 2018-12-11 | 2019-05-17 | 湖北航天飞行器研究所 | A kind of multicore control assembly based on CAN communication guides upgrade method online |
CN111475191A (en) * | 2020-04-04 | 2020-07-31 | 东风越野车有限公司 | Automobile controller software upgrading system and method based on multi-core technology |
WO2021008184A1 (en) * | 2019-07-18 | 2021-01-21 | 南京依维柯汽车有限公司 | Remote upgrading system and upgrading method for fota firmware on new energy automobile |
CN112732295A (en) * | 2020-12-31 | 2021-04-30 | 东风汽车集团有限公司 | Boot loader flashing method based on multi-core ECU, electronic equipment and storage medium |
-
2021
- 2021-08-13 CN CN202110928975.0A patent/CN113590160B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7990974B1 (en) * | 2008-09-29 | 2011-08-02 | Sonicwall, Inc. | Packet processing on a multi-core processor |
CN104461610A (en) * | 2014-11-03 | 2015-03-25 | 桂林电子科技大学 | Platformized multi-ECU online flashing method |
US20180217942A1 (en) * | 2017-01-27 | 2018-08-02 | Lear Corporation | Hardware security for an electronic control unit |
CN109766116A (en) * | 2018-12-11 | 2019-05-17 | 湖北航天飞行器研究所 | A kind of multicore control assembly based on CAN communication guides upgrade method online |
WO2021008184A1 (en) * | 2019-07-18 | 2021-01-21 | 南京依维柯汽车有限公司 | Remote upgrading system and upgrading method for fota firmware on new energy automobile |
CN111475191A (en) * | 2020-04-04 | 2020-07-31 | 东风越野车有限公司 | Automobile controller software upgrading system and method based on multi-core technology |
CN112732295A (en) * | 2020-12-31 | 2021-04-30 | 东风汽车集团有限公司 | Boot loader flashing method based on multi-core ECU, electronic equipment and storage medium |
Non-Patent Citations (3)
Title |
---|
HALDER SUBIR ET AL.: "Secure over-the-air software updates in connected vehicles: A survey", COMPUTER NETWORKS, 4 September 2020 (2020-09-04), pages 1 - 19 * |
万开明 等: "车载OTA技术研究", 时代汽车, pages 10 - 11 * |
万开明;洪雷;: "车载OTA技术研究", 时代汽车, no. 11, 5 June 2020 (2020-06-05), pages 10 - 11 * |
Also Published As
Publication number | Publication date |
---|---|
CN113590160B (en) | 2024-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018041061A1 (en) | Onboard device upgrade method, device, system and computer storage medium | |
EP3493057B1 (en) | Method and apparatus for awakening application by means of mobile browser | |
CN110008690B (en) | Authority management method, device, equipment and medium for terminal application | |
CN107809324B (en) | Vehicle-mounted automatic diagnosis system equipment and upgrading method thereof | |
CN107193593B (en) | Upgrading method of upgradable file, set top box and storage medium | |
CN111459518A (en) | Vehicle ECU (electronic control Unit) upgrading method and system | |
US20130061222A1 (en) | Apparatus and method for managing optimized virtualization module | |
CN110196727A (en) | Electric vehicle Oftware updating method, device, handheld device and storage medium | |
WO2007066945A1 (en) | Method and system for providing streamed game software on portable terminal | |
CN110497920B (en) | Signal processing method, device and system | |
WO2022237122A1 (en) | In-vehicle welcome animation updating method and apparatus, vehicle-mounted terminal, and storage medium | |
CN112698857A (en) | Data flashing method and device | |
CN113282310A (en) | Application management method and system, vehicle-mounted device, server and readable storage medium | |
CN110275743A (en) | Skin change method, system and the vehicle at vehicle-mounted interface | |
CN111464351A (en) | Network distribution method and device for intelligent household equipment, terminal equipment and storage medium | |
CN114327185A (en) | Vehicle screen control method and device, medium and electronic equipment | |
CN113590160A (en) | Software online upgrading method and multi-core ECU | |
CN113127850A (en) | Browser password filling interaction control method and device | |
CN114640991A (en) | Network request method and application thereof | |
CN116866172A (en) | Diagnostic flashing system, method, device and medium in automobile OTA upgrading process | |
US11947950B2 (en) | Center, OTA master, method, non-transitory storage medium, and vehicle | |
CN115580536A (en) | ECU upgrading method, device, equipment and storage medium based on UDS protocol | |
CN113918189A (en) | Program upgrading method for main ECU and sub-ECUs, main ECU and system | |
CN110572384A (en) | Vehicle data processing method and device | |
US20140208438A1 (en) | Download management method and device based on android browser |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |