CN117971283A - Firmware upgrading method of graphic processor, terminal equipment and storage medium - Google Patents

Firmware upgrading method of graphic processor, terminal equipment and storage medium Download PDF

Info

Publication number
CN117971283A
CN117971283A CN202410364795.8A CN202410364795A CN117971283A CN 117971283 A CN117971283 A CN 117971283A CN 202410364795 A CN202410364795 A CN 202410364795A CN 117971283 A CN117971283 A CN 117971283A
Authority
CN
China
Prior art keywords
firmware
storage
upgrade
storage block
information
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.)
Pending
Application number
CN202410364795.8A
Other languages
Chinese (zh)
Inventor
张坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenliu Micro Intelligent Technology Shenzhen Co ltd
Original Assignee
Shenliu Micro Intelligent Technology Shenzhen Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenliu Micro Intelligent Technology Shenzhen Co ltd filed Critical Shenliu Micro Intelligent Technology Shenzhen Co ltd
Priority to CN202410364795.8A priority Critical patent/CN117971283A/en
Publication of CN117971283A publication Critical patent/CN117971283A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

The method comprises the steps of determining a first firmware storage block and a second firmware storage block in the two firmware storage blocks when the firmware of the graphics processor is upgraded, wherein the first firmware storage block is used for storing an image file of the current running firmware of the graphics processor, the second firmware storage block is used for writing the image file of the firmware to be upgraded, and writing the image file of the firmware to be upgraded into the second firmware storage block so as to upgrade data in the second firmware storage block, so that the firmware storage block written by the firmware to be upgraded and the firmware storage block of the current running firmware are mutually independent, normal starting and running of the current running firmware are not influenced, and the safety and stability of the firmware upgrading process of the graphics processor are improved when the upgrading process is interrupted.

Description

Firmware upgrading method of graphic processor, terminal equipment and storage medium
Technical Field
The present invention relates to the field of firmware upgrade technologies, and in particular, to a firmware upgrade method for a graphics processor, a terminal device, and a storage medium.
Background
Currently, firmware upgrades of Graphics Processors (GPUs) play a critical role in the use of graphics cards of terminal devices. Currently, conventional GPU firmware upgrades have some drawbacks, for example, the upgrade process may be affected by unknown errors, resulting in firmware damage or instability; as another example, lack of security control over the firmware upgrade process may be threatened by malicious attacks.
Disclosure of Invention
The invention mainly solves the technical problem of improving the safety and stability of the firmware upgrading process of the graphic processor.
According to a first aspect, in one embodiment, there is provided a firmware upgrade method of a graphics processor, including:
Acquiring an image file of firmware to be upgraded; the graphics processor comprises a storage unit, wherein the storage unit at least comprises a firmware storage area, and the firmware storage area comprises two firmware storage blocks;
determining a first firmware storage block and a second firmware storage block in the two firmware storage blocks; the first firmware storage block is used for storing an image file of the current running firmware of the graphic processor; the second firmware storage block is used for writing an image file of firmware to be upgraded;
Writing the image file of the firmware to be upgraded into the second firmware storage block to upgrade the firmware of the data in the second firmware storage block;
After the firmware upgrading is completed, the image file of the firmware stored in the second firmware storage block is an image file of the new upgraded firmware, and when the graphics processor is started next time, the starting module in the graphics processor acquires the image file of the new upgraded firmware from the second firmware storage block to operate.
In one embodiment, the storage unit further includes a startup state storage area, where the startup state storage area is used to store firmware jump state information; the determining a first firmware storage block and a second firmware storage block of the two firmware storage blocks includes:
Acquiring the firmware jump state information from a start state storage area of the storage unit;
judging whether the firmware jump state information is a valid value or not;
And if the firmware jump state information is an effective value, determining a first firmware storage block and a second firmware storage block in the two firmware storage blocks according to the firmware jump state information.
In one embodiment, the storage unit further includes a firmware header storage area, where the firmware header storage area includes two firmware header storage blocks, and the firmware header storage blocks are in one-to-one correspondence with the firmware storage blocks; the firmware header storage block is used for storing header information of an image file of firmware stored in the corresponding firmware storage block, and the header information at least comprises an upgrade iteration value;
If the firmware jump status information is not a valid value, the determining the first firmware storage block and the second firmware storage block of the two firmware storage blocks further includes:
judging whether the upgrade iteration values in the two firmware header storage blocks are effective values or not;
If the upgrading iteration values in the two firmware header storage blocks are valid upgrading iteration values, determining the firmware header storage block with a larger upgrading iteration value in the two firmware header storage blocks, taking the firmware storage block corresponding to the firmware header storage block with the larger upgrading iteration value as a first firmware storage block, and taking the other firmware storage block except the first firmware storage block in the two firmware storage blocks as a second firmware storage block;
If only the upgrading iteration value in one firmware header storage block is an effective upgrading iteration value, taking the corresponding firmware storage block of the firmware header storage block with the effective upgrading iteration as a first firmware storage block, and taking the other firmware storage block except the first firmware storage block of the two firmware storage blocks as a second firmware storage block;
if the upgrade iteration values in the two firmware header storage blocks are not effective values, updating the firmware jump state information into initial values, and determining a first firmware storage block and a second firmware storage block in the two firmware storage blocks according to the updated firmware jump state information.
In one embodiment, after the writing the image file of the firmware to be upgraded into the second firmware storage block, the method further includes:
generating new header information and new firmware jump state information according to the mirror image file of the firmware to be upgraded;
writing the new header information into a corresponding firmware header storage block in the storage unit;
and writing the new firmware jump state information into a starting state storage area in the storage unit.
In one embodiment, the method further comprises:
acquiring a unique identification code of the graphic processor;
Performing mixed calculation on the firmware jump state information and the unique identification code of the graphic processor to obtain a first check value, and writing the first check value into a starting state storage area in the storage unit along with the new firmware jump state information;
Performing mixed calculation on the header information and the unique identification code of the graphic processor to obtain a second check value, and writing the second check value into a corresponding firmware header storage block in the storage unit along with the new header information;
And after the firmware upgrade is finished, when the graphics processor is started next time, a starting module in the graphics processor reads the first check value and the second check value from the storage unit to perform data check.
Or further comprising:
encrypting the image file of the firmware to be upgraded to obtain a signature value;
Writing the signature value into the storage unit;
And when the graphic processor is started, a starting module in the graphic processor reads the signature value from the storage unit and decrypts the signature value to acquire an image file of the firmware to be upgraded.
In one embodiment, the storage unit further comprises an upgrade log storage area; the method further comprises the steps of:
Generating upgrade log information, wherein the upgrade log information at least comprises one or more of upgrade time, version information of firmware to be upgraded, hardware version information, upgrade environment information and upgrade state information;
writing the upgrade log information into the upgrade log storage area;
Wherein: the upgrade log information comprises first upgrade log information and second upgrade log information; the first upgrade log information is generated and written into the upgrade log storage area before the data in the second firmware storage block is upgraded; the second upgrade log information is generated and written into the upgrade log storage area before the data in the second firmware storage block is upgraded.
In one embodiment, the writing the upgrade log information to the upgrade log storage area includes:
determining a storage offset address corresponding to the upgrade log information;
judging whether the storage offset address is larger than the end address of the upgrade log storage area;
If the update log information is not greater than the end address of the update log storage area, writing the update log information into the update log storage area according to a storage offset address;
and if the data corresponding to the start address of the upgrade log storage area is larger than the end address of the upgrade log storage area, erasing the data corresponding to the start address of the upgrade log storage area, and writing the upgrade log information into the start address of the upgrade log storage area.
In one embodiment, before the obtaining the image file of the firmware to be upgraded, the method further includes:
responding to a starting command, and establishing communication with the subcores of the graphic processor through a preset communication protocol within a preset response time;
If the communication cannot be established within the preset response time, the upgrading is exited;
If communication is established within the preset response time, acquiring an image file of the firmware to be upgraded.
According to a second aspect, in one embodiment there is provided a terminal device comprising:
A graphics processor;
A memory for storing a program;
A processor, configured to implement the method according to any one of the foregoing embodiments by executing a program stored in the memory.
According to a second aspect, an embodiment provides a computer readable storage medium, on which a program is stored, the program being executable by a processor to implement the method according to any one of the embodiments described above.
According to the firmware upgrading method, the terminal equipment and the storage medium of the graphics processor, the storage unit of the graphics processor at least comprises two firmware storage blocks, when the firmware of the graphics processor is upgraded, a first firmware storage block and a second firmware storage block in the two firmware storage blocks are determined, the first firmware storage block is used for storing the image file of the current running firmware of the graphics processor, the second firmware storage block is used for writing the image file of the firmware to be upgraded, the image file of the firmware to be upgraded is written into the second firmware storage block, so that the data in the second firmware storage block is upgraded, the firmware storage block written by the firmware to be upgraded and the firmware storage block of the current running firmware are mutually independent, and the normal starting and running of the current running firmware are not influenced when the upgrading process is interrupted, so that the safety and stability of the firmware upgrading process of the graphics processor are improved.
Drawings
Fig. 1 is a schematic structural diagram of a terminal device according to an embodiment;
FIG. 2 is a schematic diagram of interaction of a graphics processor with an upgrade tool, according to one embodiment;
FIG. 3 is a flow chart of a firmware upgrade method of a graphics processor of an embodiment;
FIG. 4 is a schematic diagram of a memory cell according to an embodiment;
FIG. 5 is a flowchart illustrating a method for determining a first firmware block of two firmware blocks according to one embodiment;
FIG. 6 is a flowchart of determining a first firmware block of two firmware blocks according to another embodiment;
FIG. 7 is a flow chart of writing new header information and new firmware jump status information for one embodiment;
FIG. 8 is a flow diagram of generation and writing of upgrade log information for one embodiment;
FIG. 9 is a schematic diagram of an upgrade log storage area of an embodiment;
FIG. 10 is a flow chart of verifying firmware jump status information and header information according to one embodiment.
Detailed Description
The application will be described in further detail below with reference to the drawings by means of specific embodiments. Wherein like elements in different embodiments are numbered alike in association. In the following embodiments, numerous specific details are set forth in order to provide a better understanding of the present application. However, one skilled in the art will readily recognize that some of the features may be omitted, or replaced by other elements, materials, or methods in different situations. In some instances, related operations of the present application have not been shown or described in the specification in order to avoid obscuring the core portions of the present application, and may be unnecessary to persons skilled in the art from a detailed description of the related operations, which may be presented in the description and general knowledge of one skilled in the art.
Furthermore, the described features, operations, or characteristics of the description may be combined in any suitable manner in various embodiments. Also, various steps or acts in the method descriptions may be interchanged or modified in a manner apparent to those of ordinary skill in the art. Thus, the various orders in the description and drawings are for clarity of description of only certain embodiments, and are not meant to be required orders unless otherwise indicated.
The numbering of the components itself, e.g. "first", "second", etc., is used herein merely to distinguish between the described objects and does not have any sequential or technical meaning. The term "coupled" as used herein includes both direct and indirect coupling (coupling), unless otherwise indicated.
The methods provided in some embodiments of the present invention may be performed in a mobile terminal device, a computer terminal device, or similar terminal device. Referring to fig. 1, fig. 1 shows a hardware block diagram of a terminal device for implementing a firmware upgrade method of a graphics processor, and a terminal device 10 includes a processor 101 (a processor 102 may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA or the like processing means), a memory 102 for storing data, and a graphics processor 103. In addition, it may further include: a transmission module for communication functions, a display, an input/output interface (I/O interface), a Universal Serial BUS (USB) port (which may be included as one of the ports of the BUS), a network interface, a power supply. It will be appreciated by those skilled in the art that the structure shown in fig. 1 is merely illustrative and is not intended to limit the structure of the terminal device described above. For example, the terminal device 10 may also include more or fewer components than shown in fig. 1, or have a different configuration than shown in fig. 1.
In some embodiments, processor 101 may be embodied in whole or in part in software, hardware, firmware, or any other combination. Further, the processor 101 may be a single stand-alone processing module or incorporated, in whole or in part, into any of the other elements in the terminal device 10.
In some embodiments, the memory 102 may be used to store software programs and modules of application software, such as a program instruction/data storage device corresponding to a firmware upgrade method of a graphics processor in an embodiment of the present invention, and the processor 101 executes the software programs and modules stored in the memory 102 to perform various functional applications and data processing, that is, implement the firmware upgrade method of the graphics processor. Memory 101 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, memory 102 may further include memory located remotely from processor 101, which may be connected to terminal device 10 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
In some embodiments, the graphics processor 103 is a microprocessor in the terminal device 10 that performs image and graphics related operations, and may be, for example, a display chip, a visual processor, or the like. Referring to fig. 2, the graphic processor may include: a storage unit 31, a BOOT module 32 (BOOT), and a random access memory 33 (RAM). The storage unit 31 may be, for example, a FLASH MEMORY (FLASH MEMORY), where the storage unit 31 has a plurality of storage areas, for example, a firmware storage area, where the firmware storage area is used to store an image file of firmware, when the graphics processor 103 needs to execute the firmware, the image file of the firmware is read from the storage unit 31 by the start module 32, and the image file of the firmware is stored in the random access MEMORY 33, and then the graphics processor 103 executes the firmware by reading the image file of the firmware in the random access MEMORY 33. In some embodiments, the graphics processor 103 includes a plurality of firmware, where the firmware is often required to be updated, when the firmware is required to be updated, an image file of the firmware to be updated needs to be written into a firmware storage area corresponding to the storage unit 31 of the graphics processor 103, so that the image file of the firmware stored in the storage unit 31 is updated, and thus the graphics processor 103 reads the image file of the updated firmware when running the firmware.
In some embodiments, the firmware upgrading method of the graphics processor 103 provided by the embodiments of the present invention is executed in the upgrading tool 11, where the upgrading tool 11 is an application running on the operating system of the terminal device 10, and is capable of implementing interaction between the operating system of the terminal device 10 and the graphics processor 103 to complete firmware upgrading; in one embodiment, the upgrade tool 11 may write an image file of the firmware to be upgraded to the MEMORY unit 31 of the graphics processor 103 via a dedicated interface, such as FLASH MEMORY. After the upgrade is completed, the graphics processor 103 reads the image file of the new firmware from the storage unit 31 through the internal start-up module 32, and makes the corresponding system jump to the new firmware for execution.
Based on the above method for upgrading firmware in the graphics processor 103, it can be known that the firmware running in the graphics processor 103 and the image file corresponding to the upgraded firmware are both stored in the same area of the storage unit 31, and in the process of upgrading the firmware, the data stored in the firmware storage area corresponding to the storage unit 31 needs to be updated, and when the upgrading process is interrupted, the data stored in the firmware storage area of the storage unit 31 may be broken, thereby affecting the firmware originally running in the graphics processor 103.
Therefore, the embodiment of the present invention proposes a firmware upgrade method for a graphics processor, firstly, a firmware storage area of a storage unit 31 of a graphics processor 103 at least includes two firmware storage blocks, and when upgrading firmware, firmware in the two firmware storage blocks is upgraded alternately, so that the firmware storage block written by the firmware to be upgraded and the firmware storage area corresponding to the currently running firmware in the graphics processor 103 are independent from each other, and even if the upgrade process is interrupted, the firmware originally currently running in the graphics processor 103 is not affected. Secondly, the storage unit 31 of the graphics processor 103 is further provided with a start-up state storage area for storing firmware jump state information and a firmware Header storage area for storing firmware Header information, when the firmware is updated, the information is written into the corresponding area in the storage unit 31 according to the sequence of the mirror image file- > the firmware Header information (Header) - > the firmware jump state information (Launch Status), since the firmware currently operated by the graphics processor 103 is indicated by the firmware jump state information, and the firmware jump state information is updated to the storage unit 31 at last, when any step in the firmware updating process is abnormal, the firmware jump state information will not be updated, and when the graphics processor 103 is started again, the original firmware is still selected to be loaded and operated.
Referring to fig. 3, an embodiment of the present invention provides a firmware upgrade method for a graphics processor, which may be executed in an upgrade tool 11, including steps 21 to 24, which are described in detail below.
Step 21: and acquiring an image file of the firmware to be upgraded.
In some embodiments, when the firmware needs to be upgraded, the user may trigger an upgrade instruction manually through the operating system of the terminal device 10, and the upgrade tool 11 obtains an image file of the firmware to be upgraded after receiving the upgrade instruction.
In some embodiments, after the upgrade tool 11 receives the upgrade instruction, it needs to first establish a communication connection with the graphics processor 103, and when establishing the communication connection, it establishes a connection with a sub-core of the graphics processor 103 according to a preset communication protocol, so as to avoid the potential safety hazard caused by the upgrade tool 11 directly operating the storage unit 31 in the graphics processor 103, where the sub-core runs an upgrade process, and the upgrade process communicates with the upgrade tool 11 through the preset communication protocol, where the sub-core of the graphics processor 103 is responsible for receiving and parsing the command, and then reads and writes the storage unit 31. The upgrade tool 11 is only responsible for communication with the child core and cannot directly operate the storage unit 31. When the upgrade tool 11 issues a command to the subcore of the graphics processor 103 using a preset communication protocol, the subcore will check whether the issued content accords with the upgrade process, and if an illegal upgrade process is adopted or a storage unit 31 area outside the operation authority is adopted, the subcore will ignore the command and return an error, thereby protecting the core data area from being tampered with.
In some embodiments, an upgrade timeout processing mechanism is also employed, including:
Responding to a starting command, and establishing communication with the subcores of the graphic processor through a preset communication protocol within a preset response time; if the communication cannot be established within the preset response time, the upgrading is exited; if communication is established within the preset response time, acquiring an image file of the firmware to be upgraded.
In some embodiments, graphics processor 103 includes memory unit 31, where memory unit 31 includes at least a firmware memory area, where the firmware memory area includes. For ease of illustration, the two firmware memory blocks are referred to as firmware memory block a and firmware memory block B, respectively.
Step 22: determining a first firmware storage block and a second firmware storage block in the two firmware storage blocks; the first firmware storage block is used for storing an image file of the firmware currently running by the graphics processor 103; the second firmware storage block is used for writing an image file of the firmware to be upgraded. It should be noted that, when the firmware is upgraded, the two firmware storage modules are alternately used as the second firmware storage block to upgrade, and the firmware storage module that is not upgraded when upgrading is the first firmware storage module.
Step 23: and writing the image file of the firmware to be upgraded into the second firmware storage block to carry out coverage upgrading on the data in the second firmware storage block.
Step 24: after the firmware upgrade is completed, the image file of the firmware stored in the second firmware storage block is an image file of the new upgraded firmware, and when the graphics processor 103 is started next time, the starting module 32 in the graphics processor 103 obtains the image file of the new upgraded firmware from the second firmware storage block to operate.
In some embodiments, it is assumed that the image file of the firmware stored in the firmware storage block a is the image file of the firmware currently operated by the graphics processor 103, and then the firmware storage block a is the first firmware storage block, and the firmware storage block B is the second firmware storage block, and the image file of the firmware stored in the firmware storage block B needs to be updated to be the image file of the firmware to be updated. When upgrading, writing the image file of the firmware to be upgraded into the firmware storage block B to update the image file of the corresponding firmware in the firmware storage block B, namely finishing one-time firmware upgrading; after the upgrade is completed, when the graphics processor 103 starts next time, the starting module 32 reads the image file of the firmware to be upgraded newly written in the firmware storage block B to perform operation, so that the image file of the firmware stored in the firmware storage block B becomes the image file of the firmware currently operated by the graphics processor 103, then the firmware storage block B is the first firmware storage block at this time, the firmware storage block a becomes the second firmware storage block, when the next firmware upgrade is performed, the image file of the firmware to be upgraded next time is written in the firmware storage block a, and after the upgrade is completed, the starting module 32 reads the image file of the firmware to be upgraded newly written in the firmware storage block a to perform operation, and the operation is repeated in sequence. Therefore, the above-mentioned two firmware storage blocks alternately update the image file of the firmware (firmware upgrade), so that the firmware storage block of the storage unit 31 written by the image file corresponding to the current upgrade firmware and the firmware storage block of the storage unit 31 stored by the image file corresponding to the current running firmware of the graphics processor 103 are independent from each other, and even if the upgrade process is interrupted, the normal start and running of the firmware currently running are not affected.
It should be noted that, the firmware related to the firmware upgrading method of the graphics processor is the same firmware, and if the upgrading method of each firmware is the same as the method, the execution process may be performed alternately or sequentially.
In some embodiments, referring to fig. 4, the storage unit 31 is provided with a start-up status storage area 31d, a firmware header storage area 31c and an upgrade log storage area 31a in addition to the firmware storage area 31B (firmware storage area a and firmware storage area B), and the firmware header storage area 31c further includes two firmware header storage areas. In the storage unit 31 shown in fig. 4, firmware0, firmware1, firmware2, and Firmware3 represent 4 different Firmware, respectively, and each storage area in the storage unit 31 is described below:
The upgrade Log storage Area 31a is used for storing upgrade Log information of Firmware, where Firmware0 Update Log Area represents an upgrade Log storage Area corresponding to Firmware0 Firmware, and by analogy, firmware3 Update Log Area represents an upgrade Log storage Area corresponding to Firmware3 Firmware, and Other Update LogArea represents an upgrade Log storage Area corresponding to other Firmware.
The Firmware storage Area 31B is used for storing the image files corresponding to the Firmware, and is divided into a Firmware storage Area a and a Firmware storage Area B, and the method for writing the image files corresponding to the Firmware in the Firmware storage Area a and the Firmware storage Area B is described above, where Firmware0 Stroge A & B Area represents the storage Area (Firmware storage Area a and Firmware storage Area B) of the image files corresponding to the Firmware0 Firmware, and so on, firmware3 Stroge A & B Area represents the storage Area (Firmware storage Area a and Firmware storage Area B) of the image files corresponding to the Firmware3 Firmware, and Other Firmware Stroge Area represents the storage Area of the image files corresponding to other Firmware.
In some embodiments, upgrade log storage area 31a is used to store upgrade log information for firmware for tracking use in the event of a subsequent problem. Each firmware upgrade can write upgrade log information before and after the upgrade respectively. The upgrade log storage area 31a includes information such as:
The update count represents a firmware upgrade count record. This information records the total number of upgrades of the firmware, unlike the fw_item_num value in the header, which is the maximum value among those obtained by the upgrade tool from log at upgrade and saves +1 when writing a new log;
area represents a firmware memory block representing a current upgrade;
date represents an upgrade time for tracking upgrade trigger time;
fw_version represents the firmware software version number of the current upgrade;
The checksum represents a check value of the upgrade log information and is used for performing integrity detection of the upgrade log information.
The firmware header storage area 31c is used for storing header information of an image file of the firmware, where the header information of the image file of the firmware may include an image storage location, a firmware check code, an upgrade iteration value, etc., and these header information are used for a startup module 32 of the graphics processor 103 and the upgrade tool 11, where the header information is used in the startup module 32 to determine an address of a selected loading firmware, verify the integrity of the firmware, etc., and is used in the upgrade tool 11 to determine an address of a storage unit 31 corresponding to the upgraded firmware. Similar to the firmware memory area 31B, the firmware header memory area 31c includes two firmware header memory blocks, namely, a firmware header memory block a and a firmware header memory block B, the firmware header memory block a corresponds to the firmware memory block a, and the firmware header memory block B corresponds to the firmware memory block B. When the firmware is updated, header information in the firmware header memory block corresponding to the first firmware memory block is updated. In the storage unit 31 shown in fig. 4, firmware0 Header a & B Area represents a Firmware Header storage Area (Firmware Header storage block a and Firmware Header storage block B) of an image file corresponding to Firmware0, and so on, firmware3 Header a & B Area represents a Firmware Header storage Area (Firmware Header storage block a and Firmware Header storage block B) of an image file corresponding to Firmware3, and Other FIRMWARE HEADER AREA represents a Firmware Header storage Area of an image file corresponding to Other Firmware.
In some embodiments, the firmware header storage area 31c is configured to store header information of an image file of firmware, including information such as a firmware address, a firmware size, a firmware version, a firmware check code, an upgrade Log offset address, and an upgrade iteration number. The header information of the firmware is generally used for upgrading and acquiring, and is also used for starting the module 32 or upgrading the tool 11 to judge the state of the firmware so as to select the skipped or upgraded firmware storage block when the firmware skip state information is destroyed. The following describes some information in the firmware header storage area 31 c:
fw_length represents a firmware image length for identifying an image file size of firmware stored in the storage unit 31;
fw_addr represents a firmware image address for identifying an address at which an image file of firmware is stored in the storage unit 31;
fw_checksum represents a verification value of the firmware image, and is used for enabling the module 32 to perform integrity detection on the stored firmware image file;
fw_iteration_num represents an upgrade iteration value, and is the basis for judging the first firmware storage block and the second firmware storage block. When leaving the factory, the upgrading iteration value in the header information of the firmware upgraded in the first version is 1, and then, when upgrading, the upgrading tool 11 can acquire the upgrading iteration value of the header information of the currently operated firmware, and add 1 to the upgrading iteration value to generate the upgrading iteration value of the new firmware and write the upgrading iteration value into the header information of the new firmware. For example, when the firmware in the firmware storage block a is currently running, the upgrade tool 11 obtains the upgrade iteration value corresponding to the firmware in the firmware storage block a and adds 1, and writes the calculation result as the upgrade iteration value of the firmware in the firmware storage block B into the storage unit 31.
Update_log_tail_ offest indicates the offset address of the last piece of upgrade log information in upgrade log storage area 31 a;
update_log_start_addr represents the start address of the upgrade log storage area 31a in the storage unit 31;
update_log_stop_addr represents the end address of the upgrade log storage area 31a in the storage unit 31;
the enc_flag indicates an encryption mode enable flag indicating whether the firmware in the storage unit 31 is encrypted firmware to indicate whether the start module 32 performs a decryption operation;
the payload represents an extension information bit, and the part of data can be optionally filled with information such as a software version number, a hardware version number, a chip model number and the like for further verification and judgment.
Header_checksum represents a header information check value, and is calculated by checking all header information except the value, and is used for performing header information integrity detection.
The boot state storage area 31d is used to store firmware jump state information for the boot module 32 of the graphics processor 103 to quickly acquire boot firmware storage area and firmware boot self-verification function. Firmware0 Launch Status Area represents a Firmware header storage area (Firmware header storage block a and Firmware header storage block B) of an image file corresponding to Firmware0 Firmware, and so on, firmware3 Launch Status Area represents a Firmware header storage area (Firmware header storage block a and Firmware header storage block B) of an image file corresponding to Firmware3 Firmware, and Other FirmwareLaunch Status Area represents Firmware header storage areas of image files corresponding to other Firmware.
In some embodiments, the information stored in the boot state storage area 31d is used for fast acquiring the boot firmware storage area and the firmware boot self-verification function, and is also used by the upgrade program to determine the firmware storage block to be upgraded. Therefore, the boot state storage area 31d should be designed to be as small as possible, so that the time for the boot state storage area 31d to acquire firmware jump state information from the storage unit 31 can be shortened. In order to minimize the boot state storage area 31d, the present embodiment uses only 1byte length data to store the firmware jump state information, wherein the firmware jump state information includes:
sel_area represents firmware area information, the size is 2 bits, the sel_area is used for representing which firmware storage block obtains the identification number of the image file of the firmware, two effective values are provided, and 0x1 and 0x2 respectively represent that the firmware storage block A and the firmware storage block B obtain the image file of the firmware;
status represents upgrade status information, 2 bits in size, which is provided to the boot module 32 to determine the upgrade status of the firmware, with effective values of 0x1 and 0x2 representing that the upgrade is completed but the verification is not completed, and other values are non-effective values, which are written into 0x1 by the upgrade tool 11 during upgrade, and written into 0x2 after the verification is completed by the firmware boot;
reserved represents reservation information, with a size of 4 bits.
For example, when the image file of the firmware to be upgraded is written into the firmware storage block a, after the upgrade is completed, the firmware jump status information is 0x05, and after the start module 32 starts up, the verification is completed, the firmware jump status information is modified to 0x09.
In some embodiments, referring to fig. 5, step 22 of determining the first firmware storage block and the second firmware storage block of the two firmware storage blocks, that is, determining the image file of the firmware currently running by the graphics processor 103, may include:
Step 221: the firmware jump status information is acquired from the start-up status storage area 31d of the storage unit 31.
Step 222: and judging whether the firmware jump state information is a valid value.
In some embodiments, the non-significant values are 0x00 and 0xff, unless the significant values are significant values.
Step 223: if the firmware skip status information is a valid value, determining a first firmware storage block and a second firmware storage block in the two firmware storage blocks according to the firmware skip status information.
If the firmware jump status information is a valid value, the first firmware memory block and the second firmware memory block of the two firmware memory blocks are determined by the value of sel_area in the firmware jump status information. As can be seen from the above, sel_area represents firmware area information, and has a size of 2 bits, which is used to represent an identification number of which firmware storage block to obtain an image file of firmware from when the graphics processor 103 is started, and has two valid values, 0x1 and 0x2, which represent that the firmware storage block a and the firmware storage block B are used to obtain the image file of firmware from when the graphics processor 103 is started, respectively. When sel_area indicates that the image file of the firmware is obtained from the firmware storage block a when the graphics processor 103 is started, the firmware storage block a is a first firmware storage block, and the firmware storage block B is a second firmware storage block; otherwise, the same is true.
Referring to fig. 6, if the firmware jump status information is a non-valid value, determining the first firmware storage block and the second firmware storage block of the two firmware storage blocks further includes:
Step 224: judging whether the upgrade iteration values in the two firmware header storage blocks are effective values or not.
Step 225: if the upgrade iteration values in the two firmware header storage blocks are valid upgrade iteration values, determining the firmware header storage block with the larger upgrade iteration value in the two firmware header storage blocks, taking the firmware storage block corresponding to the firmware header storage block with the larger upgrade iteration value as a first firmware storage block, and taking the other firmware storage block except the first firmware storage block in the two firmware storage blocks as a second firmware storage block.
As can be seen from the above description of the upgrade iteration value, in the start-up stage, if the start-up module 32 determines that the firmware jump status information is a non-valid value, the graphics processor 103 reads and compares the upgrade iteration value (fw_iteration_num) in the two firmware header memory blocks, selects the firmware memory block corresponding to the firmware header memory block corresponding to the larger upgrade iteration value as the first firmware memory block, and uses the other firmware memory block except the first firmware memory block of the two firmware memory blocks as the second firmware memory block.
Step 226: if only the upgrade iteration value in one firmware header memory block is an effective upgrade iteration value, the corresponding firmware memory block of the firmware header memory block with the effective upgrade iteration is used as the first firmware memory block.
Step 227: if the upgrade iteration values in the two firmware header storage blocks are not the effective values, updating the firmware jump state information into initial values, and determining a first firmware storage block and a second firmware storage block in the two firmware storage blocks according to the updated firmware jump state information.
Based on the above method steps, a first firmware memory block of the two firmware memory blocks can be determined, and then a second firmware memory block of the two firmware memory blocks can be determined. And writing the image file of the firmware to be upgraded into the determined second firmware storage block to finish the upgrading of the firmware in the second firmware storage block when the second firmware storage block in the two firmware storage blocks is determined.
After the image file of the firmware to be upgraded is written into the determined second firmware storage block, the startup state storage area 31d, the firmware header storage area 31c, and the upgrade log storage area 31a in the storage unit 31 are also required to be updated, which will be described below, respectively.
In some embodiments, referring to fig. 7, after writing the image file of the firmware to be upgraded into the second firmware storage block, the method further includes:
Step 228: and generating new header information and new firmware jump state information according to the mirror image file of the firmware to be upgraded.
Step 229: writing the new header information into the corresponding firmware header storage blocks in the storage unit.
Step 2210: the new firmware jump status information is written to the start-up status storage area 31d in the storage unit.
The firmware jump Status information in the startup Status storage area 31d and the Header information in the firmware Header storage area 31c are updated as above, and these information are written into the corresponding area in the storage unit 31 in the order of the image file- > firmware Header information (Header) - > firmware jump Status information (mount) of the firmware, since the firmware currently operated by the graphics processor 103 is indicated by the firmware jump Status information, and the firmware jump Status information is updated to the storage unit 31 last, when any one step in the firmware upgrade process is abnormal, the firmware jump Status information will not be updated, and the graphics processor 103 will still select the original firmware to load and operate when it is restarted.
In some embodiments, the present embodiment further generates upgrade log information in the firmware upgrade process, where each firmware upgrade records two upgrade log information, and when the upgrade starts and after the upgrade ends, it is avoided that the upgrade log information of the present upgrade cannot be found after the upgrade exits abnormally during the upgrade. By acquiring the upgrade log information, the firmware upgrade condition can be tracked and analyzed, and the upgrade abnormality problem can be located. Referring to fig. 8, the generation and writing of the upgrade log information includes the steps of:
step 301: generating upgrade log information, wherein the upgrade log information at least comprises one or more of upgrade time, version information of firmware to be upgraded, hardware version information, upgrade environment information and upgrade state information;
step 302: writing the upgrade log information into the upgrade log storage area.
Wherein: the upgrade log information comprises first upgrade log information and second upgrade log information; the first upgrade log information is generated and written into an upgrade log storage area before the data in the second firmware storage block is upgraded; the second upgrade log information is generated and written into the upgrade log storage area before upgrading the data in the second firmware storage block.
In some embodiments, writing the upgrade log information to the upgrade log storage area in step 302 includes:
step 3021: and determining a storage offset address corresponding to the upgrade log information.
Step 3022: and judging whether the storage offset address is larger than the end address of the upgrade log storage area.
Step 3023: and if the update log information is not greater than the end address of the update log storage area, writing the update log information into the update log storage area according to the storage offset address.
Step 3024: if the data is larger than the end address of the upgrade log storage area, erasing the data corresponding to the start address of the upgrade log storage area, and writing the upgrade log information into the start address of the upgrade log storage area.
Based on the circulation preservation mechanism of the upgrade log information, the possibility of continuous recording can be ensured.
Referring to fig. 9, upgrade log information is written and read by the upgrade tool 11. Each upgrade log storage area is composed of no less than two storage log blocks (Update Log Section), N being shown, and Update Log Section is the minimum erase area of the storage unit 31. Taking Update Log Section as an example of 4KB, each piece of upgrade log information has a length of log_size, and the update logic when N pieces of upgrade log storage areas of Update Log Section are used. The following is a specific update procedure of the upgrade log information:
(1) When the upgrade tool 11 performs the function of updating firmware, three values of update_log_tail_ offest, update _log_start_addr and update_log_stop_addr are read out from the firmware header storage area.
(2) The offset address calculation formula is: offest = update_log_tail_ offest +2 (log_size); where log_size is the length of a single piece of upgrade log information.
(3) When the calculated offset address is greater than the maximum address Update Log Section, the information in the Update Log section area is erased first, and then new upgrade log information is written.
(4) When the calculated offset address is larger than the maximum address of Update Log Section n-1, namely the value of update_log_stop_addr, the information of the Update Log section area is firstly erased, and then new upgrade log information is written into the update_log_start_addr address, so that the cyclic storage of the upgrade log information is completed.
In some embodiments, to prevent potential risks in the firmware upgrade process, multiple security guarantee measures are adopted in this embodiment, and the startup module 31 of the graphics processor 103 can also separately check the integrity of header information, firmware jump status information and an image file of the firmware when reading these information, as described in detail below.
Referring to fig. 10, to prevent other people from tampering with related information of firmware upgrade, the firmware jump status information and the header information are checked, including the following steps:
Step 311: the unique identification code of the graphic processor 103, i.e., the Chip ID of the graphic processor 103 is acquired.
Step 312: the firmware jump status information and the unique identification code of the graphic processor 103 are mixed to obtain a first check value, and the first check value is written into the start-up status storage area 31d in the storage unit 31 along with the new firmware jump status information.
Step 313: the header information and the unique identification code of the graphics processor 103 are mixed to obtain a second check value, and the second check value is written into the firmware header memory block corresponding to the firmware header memory area 31c in the memory unit 31 along with the new header information.
Step 314: at the start-up of the graphics processor 103, the start-up module 32 in the graphics processor 103 reads the first check value and the second check value from the memory unit 31 for data integrity check.
The verification algorithm adopted in the verification process can be CRC, checksum, exclusive OR, digest algorithm and the like.
In order to ensure that the firmware is complete or not tampered, the image file of the firmware is signed in the upgrade stage, and the image file of the read firmware is checked when the boot module 32 of the graphics processor 103 loads the image file of the firmware. The encryption algorithm for signature verification may use a symmetric encryption algorithm, such as AES, or an asymmetric encryption algorithm, such as RSA.
In one embodiment, when an asymmetric encryption algorithm is used, the method may include the following steps:
Step 315-1: obtaining a public key from the graphic processor 103, and encrypting an image file of the firmware to be upgraded by adopting the public key to obtain a signature value; the graphics processor 103 may pre-generate corresponding public and private keys.
Step 316-1: the signature value is written in the storage unit 31.
Step 317-1: when the graphics processor 103 is started, the starting module 32 in the graphics processor 103 reads the signature value from the storage unit, and decrypts the signature value by using the corresponding private key to obtain the image file of the firmware to be upgraded, so that the image file of the firmware is ensured to be started after being complete.
In another embodiment, when a symmetric encryption algorithm is used, the method may include the following steps:
step 315-2: the image file of the firmware to be upgraded is encrypted by a key agreed in advance with the graphics processor 103 to obtain a signature value.
Step 316-2: the signature value is written in the storage unit 31.
Step 317-2: when the graphics processor 103 is started, the starting module 32 in the graphics processor 103 reads the signature value from the storage unit, and decrypts the signature value by using a pre-agreed key to obtain an image file of the firmware to be upgraded, so that the image file of the firmware is ensured to be complete and then started.
Those skilled in the art will appreciate that all or part of the functions of the various methods in the above embodiments may be implemented by hardware, or may be implemented by a computer program. When all or part of the functions in the above embodiments are implemented by means of a computer program, the program may be stored in a computer readable storage medium, and the storage medium may include: read-only memory, random access memory, magnetic disk, optical disk, hard disk, etc., and the program is executed by a computer to realize the above-mentioned functions. For example, the program is stored in the memory of the device, and when the program in the memory is executed by the processor, all or part of the functions described above can be realized. In addition, when all or part of the functions in the above embodiments are implemented by means of a computer program, the program may be stored in a storage medium such as a server, another computer, a magnetic disk, an optical disk, a flash disk, or a removable hard disk, and the program in the above embodiments may be implemented by downloading or copying the program into a memory of a local device or updating a version of a system of the local device, and when the program in the memory is executed by a processor.
The foregoing description of the invention has been presented for purposes of illustration and description, and is not intended to be limiting. Several simple deductions, modifications or substitutions may also be made by a person skilled in the art to which the invention pertains, based on the idea of the invention.

Claims (10)

1. A method for upgrading firmware of a graphics processor, comprising:
Acquiring an image file of firmware to be upgraded; the graphics processor comprises a storage unit, wherein the storage unit at least comprises a firmware storage area, and the firmware storage area comprises two firmware storage blocks;
determining a first firmware storage block and a second firmware storage block in the two firmware storage blocks; the first firmware storage block is used for storing an image file of the current running firmware of the graphic processor; the second firmware storage block is used for writing an image file of firmware to be upgraded;
Writing the image file of the firmware to be upgraded into the second firmware storage block to upgrade the firmware of the data in the second firmware storage block;
After the firmware upgrading is completed, the image file of the firmware stored in the second firmware storage block is an image file of the new upgraded firmware, and when the graphics processor is started next time, the starting module in the graphics processor acquires the image file of the new upgraded firmware from the second firmware storage block to operate.
2. The method of claim 1, wherein the storage unit further comprises a startup state storage area for storing firmware jump state information; the determining a first firmware storage block and a second firmware storage block of the two firmware storage blocks includes:
Acquiring the firmware jump state information from a start state storage area of the storage unit;
judging whether the firmware jump state information is a valid value or not;
And if the firmware jump state information is an effective value, determining a first firmware storage block and a second firmware storage block in the two firmware storage blocks according to the firmware jump state information.
3. The method of claim 2, wherein the memory unit further comprises a firmware header memory area, the firmware header memory area comprising two firmware header memory blocks, the firmware header memory blocks corresponding one-to-one to the firmware memory blocks; the firmware header storage block is used for storing header information of an image file of firmware stored in the corresponding firmware storage block, and the header information at least comprises an upgrade iteration value;
If the firmware jump status information is not a valid value, the determining the first firmware storage block and the second firmware storage block of the two firmware storage blocks further includes:
judging whether the upgrade iteration values in the two firmware header storage blocks are valid upgrade iteration values or not;
If the upgrading iteration values in the two firmware header storage blocks are valid upgrading iteration values, determining the firmware header storage block with a larger upgrading iteration value in the two firmware header storage blocks, taking the firmware storage block corresponding to the firmware header storage block with the larger upgrading iteration value as a first firmware storage block, and taking the other firmware storage block except the first firmware storage block in the two firmware storage blocks as a second firmware storage block;
If only the upgrading iteration value in one firmware header storage block is an effective upgrading iteration value, taking the corresponding firmware storage block of the firmware header storage block with the effective upgrading iteration as a first firmware storage block, and taking the other firmware storage block except the first firmware storage block of the two firmware storage blocks as a second firmware storage block;
if the upgrade iteration values in the two firmware header storage blocks are not the effective upgrade iteration values, updating the firmware jump state information into an initial value, and determining a first firmware storage block and a second firmware storage block in the two firmware storage blocks according to the updated firmware jump state information.
4. The method of claim 3, wherein after writing the image file of the firmware to be upgraded to the second firmware storage block, further comprising:
generating new header information and new firmware jump state information according to the mirror image file of the firmware to be upgraded;
writing the new header information into a corresponding firmware header storage block in the storage unit;
and writing the new firmware jump state information into a starting state storage area in the storage unit.
5. The method as recited in claim 4, further comprising:
acquiring a unique identification code of the graphic processor;
Performing mixed calculation on the firmware jump state information and the unique identification code of the graphic processor to obtain a first check value, and writing the first check value into a starting state storage area in the storage unit along with the new firmware jump state information;
Performing mixed calculation on the header information and the unique identification code of the graphic processor to obtain a second check value, and writing the second check value into a corresponding firmware header storage block in the storage unit along with the new header information;
When the graphic processor is started, a starting module in the graphic processor reads the first check value and the second check value from the storage unit to perform data check;
Or further comprising:
encrypting the image file of the firmware to be upgraded to obtain a signature value;
Writing the signature value into the storage unit;
After the firmware upgrading is completed, when the graphics processor is started next time, a starting module in the graphics processor reads the signature value from the storage unit and decrypts the signature value to acquire an image file of the firmware to be upgraded.
6. The method of any one of claims 1 to 5, wherein the storage unit further comprises an upgrade log storage area; the method further comprises the steps of:
Generating upgrade log information, wherein the upgrade log information at least comprises one or more of upgrade time, version information of firmware to be upgraded, hardware version information, upgrade environment information and upgrade state information;
writing the upgrade log information into the upgrade log storage area;
Wherein: the upgrade log information comprises first upgrade log information and second upgrade log information; the first upgrade log information is generated and written into the upgrade log storage area before the data in the second firmware storage block is subjected to firmware upgrade; the second upgrade log information is generated and written into the upgrade log storage area before firmware upgrade is performed on the data in the second firmware storage area.
7. The method of claim 6, wherein the writing the upgrade log information to the upgrade log storage area comprises:
determining a storage offset address corresponding to the upgrade log information;
judging whether the storage offset address is larger than the end address of the upgrade log storage area;
If the update log information is not greater than the end address of the update log storage area, writing the update log information into the update log storage area according to a storage offset address;
and if the data corresponding to the start address of the upgrade log storage area is larger than the end address of the upgrade log storage area, erasing the data corresponding to the start address of the upgrade log storage area, and writing the upgrade log information into the start address of the upgrade log storage area.
8. The method of any of claims 1 to 5, further comprising, prior to the obtaining the image file of the firmware to be upgraded:
responding to a starting command, and establishing communication with the subcores of the graphic processor through a preset communication protocol within a preset response time;
If the communication cannot be established within the preset response time, the upgrading is exited;
If communication is established within the preset response time, acquiring an image file of the firmware to be upgraded.
9. A terminal device, comprising:
A graphics processor;
A memory for storing a program;
A processor for implementing the method of any one of claims 1-8 by executing a program stored in the memory.
10. A computer readable storage medium, characterized in that the medium has stored thereon a program executable by a processor to implement the method of any of claims 1-8.
CN202410364795.8A 2024-03-28 2024-03-28 Firmware upgrading method of graphic processor, terminal equipment and storage medium Pending CN117971283A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410364795.8A CN117971283A (en) 2024-03-28 2024-03-28 Firmware upgrading method of graphic processor, terminal equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410364795.8A CN117971283A (en) 2024-03-28 2024-03-28 Firmware upgrading method of graphic processor, terminal equipment and storage medium

Publications (1)

Publication Number Publication Date
CN117971283A true CN117971283A (en) 2024-05-03

Family

ID=90863401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410364795.8A Pending CN117971283A (en) 2024-03-28 2024-03-28 Firmware upgrading method of graphic processor, terminal equipment and storage medium

Country Status (1)

Country Link
CN (1) CN117971283A (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110179407A1 (en) * 2010-01-15 2011-07-21 Fujitsu Limited Information processing device and a firmware updating method of the information processing device
CN102339227A (en) * 2010-07-28 2012-02-01 环旭电子股份有限公司 Multi-firmware embedded system and firmware update method thereof
CN107247603A (en) * 2017-04-18 2017-10-13 深圳市广和通无线股份有限公司 Support the remote upgrade method and system of firmware auto restore facility
CN107943501A (en) * 2017-11-30 2018-04-20 深圳市东微智能科技股份有限公司 Embedded device upgrade method, device, computer equipment and storage medium
CN109002310A (en) * 2018-08-07 2018-12-14 北京云迹科技有限公司 firmware upgrade method
CN109634645A (en) * 2018-12-28 2019-04-16 深圳市有方科技股份有限公司 Firmware upgrade method and terminal
CN113064604A (en) * 2021-03-18 2021-07-02 瑞芯微电子股份有限公司 Firmware upgrading method and device
CN113238771A (en) * 2021-04-27 2021-08-10 瑞芯微电子股份有限公司 Android system-based FOTA firmware upgrading method and device
CN113778481A (en) * 2021-08-05 2021-12-10 深圳市智微智能科技股份有限公司 MCU (microprogrammed control Unit) online upgrading method, system, terminal and storage medium
CN115828255A (en) * 2022-11-01 2023-03-21 瑞芯微电子股份有限公司 Method for upgrading signed firmware, electronic device and storage medium
CN116400943A (en) * 2023-04-24 2023-07-07 常州星宇车灯股份有限公司 Upgrading method, system, equipment, medium and vehicle of vehicle controller
US20230305871A1 (en) * 2022-03-22 2023-09-28 International Business Machines Corporation Reducing downtime caused by incompatability issues from upgrading firmware and software

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110179407A1 (en) * 2010-01-15 2011-07-21 Fujitsu Limited Information processing device and a firmware updating method of the information processing device
CN102339227A (en) * 2010-07-28 2012-02-01 环旭电子股份有限公司 Multi-firmware embedded system and firmware update method thereof
CN107247603A (en) * 2017-04-18 2017-10-13 深圳市广和通无线股份有限公司 Support the remote upgrade method and system of firmware auto restore facility
CN107943501A (en) * 2017-11-30 2018-04-20 深圳市东微智能科技股份有限公司 Embedded device upgrade method, device, computer equipment and storage medium
CN109002310A (en) * 2018-08-07 2018-12-14 北京云迹科技有限公司 firmware upgrade method
CN109634645A (en) * 2018-12-28 2019-04-16 深圳市有方科技股份有限公司 Firmware upgrade method and terminal
CN113064604A (en) * 2021-03-18 2021-07-02 瑞芯微电子股份有限公司 Firmware upgrading method and device
CN113238771A (en) * 2021-04-27 2021-08-10 瑞芯微电子股份有限公司 Android system-based FOTA firmware upgrading method and device
CN113778481A (en) * 2021-08-05 2021-12-10 深圳市智微智能科技股份有限公司 MCU (microprogrammed control Unit) online upgrading method, system, terminal and storage medium
US20230305871A1 (en) * 2022-03-22 2023-09-28 International Business Machines Corporation Reducing downtime caused by incompatability issues from upgrading firmware and software
CN115828255A (en) * 2022-11-01 2023-03-21 瑞芯微电子股份有限公司 Method for upgrading signed firmware, electronic device and storage medium
CN116400943A (en) * 2023-04-24 2023-07-07 常州星宇车灯股份有限公司 Upgrading method, system, equipment, medium and vehicle of vehicle controller

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
林海;赵凯;张淑舫;刘志兵;: "基于LPC1700系列微控制器的一种高可靠性软件升级方法", 新技术新工艺, no. 06, 25 June 2020 (2020-06-25), pages 72 - 75 *

Similar Documents

Publication Publication Date Title
US7730326B2 (en) Method and system for updating firmware stored in non-volatile memory
CN102509046B (en) The operating system effectively measured with the overall situation of dormancy support is started
JP5565040B2 (en) Storage device, data processing device, registration method, and computer program
US20100058066A1 (en) Method and system for protecting data
KR20170055933A (en) Method and apparatus for protecting kernel control-flow integrity using static binary instrumentaiton
JP4824657B2 (en) Apparatus and method for managing security data
JP2011210037A (en) Semiconductor device and data processing method
KR100872175B1 (en) Secure booting apparatus and method of mobile platform using TPM
US20120036369A1 (en) Memory identification code generation method, management method, controller, and storage system
US20160004648A1 (en) Data erasing apparatus, data erasing method, and computer-readable storage medium
KR102195344B1 (en) Security system and method for computer using usb storage medium
JP2001356963A (en) Semiconductor device and its control device
US7418542B2 (en) Rewritable, nonvolatile memory, electronic device, method of rewriting rewritable, nonvolatile memory, and storage medium having stored thereon rewrite program
US20050193195A1 (en) Method and system for protecting data of storage unit
CN109491716B (en) Starting method and device, program storage method and device
CN109582238B (en) Hard disk binding and matching method and system, electronic equipment and storage medium
US20090172414A1 (en) Device and method for securing software
KR100661894B1 (en) Autonomic binding of subsystems to system to prevent theft
CN112231649A (en) Firmware encryption processing method, device, equipment and medium
CN109583197B (en) Trusted overlay file encryption and decryption method
JP2006195629A (en) Portable storage device
CN117971283A (en) Firmware upgrading method of graphic processor, terminal equipment and storage medium
CN114564702A (en) Off-line software license control method and device based on firmware
US11113399B2 (en) Electronic apparatus and control method of electronic apparatus
CN117932623B (en) Safe booting method and system for operating system

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