CN111796839B - Controller program management method and device - Google Patents
Controller program management method and device Download PDFInfo
- Publication number
- CN111796839B CN111796839B CN202010645813.1A CN202010645813A CN111796839B CN 111796839 B CN111796839 B CN 111796839B CN 202010645813 A CN202010645813 A CN 202010645813A CN 111796839 B CN111796839 B CN 111796839B
- Authority
- CN
- China
- Prior art keywords
- program
- bootloader
- erasing
- eol
- bootloader program
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
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)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Virology (AREA)
- Stored Programmes (AREA)
Abstract
The embodiment of the invention provides a controller program management method and device. The method comprises the following steps: after the offline detection is executed based on the offline detection EOL program provided by the hardware provider, the EOL program is erased through a first BootLoader program provided by the hardware provider, wherein the first BootLoader program and the EOL program are programmed into the nonvolatile memory of the controller in the bare board stage; the second BootLoader program and the application file provided by the product provider are written into the nonvolatile memory through the first BootLoader program; and storing a preset erasing code into a preset memory through the first BootLoader program, and executing erasing operation on the first BootLoader program through the erasing code so as to ensure that no hardware provider program residues exist in the controller.
Description
Technical Field
The invention relates to the technical field of automobile electronics, in particular to a controller program management method and device.
Background
In the existing automobile controller, in the production process, EOL program, bootLoader program and product application program (application, also program which is required to be run by a final sample factory and realizes specific functions of a controller product) software are generally injected (programmed) into a main control single chip Microcomputer (MCU) of the controller together in a PCBA stage of the controller (refer to a state when component installation and welding on a circuit board of the controller are completed but shell installation and glue filling are not completed yet), and then shell installation and glue filling are completed.
Some software and hardware development of controllers in the current industry is cooperatively performed by more than one manufacturer, usually the EOL program is developed by the controller hardware provider (Hardware supplier), and the BootLoader and Product application of the controller are usually developed by the Product provider (Product provider).
The EOL program is used for performing offline detection when the controller is assembled to complete the offline pipeline, so that the hardware function of the controller is ensured to be free from abnormality; the main function of BootLoader is to support updates (i.e., brushware) to the product application.
It should be noted that after the housing is installed and the glue is filled, the program cannot be written into the MCU any more, but the BootLoader refresh program can be provided by the hardware vendor (Hardware supplier).
For the processing of EOL program and BootLoader program, there are two general schemes to implement.
In the first scheme, as shown in fig. 1, an EOL program provided by a hardware provider is programmed into a flash of a controller in a bare board stage of the controller, a BootLoader program developed by a product provider is programmed into the flash, after EOL test is performed, communication is established between an upper computer and the EOL program provided by the hardware provider, the EOL program of the hardware provider is erased, and then a product application program is brushed into the flash.
The advantage of this solution is that: after leaving the factory, the EOL program cannot be remained in the controller, so that the risk of leaving a back door cannot exist.
But before EOL program erase and swipe into the product application, bootLoader needs to be invoked by BootLoader's secure access authentication, which requires the product vendor to provide the hardware vendor with an algorithm for unlocking secure access, which is often difficult for the product vendor to release.
The second scheme is as follows:
referring to fig. 2, the hardware provider provides the EOL program, the product provider develops BootLoader program and application, synthesizes the three programs into a binary file, writes the binary file into the flash of the controller, and directly calls the EOL program to perform the offline detection after the controller is produced.
The advantage of this solution is that:
all programs are directly programmed into the controller at the controller bare board stage, and a BootLoader developed by a product vendor is not required to be used for brushing programs later, so that the product vendor does not need to provide an algorithm for unlocking secure access to the hardware vendor.
However, the use of the above scheme still leaves the EOL program code of the hardware vendor after the controller is offline, and cannot avoid the risk of leaving a program back door in the code.
In summary, the two schemes have the problem that the EOL code is remained in the controller or two contradictory problems of releasing the security access algorithm are needed, and the two problems are difficult to achieve in the current scheme.
Disclosure of Invention
Accordingly, embodiments of the present invention provide a method and apparatus for managing a controller program to implement a secure access algorithm that does not require a product vendor to release the secure access algorithm during the purge of the residual EOL code.
In order to achieve the above object, the embodiment of the present invention provides the following technical solutions:
a controller program management method, comprising:
after the offline detection is executed based on the offline detection EOL program provided by the hardware provider, erasing the EOL program by a first BootLoader program provided by the hardware provider; the first BootLoader program and the EOL program are programmed into the nonvolatile memory of the controller in the bare board stage;
a second BootLoader program and an application file provided by a product provider are written into the nonvolatile memory through the first BootLoader program;
storing a preset erasing code into a preset memory through the first BootLoader program;
executing an erasing operation on the first BootLoader program through the erasing code; the preset memory and the nonvolatile memory are different memories.
Optionally, the preset memory is specifically a volatile memory; after the first BootLoader program is erased, the method further includes: and powering up and powering down the controller again to enable the erasing codes in the volatile memory to lose power.
Optionally, after performing the offline detection based on the offline detection EOL program provided by the hardware vendor, erasing the EOL program by a first BootLoader program provided by the hardware vendor, including: after the offline detection is executed based on the EOL program, an upper computer matched with the first BootLoader program sends a program brushing command; the program brushing command is used for indicating a program pointer to jump into the first BootLoader program; the upper computer sends a flash erasing command to the first BootLoader program; the flash erasing command comprises a starting address and a length to be erased; the EOL program is stored in a storage space determined by the starting address to be erased and the length; and the first BootLoader program performs erasing operation according to the flash erasing command.
Optionally, the writing the second BootLoader program and the application file provided by the product vendor into the nonvolatile memory through the first BootLoader program includes: and the upper computer is communicated with the first BootLoader program to write the second BootLoader program and the application file into the nonvolatile memory.
Optionally, the erasure code is stored in the first BootLoader program in advance in a code segment manner.
Optionally, the erasure code is an independent file, and the erasure code is preloaded into the upper computer; storing the preset erasing code into the preset memory through the first BootLoader program comprises: and the upper computer is communicated with the first BootLoader program, and downloads the erasing code to the nonvolatile memory.
A controller program management apparatus comprising:
a programming unit for:
in the bare board stage, the offline detection EOL program developed by a hardware provider and the first BootLoader program developed by the hardware provider are programmed into a nonvolatile memory of a controller;
a first erasing unit for:
after the offline detection is executed based on the EOL program, the EOL program is erased through a first BootLoader program provided by a hardware provider;
the first BootLoader program is configured to: after performing offline detection based on the EOL program, erasing the EOL program;
a brushing unit for:
a second BootLoader program and an application file provided by a product provider are written into the nonvolatile memory through the first BootLoader program;
storing a preset erasing code into a preset memory through the first BootLoader program;
a second erasing unit for:
executing an erasing operation on the first BootLoader program through the erasing code; the preset memory and the nonvolatile memory are different memories.
Optionally, the preset memory is specifically a volatile memory; the apparatus further comprises: and the power-on and power-off control unit is used for: and after the first BootLoader program is erased, powering up and powering down the controller again so as to enable the erasing code in the volatile memory to be powered down and disappear.
Therefore, in the embodiment of the invention, the EOL program and the first BootLoader program developed by the hardware supplier are programmed into the flash of the controller in the bare board stage, after the EOL detection is completed, the EOL is erased by the first BootLoader program, and the second BootLoader program and the application file provided by the product supplier are written into the flash.
The first BootLoader program is developed by a hardware vendor, but not by a product vendor, so that the product vendor is not required to provide an algorithm for unlocking secure access to the hardware vendor when performing erasure and writing, and the independence of work between two vendors is ensured.
After the end of the writing, the erasing code stored in the preset memory erases the first BootLoader developed by the hardware vendor. Therefore, the second BootLoader program and the application file provided by the product provider exist in the controller, so that only the program developed by the product provider can be ensured to be reserved in the controller, EOL residues or other hardware provider program residues are avoided, the risk of a program back door of the hardware provider is avoided, and the safety is ensured.
According to the technical scheme provided by the embodiment of the invention, the product provider is not required to release the security access algorithm while the residual EOL codes of the process are cleared, so that the problem that the two processes cannot be combined in the prior art is solved.
Drawings
FIG. 1 is a diagram illustrating a conventional processing manner of an EOL program and a BootLoader program;
FIG. 2 is a schematic diagram of an EOL program, a BootLoader program and application being programmed into a flash at the same time;
FIG. 3 is an exemplary flow chart of a method for managing a controller program according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of a partition occupied by a program in a controller after a programming procedure according to an embodiment of the present invention;
FIG. 5 is a schematic diagram illustrating a jump of a program pointer into a first BootLoader program according to an embodiment of the present invention;
FIG. 6 is a schematic diagram of a program occupation partition in a controller after an EOL program is erased according to an embodiment of the present invention;
FIG. 7 is a block diagram illustrating a situation that a program in a controller occupies a partition after a second BootLoader program and an application file are written into a nonvolatile memory according to an embodiment of the present invention;
FIG. 8 is a block diagram illustrating the program occupation of the controller after the erasure codes are stored in the preset memory according to the embodiment of the present invention;
FIG. 9 is a block diagram illustrating a situation of program occupation in a controller after an erase operation is performed on a first BootLoader program according to an embodiment of the present invention;
FIG. 10 illustrates a final program occupation partition in a controller according to an embodiment of the present invention;
fig. 11 is an exemplary structure of a controller program management apparatus according to an embodiment of the present invention.
Detailed Description
The invention provides a controller program management method and a controller program management device, which are used for realizing the function that a product provider is not required to release a security access algorithm in the process of clearing residual EOL codes.
The controller program management device can comprise programming equipment, an upper computer and the like.
Fig. 3 shows an exemplary flow of the controller program management method executed by the controller program management apparatus described above, including:
s0: in the bare board stage, the offline detection EOL program developed by the hardware provider and the first BootLoader program developed by the hardware provider are programmed into a nonvolatile memory (for example, flash) of the controller.
Step S0 may be accomplished by a separate programming device.
It should be noted that, the first BootLoader program is developed by a hardware vendor, and not a product vendor.
In one example, the EOL program may occupy a start space (header) of a flash, while the first BootLoader program may occupy an end space or other space of a flash. After step S0 is performed, the partition occupation of the program in the controller is shown in fig. 4.
It should be noted that, in terms of program address allocation, the first BootLoader needs to be separated from addresses of the second BootLoader and the application program mentioned later, and no conflict exists, and because the second BootLoader and the application address occupy a starting space (header) of the flash and addresses behind the starting space, the first BootLoader is usually placed in an end space of the flash or other positions which do not conflict with the second BootLoader and the application program; the EOL program placement principle cannot conflict with the first BootLoader, and considering the subsequent erasing of the EOL program, the EOL program needs to be allocated to the place included by the second BootLoader program and the application address. The product can thus place the EOL program in the start space (header) of the flash.
The start address and length occupied by the EOL program are known at the hardware provider factory side.
S1: after the offline detection is performed based on the EOL program, the EOL program jumps to the first BootLoader program.
Specifically, after the controller sample is assembled, the controller is powered on to execute the EOL test.
The EOL test requires the participation of an upper computer (the lower computer, i.e., the controller) which communicates with the EOL program in the controller to complete a series of tests.
After the test is passed, the update of the program is started, and the upper computer sends a program writing command for indicating the program pointer to jump into the first BootLoader program (see the schematic diagram of fig. 5).
Note that the host computer that cooperates with the EOL program during the EOL test stage and the host computer that cooperates with the first BootLoader program during the brush writing stage may be different or the same host computer.
More specifically, there is associated logic in the EOL program that causes the pointer to jump into the first BootLoader of the hardware vendor after receiving the program flush command.
It should be noted that, the program writing command is a process composed of a series of commands, and uses a UDS protocol commonly used in the automotive industry, after the host computer sends the first request in the writing command, the program pointer will jump to the BootLoader program, and then a series of commands are also provided, and in fact, the subsequent flash erasing command is also a step of writing commands.
S2: and erasing the EOL program through a first BootLoader program.
EOL program erase also requires host participation.
In one example, the host computer may send a flash erase command to the first BootLoader.
The flash erase command includes a start address and a length to be erased. Since the erasure is prepared for the subsequent writing of the second BootLoader and application, the start address and length are determined by the address conditions of the second BootLoader and application.
After receiving the flash erasing command, the first BootLoader program performs erasing operation according to the flash erasing command.
Since the EOL program is included in the memory space determined by the start address and the length of the erase command, the EOL program can be erased.
After step S2 is performed, the partition occupation of the program in the controller is as shown in fig. 6.
S3: and the second BootLoader program and the application file provided by the product provider are written into the nonvolatile memory through the first BootLoader program.
Specifically, the upper computer may communicate with the first BootLoader program to write the second BootLoader program and the application file into the nonvolatile memory.
After step S3 is performed, the partition occupation of the program in the controller is as shown in fig. 7.
S4: and storing a preset erasing code into a preset memory through a first BootLoader program.
The predetermined memory is a different memory from the nonvolatile memory. This is because the erasure code also belongs to the hardware vendor program, and is stored in a preset memory other than the non-volatile memory in order to avoid the risk of the hardware vendor leaving the program back gate.
In one example, the predetermined memory may be a volatile memory (RAM). Steps S1 to S4 are applied to the host computer.
Specifically, the erasure code may be stored in the first BootLoader program in advance in a code segment manner. When the method is needed to be used, the first BootLoader is copied into the RAM.
Alternatively, the erasure code may be made into an independent file, and the erasure code is downloaded to the RAM by first loading the file to the host computer and then communicating with the first BootLoader program.
The erasure code may take the form of an existing code.
After step S4 is performed, the partition occupation of the program in the controller is as shown in fig. 8.
S5: and executing an erasing operation on the first BootLoader program through the erasing code.
Taking the RAM as an example, the program pointer jumps to the erasing code in the RAM, and executes the erasing operation to erase the first BootLoader.
It should be noted that, the condition of program pointer jump does not need the triggering of the external upper computer, but the first BootLoader inside the controller automatically jumps after the execution of the operation of copying the erasing code into the RAM.
That is, the logic in the first BootLoader is designed to jump to RAM after the download is performed.
After step S5 is performed, the partition occupation of the program in the controller is as shown in fig. 9.
For the scenario of downloading the erasure code to the RAM of the controller, the following steps may also be included:
s6: powering up and powering down the controller again to make the erasing code in the volatile memory lose.
After step S5 is performed, the partition occupation situation of the program in the controller is shown in fig. 10. Only the second BootLoader and application programs of the product vendor are reserved in the controller, and no codes of any hardware vendor remain.
Therefore, in the embodiment of the invention, the EOL program and the first BootLoader program developed by the hardware supplier are programmed into the flash of the controller in the bare board stage, after the EOL detection is completed, the EOL is erased by the first BootLoader program, and the second BootLoader program and the application file provided by the product supplier are written into the flash.
The first BootLoader program is developed by a hardware vendor, but not by a product vendor, so that the product vendor is not required to provide an algorithm for unlocking secure access to the hardware vendor when performing erasure and writing, and the independence of work between two vendors is ensured.
After the end of the writing, the first BootLoader developed by the hardware supplier is erased by the erasing code stored in the preset memory, and after the erasing is completed, the second BootLoader program and the application file provided by the product supplier exist in the controller, so that only the program developed by the product supplier can be ensured to be reserved in the controller, EOL residues or other hardware supplier program residues are avoided, the risk of program back gate reservation of the hardware supplier is avoided, and the safety is ensured.
According to the technical scheme provided by the embodiment of the invention, the product provider is not required to release the security access algorithm while the residual EOL codes of the process are cleared, so that the problem that the two processes cannot be combined in the prior art is solved.
The invention also discloses a controller program management device. Referring to fig. 11, examples of which occur include:
a programming unit 1 for:
and in the bare board stage, the offline detection EOL program developed by the hardware provider and the first BootLoader program developed by the hardware provider are programmed into the nonvolatile memory of the controller.
The writing unit 1 may specifically be a separate writing device.
EOL unit 2 for: performing offline detection based on the EOL;
a first erasing unit 3 for: after the offline detection is executed based on the EOL program, the EOL program is erased through a first BootLoader program;
a brushing unit 4 for:
the second BootLoader program and the application file provided by the product provider are written into the nonvolatile memory through the first BootLoader program;
storing a preset erasing code into a preset memory through a first BootLoader program;
a second erasing unit 5 for:
executing an erasing operation on the first BootLoader program through an erasing code; the preset memory and the nonvolatile memory are different memories.
Of course, the second erasing unit 5 may not be included in the case where the code can be skipped to the erasing code without using the host computer.
Specific details are set forth in the foregoing description and are not repeated herein.
In other embodiments of the present invention, the predetermined memory may be a volatile memory. Still referring to fig. 11, the controller program management apparatus may further include:
a power-on and power-off control unit 6 for:
after the first BootLoader program is erased, the controller is powered on and powered off again, so that the erasing code in the volatile memory is powered off and disappears.
Specific details are set forth in the foregoing description and are not repeated herein.
In other embodiments of the present invention, after the offline detection is performed based on the EOL program, the foregoing "erasing the EOL program by the first BootLoader program" may be specifically implemented by the following manner:
after the offline detection is performed based on the EOL program, the BootLoader upper computer (the flashing unit 4) sends a program flashing command; the program brushing command is used for indicating a program pointer to jump into a first BootLoader program;
the BootLoader upper computer sends a flash erasing command to a first BootLoader program; the flash erasing command comprises a starting address and a length to be erased; the initial address is the initial address of the second BootLoader program and application, and the length is the length of the second BootLoader program and application;
and after receiving the flash erasing command, the first BootLoader program performs erasing operation according to the flash erasing command.
In other embodiments of the present invention, the second BootLoader program and the application file are communicated with the first BootLoader program through an upper computer, and are written into the flash.
Specific details are set forth in the foregoing description and are not repeated herein.
In one example, the erasure code may be pre-stored in the first BootLoader program in the form of a code segment.
Specific details are set forth in the foregoing description and are not repeated herein.
In another example, the erasure code may be a separate file; the erasing code can be preloaded to the upper computer, and then the erasing code is downloaded to the nonvolatile memory through the communication between the upper computer and the first BootLoader program.
Specific details are set forth in the foregoing description and are not repeated herein.
Those of skill would further appreciate that the elements and model steps of the examples described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the elements and steps of the examples have been described generally in terms of functionality in the foregoing description to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The steps of a method or model 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. The software modules may be disposed in Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, WD-ROM, or any other form of storage medium known in the art.
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 (7)
1. A controller program management method, comprising:
after the offline detection is executed based on the offline detection EOL program provided by the hardware provider, erasing the EOL program by a first BootLoader program provided by the hardware provider; the first BootLoader program and the EOL program are programmed into the nonvolatile memory of the controller in the bare board stage;
a second BootLoader program and an application file provided by a product provider are written into the nonvolatile memory through the first BootLoader program;
storing a preset erasing code into a preset memory through the first BootLoader program;
executing an erasing operation on the first BootLoader program through the erasing code; the preset memory and the nonvolatile memory are different memories;
after the offline detection is performed based on the offline detection EOL program provided by the hardware provider, the EOL program is erased by a first BootLoader program provided by the hardware provider, including:
after the offline detection is executed based on the EOL program, an upper computer matched with the first BootLoader program sends a program brushing command; the program brushing command is used for indicating a program pointer to jump into the first BootLoader program;
the upper computer sends a flash erasing command to the first BootLoader program; the flash erasing command comprises a starting address and a length to be erased; the EOL program is stored in a storage space determined by the starting address and the length;
and the first BootLoader program performs erasing operation according to the flash erasing command.
2. The method of claim 1, wherein,
the preset memory is a volatile memory;
after the first BootLoader program is erased, the method further includes: and powering up and powering down the controller again to enable the erasing codes in the volatile memory to lose power.
3. The method of claim 1 wherein the writing, by the first BootLoader program, the second BootLoader program and the application file provided by the product vendor into the nonvolatile memory comprises:
and the upper computer is communicated with the first BootLoader program to write the second BootLoader program and the application file into the nonvolatile memory.
4. A method according to claim 1 or 2, wherein the erasure code is pre-stored in the first BootLoader program in a code segment.
5. The method of claim 1, wherein,
the erasing code is an independent file and is preloaded into the upper computer;
the storing the preset erasing code into the preset memory by the first BootLoader program includes:
and the upper computer is communicated with the first BootLoader program, and downloads the erasing code to the nonvolatile memory.
6. A controller program management apparatus, comprising:
a programming unit for:
in the bare board stage, the offline detection EOL program developed by a hardware provider and the first BootLoader program developed by the hardware provider are programmed into a nonvolatile memory of a controller;
a first erasing unit for:
after the offline detection is executed based on the EOL program, erasing the EOL program by the first BootLoader program;
a brushing unit for:
a second BootLoader program and an application file provided by a product provider are written into the nonvolatile memory through the first BootLoader program;
storing a preset erasing code into a preset memory through the first BootLoader program;
a second erasing unit for:
executing an erasing operation on the first BootLoader program through the erasing code; the preset memory and the nonvolatile memory are different memories;
the first erasing unit is specifically configured to send a program brushing command to an upper computer that is matched with the first BootLoader program after the offline detection is performed based on the EOL program; the program brushing command is used for indicating a program pointer to jump into the first BootLoader program; the upper computer sends a flash erasing command to the first BootLoader program; the flash erasing command comprises a starting address and a length to be erased; the EOL program is stored in a storage space determined by the starting address and the length; and the first BootLoader program performs erasing operation according to the flash erasing command.
7. The apparatus of claim 6, wherein,
the preset memory is specifically a volatile memory;
the apparatus further comprises:
and the power-on and power-off control unit is used for:
and after the first BootLoader program is erased, powering up and powering down the controller again so as to enable the erasing code in the volatile memory to be powered down and disappear.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010645813.1A CN111796839B (en) | 2020-07-07 | 2020-07-07 | Controller program management method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010645813.1A CN111796839B (en) | 2020-07-07 | 2020-07-07 | Controller program management method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111796839A CN111796839A (en) | 2020-10-20 |
CN111796839B true CN111796839B (en) | 2024-04-09 |
Family
ID=72810382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010645813.1A Active CN111796839B (en) | 2020-07-07 | 2020-07-07 | Controller program management method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111796839B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220334749A1 (en) * | 2021-04-15 | 2022-10-20 | Rockwell Automation Technologies, Inc. | Systems and methods for purging data from memory |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291479A (en) * | 1991-07-16 | 1994-03-01 | Digital Technics, Inc. | Modular user programmable telecommunications system with distributed processing |
CN105608370A (en) * | 2015-12-30 | 2016-05-25 | 科力远混合动力技术有限公司 | ECU program flashing and detection method |
CN107870775A (en) * | 2016-09-26 | 2018-04-03 | 深圳市中兴微电子技术有限公司 | A method for updating processor and BootLoader program |
CN108388435A (en) * | 2018-02-10 | 2018-08-10 | 山东国金汽车制造有限公司 | A method of by BootLoader and the disposable programming of application program |
CN109189405A (en) * | 2018-07-19 | 2019-01-11 | 山东省科学院自动化研究所 | A kind of method and system of proving program Flash data consistency |
CN111198705A (en) * | 2019-12-19 | 2020-05-26 | 潍柴动力股份有限公司 | Memory backup method and device for preventing ECU from being swiped up, storage medium and electronic equipment |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004348677A (en) * | 2003-05-26 | 2004-12-09 | Sony Corp | Program and information processing method |
US7376943B2 (en) * | 2003-12-18 | 2008-05-20 | Lsi Corporation | Safe method for upgrading firmware of optical disk product |
US7596656B2 (en) * | 2006-09-28 | 2009-09-29 | Sandisk Corporation | Memory cards with end of life recovery and resizing |
-
2020
- 2020-07-07 CN CN202010645813.1A patent/CN111796839B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291479A (en) * | 1991-07-16 | 1994-03-01 | Digital Technics, Inc. | Modular user programmable telecommunications system with distributed processing |
CN105608370A (en) * | 2015-12-30 | 2016-05-25 | 科力远混合动力技术有限公司 | ECU program flashing and detection method |
CN107870775A (en) * | 2016-09-26 | 2018-04-03 | 深圳市中兴微电子技术有限公司 | A method for updating processor and BootLoader program |
CN108388435A (en) * | 2018-02-10 | 2018-08-10 | 山东国金汽车制造有限公司 | A method of by BootLoader and the disposable programming of application program |
CN109189405A (en) * | 2018-07-19 | 2019-01-11 | 山东省科学院自动化研究所 | A kind of method and system of proving program Flash data consistency |
CN111198705A (en) * | 2019-12-19 | 2020-05-26 | 潍柴动力股份有限公司 | Memory backup method and device for preventing ECU from being swiped up, storage medium and electronic equipment |
Non-Patent Citations (2)
Title |
---|
基于STM32的高可靠IAP在线烧写设计;李光学;郭燕红;李超;岳宗帅;宋茜;;电子测量技术(17);全文 * |
基于TMS320C6713及AM29LV800B的上电自举设计;冯轶;卫育新;;电子设计工程(02);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111796839A (en) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110231952B (en) | ECU program backup and cyclic upgrade control method and device | |
CN110474961B (en) | Method for realizing multi-path remote OTA (over the air) upgrading of pure passenger vehicle based on CAN (controller area network) bus | |
RU2142168C1 (en) | Method for complete rewriting of cleared non- volatile memory | |
CN109933348B (en) | Method and device for updating Bootloader in electronic control unit | |
US7664923B2 (en) | Method and system for updating software | |
US20140351569A1 (en) | Software updating process for an embedded device | |
JP6185772B2 (en) | Information processing apparatus, control method thereof, and program | |
CN110825403A (en) | Method and system for flashing ECU (electronic control Unit) of automobile | |
CN107807624B (en) | Method for refreshing application program in controller | |
CN108920168A (en) | It supports multiple similar ECU while upgrading and having the Bootloader method that anti-program mismatches function | |
CN111796839B (en) | Controller program management method and device | |
EP0858040A2 (en) | Microcomputer containing flash EEPROM therein | |
CN117130915A (en) | Controller flashing method and system | |
CN112925569A (en) | Firmware data processing method, device, equipment and storage medium | |
JP6935694B2 (en) | Electronic control device | |
JP2006221274A (en) | Electronic control device for vehicle and rewriting method of control program | |
JP2002175193A (en) | Device and method for rewriting program | |
CN116431186A (en) | Upgrading method, device and medium of vehicle-mounted ECU | |
CN114895950A (en) | Self-updating method and system for program and guide layer | |
JP2001117780A (en) | Information storage device and download method thereof | |
JP2019008693A (en) | Vehicle-purpose electronic control unit | |
KR20000033437A (en) | Apparatus for implementing function of bootstrap loader | |
CN117215619B (en) | Online upgrading method of application program, chip and intelligent device | |
CN111831310B (en) | Software updating method and system | |
JP3912447B2 (en) | Memory system and method of using external nonvolatile memory |
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 | ||
CB02 | Change of applicant information |
Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020 Applicant after: Beijing Jingwei Hirain Technologies Co.,Inc. Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101 Applicant before: Beijing Jingwei HiRain Technologies Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |