WO2024108456A1 - 一种控制器升级方法以及装置 - Google Patents
一种控制器升级方法以及装置 Download PDFInfo
- Publication number
- WO2024108456A1 WO2024108456A1 PCT/CN2022/133870 CN2022133870W WO2024108456A1 WO 2024108456 A1 WO2024108456 A1 WO 2024108456A1 CN 2022133870 W CN2022133870 W CN 2022133870W WO 2024108456 A1 WO2024108456 A1 WO 2024108456A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- storage area
- program
- upgrade
- address
- controller
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operations
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
Definitions
- the present application relates to the field of automobile diagnostic information technology, and in particular to a controller upgrading method and device.
- the boot loader (BL) program is the system's boot loader and is the first code to run after the system is powered on or reset. Its main functions include initialization, security verification and loading of applications.
- the BL program also has a unified diagnosis service (UDS) flash function to update the application program (APP) in BL program mode.
- UDS unified diagnosis service
- the current dual backup controller will back up the APP, and the APP can be upgraded while running in APP mode.
- the BL program can also be upgraded in APP mode, the BL program is responsible for the basic startup initialization and APP loading functions. When upgrading the BL program, it is easily affected by power outages and becomes bricked, and it cannot be reliably upgraded remotely.
- the present application provides a controller upgrade method and device for improving the success rate of remote upgrade.
- a first aspect of the present application provides a controller upgrade method, the controller comprising a first storage area and a second storage area, wherein a boot loader (BL) program is respectively stored in the first storage area and the second storage area, the method comprising: obtaining an upgrade file, wherein the upgrade file comprises a BL program upgrade package; upgrading a BL program in the first storage area according to the BL program upgrade package, wherein the first storage area is a backup storage area, and the second storage area is a running storage area; when the BL program in the first storage area is successfully upgraded, setting the first storage area as a running storage area, and setting the second storage area as a backup storage area.
- BL boot loader
- the BL program is first upgraded in the first storage area of the controller as a backup storage area through the BL program upgrade package in the upgrade file. After the upgrade is successful, the first storage area is set as the running storage area, and the second storage area is set as the backup area.
- the BL program in another storage area can be used to provide services, avoiding power outages during the BL program upgrade process that may cause the controller to become bricked, thereby improving the success rate of remote upgrades.
- the method further includes: upgrading the BL program in the second storage area according to the BL program upgrade package.
- the BL program of the second storage area currently used as the backup area can continue to be upgraded.
- the second storage area with the latest BL program can be switched to run, thereby improving the user experience.
- the method before the above-mentioned steps upgrade the BL program in the first storage area according to the BL program upgrade package, the method further includes: receiving a version number acquisition request from a host computer; sending the bottom soft version number of the application APP in the first storage area to the host computer according to the version number acquisition request; when the bottom soft version number belongs to a blacklist, receiving an instruction from the host computer, the blacklist includes a version number corresponding to which the BL program cannot be upgraded, and the instruction instructs the APP in the first storage area to be upgraded before the BL program in the first storage area.
- the host computer can read the bottom soft version number of the APP in the storage area in the controller through the version number acquisition request, and the controller can feedback the bottom soft version number of the APP in the first storage area or the second storage area to the host computer.
- the host computer matches that the bottom soft version number belongs to the blacklist, it means that the BL program in the storage area cannot be upgraded under the APP of the current bottom soft version number, so it is necessary to instruct the controller through instructions to upgrade the APP in the storage area first, and then upgrade the BL program in the storage area, which can improve the success rate of the BL program upgrade.
- the upgrade file also includes an APP upgrade package and/or a calibration Cal file upgrade package.
- the method also includes: upgrading the APP in the first storage area according to the APP upgrade package; and/or, upgrading the Cal file in the first storage area according to the Cal file.
- the upgrade file may also include an APP upgrade package and/or a Cal file upgrade package, that is, the upgrade file may include an APP upgrade package, or include a Cal file upgrade package, or may include both an APP upgrade package and a Cal file upgrade package, which is not limited here.
- the controller before switching the first storage area from the backup storage area to the running storage area, the controller also needs to upgrade the APP in the first storage area and/or the Cal file in the first storage area, that is, the APP upgrade package covers the storage address of the APP in the first storage area, and the Cal file upgrade package covers the storage address of the Cal file in the first storage area, so as to improve the matching degree of the program version.
- the upgrade file includes an upgrade address
- the above steps of upgrading the BL program in the first storage area according to the BL program upgrade package include: determining a first erase address according to the upgrade address, the first erase address being an address for erasing the BL in the first storage area; verifying whether the first erase address is in the address space where the BL program in the first storage area is located; when the verification passes, erasing the content on the first erase address; and storing the data of the BL program upgrade package at the first erase address.
- the controller when the controller upgrades the BL program in the first storage area according to the BL program upgrade package in the upgrade file, the controller can parse the upgrade address from the upgrade file, wherein the upgrade address can include the erase address corresponding to the BL program upgrade package. Since the storage area of the controller is divided into a first storage area and a second storage area, when the BL program in the first storage area needs to be upgraded, the first erase address of the BL program in the first storage area can be determined according to the erase address. At this time, the controller can verify the first erase address to verify whether the first erase address is in the address space allocated for the BL program in the first storage area.
- the first erase address is incorrect, and a negative response can be fed back to the upper computer. If the first erase address is in the address space, it means that the first erase address is valid, and the data on the first erase address can be directly erased, and then the data of the BL program upgrade package is stored in the erased first erase address to complete the upgrade of the BL program in the first storage area. By verifying the erase address through the allocated address space, the upgrade effect of the BL program is guaranteed and the success rate of the BL program upgrade is improved.
- the above steps of upgrading the BL program in the second storage area according to the BL program upgrade package include: determining a second erase address according to the upgrade address, the second erase address being an address for erasing the BL program in the second storage area; verifying whether the second erase address is in the address space where the BL program in the second storage area is located; when the verification passes, erasing the content on the second erase address; and storing the data of the BL program upgrade software package at the second erase address.
- the controller can also determine the second erase address for erasing the BL program in the second storage area according to the upgrade address in the upgrade file.
- the upgrade address may include the erase address corresponding to the BL program upgrade package. Since the storage area of the controller is divided into a first storage area and a second storage area, when the BL program in the second storage area needs to be upgraded, the second erase address for the BL program in the second storage area can be determined according to the erase address. At this time, the controller can verify the second erase address to verify whether the second erase address is in the address space allocated for the BL program in the second storage area. If it is not in the address space, it means that the second erase address is incorrect, and a negative response can be fed back to the upper computer.
- the second erase address is in the address space, it means that the second erase address is valid, and the data on the second erase address can be directly erased, and then the data of the BL program upgrade package is stored in the erased second erase address to complete the upgrade of the BL program in the second storage area.
- the upgrade effect of the BL program is guaranteed and the success rate of the BL program upgrade is improved.
- the method further includes: verifying whether a hash value of the BL program in the first storage area and a hash value of the BL program in the second storage area are the same; if they are the same, triggering the step of setting the first storage area as the running storage area and the second storage area as the backup storage area; if they are different, verifying the integrity of the BL program in the first storage area; and if the verification is successful, exchanging the secure boot setting values of the first storage area and the second storage area, and triggering the step of setting the first storage area as the running storage area and the second storage area as the backup storage area.
- the controller also needs to detect whether the BL program in the first storage area has completed the upgrade, and can detect whether the BL program in the first storage area is the same as the BL program in the second storage area, such as by verifying whether the hash value of the BL program in the first storage area and the hash value of the BL program in the second storage area are the same, that is, comparing whether the binary of the BL program in the first storage area is the same as the binary of the BL program in the second storage area.
- the controller can be triggered to set the first storage area as the running storage area and the second storage area as the backup storage area.
- the controller can also verify the integrity of the BL program in the first storage area. When the verification fails, that is, the integrity is insufficient, the BL program of the first storage area can be re-flashed, or a negative response can be fed back to the upper computer.
- the safety startup setting value is the verification basis for selecting the startup storage area when the controller is reset, that is, the safety startup setting value of the first storage area is switched to the preferred value, and after the reset, the controller can use the first storage area as the running storage area to complete the steps of setting the first storage area as the running storage area and setting the second storage area as the backup storage area.
- the method further includes: verifying whether a hash value of the BL program in the first storage area and a hash value of the BL program in the second storage area are the same; when they are different, triggering a step of upgrading the BL program in the second storage area according to the BL program upgrade package.
- the step of upgrading the BL program in the second storage area according to the BL program upgrade package can be performed again.
- the method further includes: executing a post-programming phase, where the post-programming phase is used to restore the local communication state.
- the controller and the host computer can also execute the post-programming stage, the controller makes the controller software effective by resetting, responds to the service instruction of the host computer, completes the necessary reset work, reopens the communication between the controller and the host computer, and starts controlling the diagnostic trouble code (DTC), clearing the DTC, and jumping the diagnostic session to restore the communication status of the controller, so that the controller can be used normally, restore the traffic status in time, and improve the user experience.
- DTC diagnostic trouble code
- a second aspect of the present application provides a controller upgrade method, the controller comprising a first storage area and a second storage area, wherein a boot loader BL program is respectively stored in the first storage area and the second storage area, the method comprising: sending a version number acquisition request to the controller, the version number acquisition request being used to read a bottom soft version number of an application APP in the first storage area; receiving the bottom soft version number from the controller; when the bottom soft version number belongs to a blacklist, sending an instruction to the controller, the blacklist including a version number corresponding to which the BL program cannot be upgraded, the instruction instructing the APP in the first storage area to be upgraded before the BL program in the first storage area.
- the host computer can read the bottom soft version number of the APP in the storage area of the controller through the version number acquisition request, and the controller can feedback the bottom soft version number of the APP in the first storage area or the second storage area to the host computer.
- the host computer matches that the bottom soft version number belongs to the blacklist, it means that the BL program in the storage area cannot be upgraded under the APP of the current bottom soft version number, so it is necessary to instruct the controller through instructions to upgrade the APP in the storage area first, and then upgrade the BL program in the storage area, which can improve the success rate of the BL program upgrade.
- the method further includes: executing a post-programming phase, where the post-programming phase is used to restore a local communication state.
- the third aspect of the present application provides a controller upgrade device, which can implement the method in the first aspect or any possible implementation of the first aspect.
- the device includes corresponding units or modules for executing the above method.
- the units or modules included in the device can be implemented by software and/or hardware.
- the device can be, for example, a network device, or a chip, a chip system, or a processor that supports the network device to implement the above method, or a logic module or software that can implement all or part of the network device functions.
- a controller upgrade device which can implement the method in the second aspect or any possible implementation of the second aspect.
- the device includes a corresponding unit or module for executing the above method.
- the unit or module included in the device can be implemented by software and/or hardware.
- the device can be, for example, a network device, or a chip, a chip system, or a processor that supports the network device to implement the above method, or a logic module or software that can implement all or part of the network device functions.
- the present application provides a computer device, including: a processor, the processor is coupled to a memory, the memory is used to store instructions, and when the instructions are executed by the processor, the computer device implements the method in the first aspect or any possible implementation of the first aspect.
- the computer device may be, for example, a network device, or a chip or chip system that supports the network device to implement the above method.
- the present application provides a computer device, including: a processor, the processor is coupled to a memory, the memory is used to store instructions, and when the instructions are executed by the processor, the computer device implements the method in the second aspect or any possible implementation of the second aspect.
- the computer device may be, for example, a network device, or a chip or chip system that supports the network device to implement the above method.
- the seventh aspect of the present application provides a computer-readable storage medium, which stores instructions.
- the instructions are executed by a processor, the method provided by the first aspect or any possible implementation of the first aspect, the second method or any possible implementation of the second method is implemented.
- the present application provides a computer program product, which includes a computer program code.
- the computer program code When executed on a computer, it implements the method provided by the first aspect or any possible implementation method of the first aspect, the second method or any possible implementation method of the second method.
- FIG1 is a system architecture diagram of a communication transmission provided by an embodiment of the present application.
- FIG2 is a schematic diagram of a flow chart of a controller upgrade method provided in an embodiment of the present application.
- FIG3 is a schematic diagram of a flow chart of a pre-programming step provided in an embodiment of the present application.
- FIG4 is a schematic diagram of a flow chart of a reprogramming step provided in an embodiment of the present application.
- FIG5 is a schematic flow chart of a section cutting operation step provided in an embodiment of the present application.
- FIG6 is a schematic diagram of an exchange of secure startup setting values provided in an embodiment of the present application.
- FIG7 is a schematic diagram of the overall flow of a controller upgrade BL program provided in an embodiment of the present application.
- FIG8 is a schematic diagram of the structure of a controller upgrading device provided in an embodiment of the present application.
- FIG9 is a schematic diagram of the structure of another controller upgrading device provided in an embodiment of the present application.
- FIG10 is a schematic diagram of the structure of a computer device provided in an embodiment of the present application.
- FIG. 11 is a schematic diagram of the structure of another computer device provided in an embodiment of the present application.
- the embodiments of the present application provide a node upgrade method and device for reducing the workload of a host computer and slave nodes, thereby saving R&D and production costs.
- ECU Electronic control unit
- ECU is also known as driving computer, on-board computer, etc.
- it is a car-specific microcomputer controller, also called a car-specific single-chip microcomputer.
- MCU microprocessor
- read-only memory read-only memory
- RAM random access memory
- I/O input/output interface
- A/D analog-to-digital converter
- large-scale integrated circuits such as shaping and driving.
- the central processing unit is the core part, which has the functions of calculation and control. For example, when the engine is running, it collects signals from various sensors for calculation, and converts the results of the calculation into control signals to control the operation of the controlled object; it also implements the control of memory (such as ROM), I/O and other external circuits.
- ECU generally has fault self-diagnosis and protection functions. When the system fails, it can automatically record the fault code in RAM and use protection measures to read the replacement program from the inherent program to maintain the operation of the corresponding component (such as the engine). At the same time, these fault information will be displayed on the dashboard and remain unchanged, so that the owner can find the problem in time and drive the car to the repair shop. Under normal circumstances, RAM will also continuously record the data of the car during driving, and learn the real-time recorded data through adaptive programs to provide the best control state to adapt to the driving habits of the owner.
- ECUs have a relatively simple structure. There may be dozens or even hundreds of ECUs on a vehicle, such as the ECU used on the engine and the ECU used on the anti-lock braking system. The functions of each ECU are relatively independent. With the development of digital cars, especially autonomous driving technology, the ECUs on cars are becoming increasingly complex and tend to be concentrated on a super ECU. As a result, the difficulty of ECU diagnosis is also increasing.
- the host computer refers to a computer device that can directly issue control commands.
- any computer device that can communicate with the ECU based on the UDS protocol can be called a host computer (also called a diagnostic instrument, diagnostic machine, diagnostic tool, etc.).
- a host computer also called a diagnostic instrument, diagnostic machine, diagnostic tool, etc.
- PC personal computers
- mobile phones mobile phones
- tablet computers and other smart handheld terminal devices as well as smart wearable devices
- smart bracelets and smart watches and even single-chip microcomputers, as long as the device can run the corresponding diagnostic software and can communicate with the ECU based on the UDS protocol
- the specific details are not limited here.
- UDS International Organization for Standardization
- ISO International Organization for Standardization
- UDS is a universal automotive diagnostic protocol that is independent of the data link.
- OSI open system interconnection
- CAN controller area network
- LIN local interconnect network
- Flexray Ethernet
- K-line K-line
- the communication system includes an over-the-air technology (OTA) server 101 and a dual backup controller 102, wherein the dual backup controller 102 includes a CAN/Ethernet communication module 1021, a flash driver (FlashDriver) module 1022, a flash storage area 1023, and a central processing unit (CPU) unit 1024.
- OTA over-the-air technology
- flashDriver flash driver
- CPU central processing unit
- the OTA server remotely manages the software through the mobile communication interface.
- the remote OTA server 101 transmits the upgrade instruction to the controller through the CAN/Ethernet communication module 1021 via the intermediate forwarding node 103 for upgrading.
- the Flash storage area 1023 includes area A and area B, wherein area A and area B respectively store the boot loader (BootLoader, BL), application program (application program, APP), and calibration (calibration, Cal) files.
- boot loader BitLoader
- application program application program, APP
- calibration calibration, Cal
- the above OTA server is the host computer of this application.
- BL is the system's boot loader, which is the first code to run after the system is powered on or reset. Its main functions include initialization, security verification and loading of applications.
- BL also has a unified diagnostic service (UDS) flash function to update the application program (APP) in BL mode.
- UDS unified diagnostic service
- APP application program
- the current dual backup controller will back up the APP, and the APP can be upgraded while running in APP mode.
- the BL can also be upgraded in APP mode, the BL is responsible for the basic startup initialization and APP loading functions. When upgrading the BL, it is easily affected by power outages and becomes bricked, and cannot be reliably upgraded remotely.
- an embodiment of the present application provides a controller upgrade method, which is described as follows.
- FIG. 2 is a flow chart of a controller upgrade method provided by an embodiment of the present application.
- the method includes:
- Step 201 The controller obtains an upgrade file, which includes a BL program upgrade package.
- the upgrade file is provided by the OTA server.
- the OTA server wants to upgrade the BL program of the controller, it can send the upgrade file carrying the BL program upgrade package to the controller.
- the controller can receive the upgrade file from the OTA server.
- the host computer When the host computer determines that the ECU program of the target vehicle needs to be upgraded, it can first query the information of the controller of the target vehicle through the version query instruction, which includes the version information of the APP, and then select the version that matches the other ECU versions of the target vehicle when selecting the APP version of the controller.
- the host computer can package the various upgrade software packages of the controller into a total upgrade file, where the upgrade file includes the BL program upgrade software package, and then enter the host computer upgrade process, that is, the host computer sends the upgrade file to the controller.
- Step 202 The controller upgrades the BL program in the first storage area according to the BL program upgrade package, the first storage area is a backup storage area, and the second storage area is a running storage area.
- the storage area of the controller can be multiple storage areas, one of which is a running storage area, and the other storage areas are backup storage areas.
- Each storage area stores a BL program.
- the embodiment of the present application takes two storage areas as an example.
- the controller currently uses the BL program in the second storage area as the running storage area to provide BL program services.
- the controller can first upgrade the BL program in the first storage area as the backup storage area, that is, the BL program upgrade package overwrites the storage address of the BL program in the first storage area.
- the controller before the controller upgrades the BL program in the first storage area according to the BL program upgrade package, in a pre-programming step, it is also necessary to receive a version number acquisition request from a host computer, and send the bottom soft version number of the application APP in the first storage area to the host computer according to the version number acquisition request; when the bottom soft version number belongs to a blacklist, an instruction from the host computer is received, the blacklist includes version numbers corresponding to which the BL program cannot be upgraded, and the instruction instructs the APP in the first storage area to be upgraded before the BL program in the first storage area.
- the host computer can read the bottom soft version number of the APP in the storage area in the controller through the version number acquisition request, and the controller can feedback the bottom soft version number of the APP in the first storage area or the second storage area to the host computer. If the host computer matches that the bottom soft version number belongs to the blacklist, it means that the BL program in the storage area cannot be upgraded under the APP with the current bottom soft version number, so it is necessary to instruct the controller through instructions to upgrade the APP in the storage area first, and then upgrade the BL program in the storage area.
- step 301 Entering the extended session ($10$03); step 302.
- Pre-programming condition check ($31); step 303.
- step 303 Turning off the control diagnostic trouble code (DTC) ($85$02); step 304.
- step 304 Turning off the communication ($28); step 305.
- Reading the bottom soft version number ($22$F1FF).
- the controller turns off the DTC and communication to avoid communication errors and DTC errors.
- the upgrade file may also include an APP upgrade package and/or a Cal file upgrade package, that is, the upgrade file may include an APP upgrade package, or include a Cal file upgrade package, or may include both an APP upgrade package and a Cal file upgrade package, which is not limited here.
- the controller before switching the first storage area from the backup storage area to the running storage area, the controller also needs to upgrade the APP in the first storage area and/or the Cal file in the first storage area, that is, the APP upgrade package covers the storage address of the APP in the first storage area, and the Cal file upgrade package covers the storage address of the Cal file in the first storage area.
- the controller can parse the upgrade address from the upgrade file, wherein the upgrade address can include the erase address corresponding to the BL program upgrade package. Since the storage area of the controller is divided into a first storage area and a second storage area, when the BL program in the first storage area needs to be upgraded, the first erase address of the BL program in the first storage area can be determined according to the erase address. At this time, the controller can verify the first erase address to verify whether the first erase address is within the address space allocated for the BL program in the first storage area. If it is not within the address space, it means that the first erase address is incorrect, and a negative response can be fed back to the upper computer.
- the first erase address is within the address space, it means that the first erase address is valid, and the data on the first erase address can be directly erased, and then the data of the BL program upgrade package is stored in the erased first erase address to complete the upgrade of the BL program in the first storage area.
- Step 203 When the BL program in the first storage area is successfully upgraded, the controller sets the first storage area as the running storage area, and sets the second storage area as the backup storage area.
- the currently running storage area can be switched to the first storage area with the upgraded BL program to provide better service.
- the first storage area is the running storage area and the second storage area is the backup storage area.
- the controller Before executing step 203, the controller also needs to detect whether the BL program in the first storage area has been upgraded. It can detect whether the BL program in the first storage area is the same as the BL program in the second storage area, such as by checking whether the hash value of the BL program in the first storage area is the same as the hash value of the BL program in the second storage area, that is, comparing whether the binary of the BL program in the first storage area is the same as the binary of the BL program in the second storage area. When the binary of the BL program in the first storage area is the same as the hash value of the BL program in the second storage area, the controller can be triggered to set the first storage area as the running storage area and the second storage area as the backup storage area.
- the controller can also verify the integrity of the BL program in the first storage area. When the verification fails, that is, the integrity is insufficient, the BL program of the first storage area can be re-flashed, or a negative response can be fed back to the upper computer.
- the controller can use the first storage area as the running storage area to complete the steps of setting the first storage area as the running storage area and setting the second storage area as the backup storage area.
- the embodiment of the present application modifies the execution method of erasing memory in the reprogramming stage, and adds a zone cutting operation.
- the process of the reprogramming stage is shown in Figure 4, step 401. Enter programming session ($10$02); step 402. Security unlock ($27); step 403. Write fingerprint ($2E$F184); step 404. Download flash driver (FlashDriver); step 405. Erase the memory of the first storage area ($31$01$FF00); step 406. Download BL program/APP/Cal file; step 407. Determine whether all bytes have been downloaded, if yes, execute step 408, otherwise execute step 405; step 408. Programming dependency check; step 409. Zone cutting operation.
- step 501 Calculate the hash value of the BL program in the first storage area and the hash value of the BL program in the second storage area; step 502. Compare whether the two hash values are inconsistent, if yes, execute step 503, otherwise execute step 511; step 503. Verify the integrity of the BL program in the first storage area; step 504. Determine whether the verification is passed, if yes, execute step 505, otherwise execute step 510; step 505. Exchange the security startup setting values of the first storage area and the second storage area; step 506. Determine whether the exchange is successful, if yes, execute step 507, otherwise execute step 510; step 507.
- UMB user configuration block
- the original secure boot setting value of the second storage area is entry1
- the secure boot setting value of the first storage area is entry12.
- the secure boot setting value of the second storage area is entry12
- the secure boot setting value of the first storage area is entry1. Then, each subsequent time the controller is started, entry1 will be firstly checked for startup, and if the check passes, the first storage area will be used for startup.
- the BL program in the second storage area currently used as the backup area can be continuously upgraded.
- the second storage area with the latest BL program can be switched to run, thereby improving user experience.
- the controller can also determine the second erase address for erasing the BL program in the second storage area according to the upgrade address in the upgrade file.
- the upgrade address may include the erase address corresponding to the BL program upgrade package. Since the storage area of the controller is divided into a first storage area and a second storage area, when the BL program in the second storage area needs to be upgraded, the second erase address for the BL program in the second storage area can be determined according to the erase address. At this time, the controller can verify the second erase address to verify whether the second erase address is within the address space allocated for the BL program in the second storage area. If it is not within the address space, it means that the second erase address is incorrect, and a negative response can be fed back to the upper computer.
- the second erase address is within the address space, it means that the second erase address is valid, and the data on the second erase address can be directly erased, and then the data of the BL program upgrade package is stored in the erased second erase address to complete the upgrade of the BL program in the second storage area.
- the process of the controller upgrading the BL program in the second storage area can also refer to the process in FIG. 4 , which will not be described in detail here.
- the BL program in the second storage area After the BL program in the second storage area is upgraded, it is also possible to verify whether the hash value of the BL program in the first storage area is the same as the hash value of the BL program in the second storage area, that is, to determine whether the BL program in the second storage area is upgraded successfully.
- the verification fails, that is, the hash value of the BL program in the first storage area is different from the hash value of the BL program in the second storage area, it means that the BL program in the second storage area has failed to be upgraded and needs to be upgraded again.
- the step of upgrading the BL program in the second storage area according to the BL program upgrade package can be executed again.
- the controller and the host computer can also execute the post-programming stage.
- the controller makes the controller software effective by resetting, responds to the service instructions of the host computer, completes the necessary reset work, reopens the communication between the controller and the host computer, and turns on DTC, clears DTC, and jumps the diagnostic session to restore the communication status of the controller so that the controller can be used normally.
- the overall flow chart of the controller upgrading the BL program in the embodiment of the present application can be shown in Figure 7, step 701.
- the controller obtains the upgrade file; step 702.
- the controller upgrades the BL program, APP and Cal files in the first storage area; step 703. Detect whether the first storage area is upgraded successfully, if yes, execute step 705, otherwise execute step 704; step 704:
- the controller stays in the second storage area to run and re-upgrades the program in the first storage area; step 705.
- the controller switches the running storage area to the first storage area; step 706.
- the controller upgrades the BL program in the second storage area; step 707. Detect whether the BL program in the second storage area is upgraded successfully, if yes, execute step 708, otherwise execute step 706; step 708.
- the BL program is first upgraded in the first storage area of the controller as a backup storage area through the BL program upgrade package in the upgrade file. After the upgrade is successful, the first storage area is set as the running storage area, and the second storage area is set as the backup storage area.
- the BL program in another storage area can be used to provide services, thereby avoiding power failure during the BL program upgrade process that may cause the controller to become bricked, thereby improving the success rate of remote upgrades.
- the controller upgrade method is described above, and the device for executing the method is described below.
- the controller includes a first storage area and a second storage area.
- the first storage area and the second storage area respectively store a boot loader BL program.
- the device 80 includes:
- the processing unit 801 is used to obtain an upgrade file, where the upgrade file includes a BL program upgrade package, and upgrade the BL program in the first storage area according to the BL program upgrade package, where the first storage area is a backup storage area, and the second storage area is a running storage area.
- the first storage area is set as the running storage area
- the second storage area is set as the backup storage area.
- the processing unit 801 is used to execute steps 201 to 203 in the method embodiment of FIG. 2 .
- processing unit 801 is further configured to: upgrade the BL program in the second storage area according to the BL program upgrade package.
- the device 80 further includes a transceiver unit 802, and the transceiver unit 802 is specifically configured to:
- the blacklist includes the version number corresponding to which the BL program cannot be upgraded, and the instruction instructs the APP in the first storage area to be upgraded before the BL program in the first storage area.
- the upgrade file also includes an APP upgrade package and/or a calibration Cal file upgrade package, and the processing unit 801 is further used to:
- the Cal file in the first storage area is updated according to the Cal file.
- the upgrade file includes an upgrade address
- the processing unit 801 is specifically configured to:
- the first erasing address is an address for erasing the BL of the first storage area
- the data of the BL program upgrade package is stored in the first erasing address.
- processing unit 801 is specifically configured to:
- the data of the BL program upgrade software package is stored in the second erase address.
- processing unit 801 is further configured to:
- the secure boot setting values of the first storage area and the second storage area are exchanged, and the step of setting the first storage area as the running storage area and setting the second storage area as the backup storage area is triggered.
- processing unit 801 is further configured to:
- processing unit 801 is further configured to:
- the post-programming phase is executed, and the post-programming phase is used to restore the local communication status.
- FIG. 9 another controller upgrade device provided by an embodiment of the present application is shown.
- the controller includes a first storage area and a second storage area.
- the first storage area and the second storage area respectively store a boot loader BL program.
- the device 90 includes:
- the transceiver unit 901 is used to send a version number acquisition request to the controller, the version number acquisition request is used to read the bottom soft version number of the application APP in the first storage area, receive the bottom soft version number from the controller, and when the bottom soft version number belongs to the blacklist, send an instruction to the controller, the blacklist includes the version number corresponding to the BL program that cannot be upgraded, and the instruction instructs the APP in the first storage area to be upgraded before the BL program in the first storage area.
- the device 90 further includes a processing unit 902, and the processing unit 902 is specifically configured to:
- the post-programming phase is executed, and the post-programming phase is used to restore the local communication status.
- FIG10 shows a possible logical structure diagram of a computer device 100 provided in an embodiment of the present application.
- the computer device 100 includes: a processor 1001, a communication interface 1002, a storage system 1003 and a bus 1004.
- the processor 1001, the communication interface 1002 and the storage system 1003 are interconnected via the bus 1004.
- the processor 1001 is used to control and manage the actions of the computer device 100.
- the processor 1001 is used to execute the steps performed by the controller in the method embodiment of FIG2.
- the communication interface 1002 is used to support the computer device 100 to communicate.
- the storage system 1003 is used to store program codes and data of the computer device 100.
- the processor 1001 can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It can implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application.
- the processor 1001 can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and the like.
- the bus 1004 can be a peripheral component interconnect standard (Peripheral Component Interconnect, PCI) bus or an extended industry standard architecture (Extended Industry Standard Architecture, EISA) bus, etc.
- PCI peripheral component interconnect standard
- EISA Extended Industry Standard Architecture
- the bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in FIG. 10, but it does not mean that there is only one bus or
- the transceiver unit 802 in the apparatus 80 is equivalent to the communication interface 1002 in the computer device 100
- the processing unit 801 in the apparatus 80 is equivalent to the processor 1001 in the computer device 100 .
- the computer device 100 of this embodiment may correspond to the controller in the method embodiment of FIG. 2 .
- the communication interface 1002 in the computer device 100 may implement the functions and/or various steps of the controller in the method embodiment of FIG. 2 . For the sake of brevity, they will not be described in detail here.
- the computer device 110 includes: a processor 1101, a communication interface 1102, a storage system 1103 and a bus 1104.
- the processor 1101, the communication interface 1102 and the storage system 1103 are interconnected via the bus 1104.
- the processor 1101 is used to control and manage the actions of the computer device 110.
- the processor 1101 is used to execute the steps performed by the host computer in the method embodiment of FIG2.
- the communication interface 1102 is used to support the computer device 110 to communicate.
- the storage system 1103 is used to store the program code and data of the computer device 110.
- the processor 1101 can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It can implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application.
- the processor 1101 can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and the like.
- the bus 1104 can be a peripheral component interconnect standard (Peripheral Component Interconnect, PCI) bus or an extended industry standard architecture (Extended Industry Standard Architecture, EISA) bus, etc.
- PCI peripheral component interconnect standard
- EISA Extended Industry Standard Architecture
- the bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in Figure 11, but it does not mean that there is only one bus or one
- the transceiver unit 901 in the apparatus 90 is equivalent to the communication interface 1102 in the computer device 110
- the processing unit 902 in the apparatus 90 is equivalent to the processor 1101 in the computer device 110 .
- the computer device 110 of this embodiment may correspond to the host computer in the method embodiment of FIG. 2 .
- the communication interface 1102 in the computer device 110 may implement the functions and/or various steps of the host computer in the method embodiment of FIG. 2 . For the sake of brevity, they will not be described in detail here.
- each unit in the above device can be fully or partially integrated into one physical entity, or they can be physically separated.
- the units in the device can all be implemented in the form of software calling through processing elements; they can also be all implemented in the form of hardware; some units can also be implemented in the form of software calling through processing elements, and some units can be implemented in the form of hardware.
- each unit can be a separately established processing element, or it can be integrated in a certain chip of the device.
- it can also be stored in the memory in the form of a program, and called and executed by a certain processing element of the device. The function of the unit.
- each step of the above method or each unit above can be implemented by an integrated logic circuit of hardware in the processor element or in the form of software calling through a processing element.
- the unit in any of the above devices may be one or more integrated circuits configured to implement the above method, such as one or more application specific integrated circuits (ASIC), or one or more digital singnal processors (DSP), or one or more field programmable gate arrays (FPGA), or a combination of at least two of these integrated circuit forms.
- ASIC application specific integrated circuits
- DSP digital singnal processors
- FPGA field programmable gate arrays
- the unit in the device can be implemented in the form of a processing element scheduler
- the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call a program.
- CPU central processing unit
- these units can be integrated together and implemented in the form of a system-on-a-chip (SOC).
- a computer-readable storage medium in which computer-executable instructions are stored.
- the processor of the device executes the computer-executable instructions
- the device executes the method executed by the main control node in the above method embodiment.
- a computer program product comprising computer executable instructions, the computer executable instructions being stored in a computer readable storage medium.
- the device executes the method executed by the main control node in the above method embodiment.
- the disclosed systems, devices and methods can be implemented in other ways.
- the device embodiments described above are only schematic.
- the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
- Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
- the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
- the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application.
- the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), disk or optical disk and other media that can store program code.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims (26)
- 一种控制器升级方法,其特征在于,所述控制器包括第一存储区域和第二存储区域,所述第一存储区域和第二存储区域中分别保存有引导装载BL程序,所述方法包括:获取升级文件,所述升级文件包括BL程序升级包;根据所述BL程序升级包对所述第一存储区域的BL程序进行升级,所述第一存储区域为备份存储区域,所述第二存储区域为运行存储区域;当所述第一存储区域的BL程序升级成功时,将所述第一存储区域设置为运行存储区域,并将第二存储区域设置为备份存储区域。
- 根据权利要求1所述的方法,其特征在于,在将所述第一存储区域设置为运行存储区域,并将第二存储区域设置为备份存储区域之后,所述方法还包括:根据所述BL程序升级包对所述第二存储区域的BL程序进行升级。
- 根据权利要求1或2所述的方法,其特征在于,所述根据所述BL程序升级包对第一存储区域的BL程序进行升级之前,所述方法还包括:接收来自上位机的版本号获取请求;根据所述版本号获取请求向所述上位机发送所述第一存储区域的应用程序APP的底软版本号;当所述底软版本号属于黑名单时,接收来自所述上位机的指令,所述黑名单包括BL程序无法升级对应的版本号,所述指令指示所述第一存储区域的APP在所述第一存储区域的BL程序之前升级。
- 根据权利要求1-3任一项所述的方法,其特征在于,所述升级文件还包括APP升级包和/或标定Cal文件升级包,所述将所述第一存储区域设置为运行存储区域,并将第二存储区域设置为备份存储区域之前,所述方法还包括:根据所述APP升级包升级所述第一存储区域的APP;和/或,根据所述Cal文件升级所述第一存储区域的Cal文件。
- 根据权利要求1-4任一项所述的方法,其特征在于,所述升级文件包括升级地址,所述根据所述BL程序升级包对所述第一存储区域的BL程序进行升级包括:根据所述升级地址确定第一擦除地址,所述第一擦除地址为对所述第一存储区域的BL进行擦除的地址;校验所述第一擦除地址是否在所述第一存储区域的BL程序所在的地址空间;当校验通过时,将所述第一擦除地址上的内容擦除;将所述BL程序升级包的数据存储在所述第一擦除地址。
- 根据权利要求5所述的方法,其特征在于,所述根据所述BL程序升级包对第二存储区域的BL程序进行升级包括:根据所述升级地址确定第二擦除地址,所述第二擦除地址为对所述第二存储区域的BL程序进行擦除的地址;校验所述第二擦除地址是否在所述第二存储区域的BL程序所在的地址空间;当校验通过时,将所述第二擦除地址上的内容擦除;将所述BL程序升级软件包的数据存储在所述第二擦除地址。
- 根据权利要求1-6任一项所述的方法,其特征在于,所述将所述第一存储区域设置为运行存储区域,并将第二存储区域设置为备份存储区域之前,所述方法还包括:校验所述第一存储区域的BL程序的哈希值和所述第二存储区域的BL程序的哈希值是否相同;当相同时,则触发所述将所述第一存储区域设置为运行存储区域,并将第二存储区域设置为备份存储区域的步骤;当不同时,校验所述第一存储区域的BL程序的完整性;当校验成功时,交换所述第一存储区域和所述第二存储区域的安全启动设置值,并触发所述将所述第一存储区域设置为运行存储区域,并将第二存储区域设置为备份存储区域的步骤。
- 根据权利要求2所述的方法,其特征在于,所述根据所述BL程序升级包对第二存储区域的BL程序进行升级之后,所述方法还包括:校验所述第一存储区域的BL程序的哈希值和所述第二存储区域的BL程序的哈希值是否相同;当不同时,触发所述根据所述BL程序升级包对所述第二存储区域的BL程序进行升级的步骤。
- 根据权利要求2或8所述的方法,其特征在于,所述根据所述BL程序升级包对第二存储区域的BL程序进行升级之后,所述方法还包括:执行后编程阶段,所述后编程阶段用于恢复本地的通信状态。
- 一种控制器升级方法,其特征在于,所述控制器包括第一存储区域和第二存储区域,所述第一存储区域和第二存储区域中分别保存有引导装载BL程序,所述方法包括:向控制器发送版本号获取请求,所述版本号获取请求用于读取所述第一存储区域的应用程序APP的底软版本号;接收来自所述控制器的所述底软版本号;当所述底软版本号属于黑名单时,向所述控制器发送指令,所述黑名单包括BL程序无法升级对应的版本号,所述指令指示所述第一存储区域的APP在所述第一存储区域的BL程序之前升级。
- 根据权利要求10所述的方法,其特征在于,所述方法还包括:执行后编程阶段,所述后编程阶段用于恢复本地的通信状态。
- 一种控制器升级装置,其特征在于,所述控制器包括第一存储区域和第二存储区域,所述第一存储区域和第二存储区域中分别保存有引导装载BL程序,所述装置包括:处理单元,用于获取升级文件,所述升级文件包括BL程序升级包,根据所述BL程序升级包对所述第一存储区域的BL程序进行升级,所述第一存储区域为备份存储区域,所述第二存储区域为运行存储区域,当所述第一存储区域的BL程序升级成功时,将所述第一存储区域设置为运行存储区域,并将第二存储区域设置为备份存储区域。
- 根据权利要求12所述的装置,其特征在于,所述处理单元还用于:根据所述BL程序升级包对所述第二存储区域的BL程序进行升级。
- 根据权利要求12或13所述的装置,其特征在于,所述装置还包括收发单元,所述收发单元具体用于:接收来自上位机的版本号获取请求;根据所述版本号获取请求向所述上位机发送所述第一存储区域的应用程序APP的底软版本号;当所述底软版本号属于黑名单时,接收来自所述上位机的指令,所述黑名单包括BL程序无法升级对应的版本号,所述指令指示所述第一存储区域的APP在所述第一存储区域的BL程序之前升级。
- 根据权利要求12-14任一项所述的装置,其特征在于,所述升级文件还包括APP升级包和/或标定Cal文件升级包,所述处理单元还用于:根据所述APP升级包升级所述第一存储区域的APP;和/或,根据所述Cal文件升级所述第一存储区域的Cal文件。
- 根据权利要求12-15任一项所述的装置,其特征在于,所述升级文件包括升级地址,所述处理单元具体用于:根据所述升级地址确定第一擦除地址,所述第一擦除地址为对所述第一存储区域的BL进行擦除的地址;校验所述第一擦除地址是否在所述第一存储区域的BL程序所在的地址空间;当校验通过时,将所述第一擦除地址上的内容擦除;将所述BL程序升级包的数据存储在所述第一擦除地址。
- 根据权利要求16所述的装置,其特征在于,所述处理单元具体用于:根据所述升级地址确定第二擦除地址,所述第二擦除地址为对所述第二存储区域的BL程序进行擦除的地址;校验所述第二擦除地址是否在所述第二存储区域的BL程序所在的地址空间;当校验通过时,将所述第二擦除地址上的内容擦除;将所述BL程序升级软件包的数据存储在所述第二擦除地址。
- 根据权利要求12-17任一项所述的装置,其特征在于,所述处理单元还用于:校验所述第一存储区域的BL程序的哈希值和所述第二存储区域的BL程序的哈希值是否相同;当相同时,则触发所述将所述第一存储区域设置为运行存储区域,并将第二存储区域设置为备份存储区域的步骤;当不同时,校验所述第一存储区域的BL程序的完整性;当校验成功时,交换所述第一存储区域和所述第二存储区域的安全启动设置值,并触发所述将所述第一存储区域设置为运行存储区域,并将第二存储区域设置为备份存储区域的步骤。
- 根据权利要求13所述的装置,其特征在于,所述处理单元还用于:校验所述第一存储区域的BL程序的哈希值和所述第二存储区域的BL程序的哈希值是 否相同;当不同时,触发所述根据所述BL程序升级包对所述第二存储区域的BL程序进行升级的步骤。
- 根据权利要求13或19所述的装置,其特征在于,所述处理单元还用于:执行后编程阶段,所述后编程阶段用于恢复本地的通信状态。
- 一种控制器升级装置,其特征在于,所述控制器包括第一存储区域和第二存储区域,所述第一存储区域和第二存储区域中分别保存有引导装载BL程序,所述装置包括:收发单元,用于向控制器发送版本号获取请求,所述版本号获取请求用于读取所述第一存储区域的应用程序APP的底软版本号,接收来自所述控制器的所述底软版本号,当所述底软版本号属于黑名单时,向所述控制器发送指令,所述黑名单包括BL程序无法升级对应的版本号,所述指令指示所述第一存储区域的APP在所述第一存储区域的BL程序之前升级。
- 根据权利要求21所述的装置,其特征在于,所述装置还包括处理单元,所述处理单元具体用于:执行后编程阶段,所述后编程阶段用于恢复本地的通信状态。
- 一种计算机设备,其特征在于,包括:处理器,所述处理器与存储器耦合,所述处理器用于执行所述存储器中存储的指令,使得所述计算机设备执行如权利要求1至9中任一项所述的方法。
- 一种计算机设备,其特征在于,包括:处理器,所述处理器与存储器耦合,所述处理器用于执行所述存储器中存储的指令,使得所述计算机设备执行如权利要求10至11中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令被处理器执行时,实现如权利要求1至11中任一项所述的方法。
- 一种计算机程序产品,其特征在于,所述计算机程序产品中包括计算机程序代码,其特征在于,当所述计算机程序代码在计算机上运行时,实现如权利要求1至11中任一项所述的方法。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202280101809.6A CN120202646A (zh) | 2022-11-24 | 2022-11-24 | 一种控制器升级方法以及装置 |
| PCT/CN2022/133870 WO2024108456A1 (zh) | 2022-11-24 | 2022-11-24 | 一种控制器升级方法以及装置 |
| EP22966151.7A EP4618488A4 (en) | 2022-11-24 | 2022-11-24 | METHOD FOR UPGRADING CONTROL DEVICES AND APPARATUS |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2022/133870 WO2024108456A1 (zh) | 2022-11-24 | 2022-11-24 | 一种控制器升级方法以及装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024108456A1 true WO2024108456A1 (zh) | 2024-05-30 |
Family
ID=91194827
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2022/133870 Ceased WO2024108456A1 (zh) | 2022-11-24 | 2022-11-24 | 一种控制器升级方法以及装置 |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4618488A4 (zh) |
| CN (1) | CN120202646A (zh) |
| WO (1) | WO2024108456A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120950101A (zh) * | 2025-09-25 | 2025-11-14 | 瑞芯微电子股份有限公司 | 升级固件的方法、电子设备 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102742712B1 (ko) * | 2022-12-28 | 2024-12-12 | 현대오토에버 주식회사 | 차량의 ecu의 소프트웨어 업데이트 방법 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070083744A1 (en) * | 2005-10-10 | 2007-04-12 | Samsung Electronics Co., Ltd. | Digital broadcast processing apparatus and boot loader upgrade method thereof |
| CN110096300A (zh) * | 2019-04-08 | 2019-08-06 | 上海赛治信息技术有限公司 | 一种fpga程序文件备份管理系统、运行方法及升级方法 |
| CN110134415A (zh) * | 2019-04-12 | 2019-08-16 | 深圳市致宸信息科技有限公司 | 一种控制器及其软件升级方法和装置 |
| CN112506535A (zh) * | 2020-05-22 | 2021-03-16 | 上海擎度汽车科技有限公司 | 一种汽车ECU控制器更新升级Bootloader软件的方法 |
| CN113918200A (zh) * | 2021-09-30 | 2022-01-11 | 深圳市戴升智能科技有限公司 | 高效可靠的嵌入式设备应用程序无线升级方法 |
| CN114064095A (zh) * | 2020-08-10 | 2022-02-18 | 威马智慧出行科技(上海)有限公司 | 车载软件的升级方法、车载控制器、车辆及存储介质 |
| CN115061713A (zh) * | 2021-03-08 | 2022-09-16 | 华为技术有限公司 | 升级电子设备的方法及装置 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20140060912A (ko) * | 2012-11-13 | 2014-05-21 | 한국전자통신연구원 | 부트로더를 업데이트하는 방법 및 장치 |
| DE102018208096A1 (de) * | 2018-05-23 | 2019-11-28 | Robert Bosch Gmbh | Verfahren zum Austauschen eines ersten ausführbaren Programm-Codes und eines zweiten ausführbaren Programm-Codes und Steuergerät |
-
2022
- 2022-11-24 CN CN202280101809.6A patent/CN120202646A/zh active Pending
- 2022-11-24 EP EP22966151.7A patent/EP4618488A4/en active Pending
- 2022-11-24 WO PCT/CN2022/133870 patent/WO2024108456A1/zh not_active Ceased
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070083744A1 (en) * | 2005-10-10 | 2007-04-12 | Samsung Electronics Co., Ltd. | Digital broadcast processing apparatus and boot loader upgrade method thereof |
| CN110096300A (zh) * | 2019-04-08 | 2019-08-06 | 上海赛治信息技术有限公司 | 一种fpga程序文件备份管理系统、运行方法及升级方法 |
| CN110134415A (zh) * | 2019-04-12 | 2019-08-16 | 深圳市致宸信息科技有限公司 | 一种控制器及其软件升级方法和装置 |
| CN112506535A (zh) * | 2020-05-22 | 2021-03-16 | 上海擎度汽车科技有限公司 | 一种汽车ECU控制器更新升级Bootloader软件的方法 |
| CN114064095A (zh) * | 2020-08-10 | 2022-02-18 | 威马智慧出行科技(上海)有限公司 | 车载软件的升级方法、车载控制器、车辆及存储介质 |
| CN115061713A (zh) * | 2021-03-08 | 2022-09-16 | 华为技术有限公司 | 升级电子设备的方法及装置 |
| CN113918200A (zh) * | 2021-09-30 | 2022-01-11 | 深圳市戴升智能科技有限公司 | 高效可靠的嵌入式设备应用程序无线升级方法 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4618488A4 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120950101A (zh) * | 2025-09-25 | 2025-11-14 | 瑞芯微电子股份有限公司 | 升级固件的方法、电子设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4618488A1 (en) | 2025-09-17 |
| EP4618488A4 (en) | 2025-12-03 |
| CN120202646A (zh) | 2025-06-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11223525B2 (en) | Gateway device, firmware update method, and recording medium | |
| CN111343064A (zh) | 汽车控制系统软件升级系统及方法 | |
| CN113031974A (zh) | 一种变速器控制单元软件刷写方法 | |
| WO2010017775A1 (zh) | 基于can总线的汽车电子控制器代码刷新的控制方法 | |
| CN110825403A (zh) | 一种汽车电子控制单元ecu刷写的方法及系统 | |
| CN112181455B (zh) | 微控制器的在线升级方法、微控制器及存储介质 | |
| WO2022160816A1 (zh) | 一种数据处理方法以及相关设备 | |
| CN108279916A (zh) | 电子控制单元程序更新方法和装置 | |
| US20250123834A1 (en) | Node upgrade method and apparatus | |
| US12039322B2 (en) | OTA master, center, system, update method, non-transitory storage medium, and vehicle | |
| US12461732B2 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
| US20220317994A1 (en) | Ota master, update control method, and non-transitory storage medium | |
| EP4618488A1 (en) | Controller upgrading method, and apparatus | |
| US20240370249A1 (en) | Center, update management method, and non-transitory storage medium | |
| US11960876B2 (en) | Center, update management method, and non-transitory storage medium | |
| CN112540778A (zh) | 车辆数据的刷写方法、诊断设备及刷写系统 | |
| US11995437B2 (en) | Center, distribution control method, and non-transitory storage medium | |
| US12307230B2 (en) | Over-the-air (OTA) master, center, system, method, non-transitory storage medium, and vehicle | |
| JP7540401B2 (ja) | センタ、otaマスタ、方法、プログラム、及び車両 | |
| KR20130022804A (ko) | 리프로그래밍 제어모듈 및 이를 이용한 리프로그래밍 시스템 및 방법 | |
| CN121116340A (zh) | 电子设备上的程序更新方法、设备、介质及程序产品 | |
| JP2006268176A (ja) | フラッシュeepromのデータ正否判定方法 | |
| CN117950687A (zh) | 控制器刷写方法、装置、设备及存储介质 | |
| US20250147772A1 (en) | Microcontroller unit, method, and computer program for changing applications | |
| WO2024087234A1 (zh) | 更新软件的方法、装置和智能设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22966151 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202280101809.6 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2022966151 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2022966151 Country of ref document: EP Effective date: 20250611 |
|
| WWP | Wipo information: published in national office |
Ref document number: 202280101809.6 Country of ref document: CN |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 2022966151 Country of ref document: EP |