WO2022116088A1 - Procédé et appareil de traitement de données de micrologiciel - Google Patents
Procédé et appareil de traitement de données de micrologiciel Download PDFInfo
- Publication number
- WO2022116088A1 WO2022116088A1 PCT/CN2020/133622 CN2020133622W WO2022116088A1 WO 2022116088 A1 WO2022116088 A1 WO 2022116088A1 CN 2020133622 W CN2020133622 W CN 2020133622W WO 2022116088 A1 WO2022116088 A1 WO 2022116088A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- firmware
- check code
- computer device
- data packet
- target
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 239000012634 fragment Substances 0.000 claims abstract description 95
- 238000000034 method Methods 0.000 claims abstract description 78
- 230000005540 biological transmission Effects 0.000 claims abstract description 68
- 238000012795 verification Methods 0.000 claims abstract description 36
- 238000013467 fragmentation Methods 0.000 claims description 155
- 238000006062 fragmentation reaction Methods 0.000 claims description 155
- 238000012545 processing Methods 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012790 confirmation Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000008447 perception Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Definitions
- the present application relates to the technical field of firmware processing, and in particular, to a method and device for processing firmware data.
- the firmware update of the millimeter-wave radar can be realized by data interaction with the host computer device. After the host computer device generates new firmware, it can establish a transmission channel with the millimeter-wave radar and send the firmware data to the millimeter-wave radar for processing. Load update to replace older firmware in mmWave radar.
- the present application provides a firmware data processing method, device, camera module and removable device, which can solve the problem that the prior art cannot provide effective supervision for the firmware transmission process, resulting in frequent occurrence of abnormal situations such as data loss in the firmware transmission process, and The problem that the probability of firmware loading error is greatly increased.
- an embodiment of the present application provides a firmware data processing method, which is applied to a lower computer device, including:
- the firmware fragmentation data packet includes data fragmentation content, and a first check code corresponding to the data fragmentation content generated according to a preset rule;
- the second aspect, the embodiment of the present application provides a kind of firmware data processing method, is applied to the host computer equipment, including:
- a first check code corresponding to the data fragment content of the firmware fragment data packet is generated
- an embodiment of the present application provides a firmware data processing apparatus, which is applied to a lower computer device, including: a memory and a processor;
- the memory is used to obtain the firmware fragmentation data packet of the target firmware sent by the host computer device;
- the firmware fragmentation data packet includes the data fragmentation content, and the corresponding data fragmentation content generated according to the preset rule. the first check code;
- the processor is configured to, according to the preset rule, generate a second check code corresponding to the data fragment content of the obtained firmware fragment data packet;
- an embodiment of the present application provides a firmware data processing apparatus, which is applied to a host computer device, and the apparatus includes: a processor;
- the processor is used to:
- a first check code corresponding to the data fragment content of the firmware fragment data packet is generated
- an embodiment of the present application provides a firmware data processing system, the system comprising:
- the upper computer equipment and the lower computer equipment are The upper computer equipment and the lower computer equipment;
- the host computer equipment is used to divide the target firmware into a plurality of firmware fragmentation data packets with preset file sizes, and according to preset rules, generate the first data fragment corresponding to the data fragmentation content of the firmware fragmentation data packet. a check code; and send the firmware fragmentation data packet including the first check code to the lower computer device;
- the lower computer device is used to obtain the firmware fragmentation data packet of the target firmware sent by the upper computer device, and according to the preset rule, generate the first corresponding data fragmentation content of the acquired firmware fragmentation data packet.
- two check codes and performing corresponding operations according to the check results of the second check codes and the first check codes.
- the present application provides a computer-readable storage medium, the computer-readable storage medium comprising instructions that, when executed on a computer, cause the computer to perform the method described in the above aspects.
- the present application provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method described in the above aspects.
- an embodiment of the present application provides a vehicle, the vehicle comprising: a body;
- the firmware data processing device is mounted on the vehicle body.
- the present application obtains the firmware fragmentation data packet of the target firmware sent by the host computer device; the firmware fragmentation data packet includes the data fragmentation content, and the corresponding data fragmentation content generated according to preset rules. a first check code; according to a preset rule, generate a second check code corresponding to the data fragment content of the obtained firmware fragment data packet; according to the second check code and the check result of the first check code, Perform the corresponding operation.
- the lower computer device can perform verification based on the check code on the content of each firmware fragmentation data packet of the received target firmware to determine whether the firmware fragmentation data packet is a correct data packet, thereby identifying the Abnormal situations such as data packet loss during the transmission process realize the effective supervision of the firmware transmission process and reduce the probability of errors during the transmission process.
- FIG. 1 is a system architecture diagram of a firmware data processing system provided by an embodiment of the present application.
- FIG. 2 is a flowchart of a method for processing firmware data on a lower computer device side provided by an embodiment of the present application
- FIG. 3 is a flowchart of a method for processing firmware data on a host computer device side provided by an embodiment of the present application
- FIG. 4 is a flow chart of interaction steps of a firmware data processing method provided by an embodiment of the present application.
- FIG. 5 is a block diagram of a firmware data processing apparatus provided by an embodiment of the present application.
- FIG. 6 is a block diagram of another firmware data processing apparatus provided by an embodiment of the present application.
- FIG. 7 is a structural block diagram of a vehicle provided by an embodiment of the present application.
- millimeter-wave radar In the field of unmanned driving and aerial photography surveying and mapping, millimeter-wave radar, as an all-weather, high-precision sensor, plays a huge role in vehicle perception. Based on the firmware data processing of millimeter-wave radar, the embodiments of the present application provide a Millimeter-wave radar is a lower computer device, which realizes the firmware data interaction with the upper computer device, so that the upper computer device can remotely issue new firmware data to update the old firmware data in the lower computer device. Wave Radar adapts to constantly iterative firmware algorithms. It should be noted that the lower computer device can also be other devices that need firmware upgrade and update, such as lidar, vehicle terminal, etc.
- FIG. 1 it shows a system architecture diagram of a firmware data processing system provided by the embodiment of the present application, including: an upper computer device 10 and a lower computer device 20 , and the upper computer device 10 may be
- the host computer device 10 can store or generate firmware data generated after the algorithm update iteration of the millimeter-wave radar, and the host computer device 10 can also establish a wired/wireless connection channel with the lower computer device 20, And send the firmware data to the lower computer device 20 through the connection channel.
- the lower computer device 20 can load the firmware data under the condition of verifying that the firmware data is correct, so as to work with the new firmware.
- the processing process for the firmware data includes: a process of transmitting the firmware data, and a process of loading the received firmware data by the lower computer device.
- the connection channel with the upper computer device 10 is often unstable, thereby causing instability in the process of transmitting firmware data.
- the storage device of the lower computer device 20 fails, the problem of failure to load the firmware data will also occur.
- the entire target firmware to be transmitted can be divided into multiple smaller firmware fragment data packets by the host computer device, and the data packets of firmware fragments can be continuously verified during the transmission process. Check whether the check codes generated by the upper computer device and the lower computer device for each firmware fragmentation data packet are consistent to determine whether any firmware fragmentation data packet is lost or wrong in the transmission process. In addition, after the transmission process is completed, it is also possible to determine whether the transmitted target firmware is correct by verifying whether the check codes generated by the upper computer device and the lower computer device for the entire target firmware package are consistent to ensure the stability of the transmission process.
- the lower computer device can first store the target firmware in the local storage space, and then generate the check code of the target firmware extracted from the storage space, and verify the generated check code and the upper Check whether the check code generated by the host device for the entire target firmware package is consistent to determine whether the lower computer device has a problem of storage failure, so as to ensure the loading stability.
- FIG. 2 is a flowchart of a firmware data processing method provided by an embodiment of the present application. The method is applied to a lower computer device. As shown in FIG. 2 , the method may include:
- Step 101 obtain the firmware fragmentation data packet of the target firmware sent by the host computer device; the firmware fragmentation data packet includes data fragmentation content, and the first calibration corresponding to the data fragmentation content generated according to preset rules. code verification.
- the host computer device may divide the target firmware into a plurality of firmware fragmentation data packets with a fixed file size, and generate data fragmentation content corresponding to each firmware fragmentation data packet according to preset rules
- the first check code, the firmware fragmentation data packet containing the first check code is sent to the lower computer equipment in turn, the first check code is unique, and is used for the data distribution of the corresponding firmware fragmentation data packet.
- the correctness of the content of the slice is verified.
- the check code of one firmware slice data packet is A.
- the check code of another firmware slice data packet is A, it can be considered that these two firmware slices The packets are the same.
- the check code of one firmware fragment data packet is A, and when the check code of another firmware fragment data packet is B, it can be considered that the two firmware fragment data packets are different.
- the host computer device can convert the data fragment content of the firmware fragment data packet to be sent into a K-bit binary sequence, and generate a first check code corresponding to the binary sequence according to preset rules.
- the verification code is also a binary sequence with a total of R bits.
- the upper computer device can append the first check code to the K-bit binary sequence to obtain a K+R-bit binary sequence and send it to the lower computer device.
- check code involved in the embodiment of the present application may be a Cyclic Redundancy Check (CRC) code
- CRC Cyclic Redundancy Check
- the channel coding technology of digital check code is mainly used to detect or verify errors that may occur after data transmission or storage.
- the cyclic redundancy check is a calculation method used to verify the accuracy of digital transmission on a communication link.
- the upper computer device uses a certain formula to calculate a value of the information contained in the transmitted data, and appends this value to the value. After the data is transmitted, it is sent to the lower-level computer device, and the lower-level computer device performs the same rule calculation on the same data to obtain the corresponding result. If the two CRC results are inconsistent, it means that there is an error in the transmission, and the lower device can request the upper device to resend the data.
- Step 102 According to the preset rule, generate a second check code corresponding to the acquired data fragment content of the firmware fragment data packet.
- the lower computer device after receiving each firmware fragmentation data packet, the lower computer device needs to verify the data fragmentation content of the received firmware fragmentation data packet to determine whether the content is correct.
- the lower computer device can generate the second check code corresponding to the data fragment content of the firmware fragment data packet according to the preset rules agreed with the upper computer device, so as to compare the second check code with the first check code Compare.
- the firmware fragmentation data packet when the lower computer device receives a firmware fragmentation data packet sent by the upper computer device, the firmware fragmentation data packet is in the form of a binary sequence of K+R bits, and the lower computer device can extract and reflect the content of its data fragmentation.
- the K-bit binary sequence is generated, and according to the preset rules agreed with the host computer equipment, a second check code corresponding to the K-bit binary sequence is generated, and the second check code is in the form of an R-bit binary sequence.
- Step 103 Perform corresponding operations according to the verification results of the second verification code and the first verification code.
- the second check code is consistent with the first check code
- the second check code is the same as the first check code. If the verification codes are inconsistent, for the two verification results, the lower computer equipment can perform corresponding operations respectively.
- the second check code is consistent with the first check code
- the host device can continue to receive the next firmware fragmentation data packet sent by the host device.
- the second check code is inconsistent with the first check code
- the lower computer device can It is considered that there is a transmission error, and the operation of reporting an error to the upper computer device is performed.
- the lower computer device is a millimeter wave radar.
- the method may further include:
- Step 104 in the case of receiving all the firmware fragmentation data packets of the target firmware sent by the host computer equipment, and completing the verification operation of the check code of the firmware fragmentation data packets, the current loading is performed.
- the firmware of the millimeter wave radar is changed to the target firmware, and the firmware upgrade operation of the millimeter wave radar is completed.
- millimeter-wave radar as an all-weather, high-precision sensor, plays a huge role in vehicle perception.
- the lower computer equipment receives the upper computer in sequence.
- Each firmware fragment data packet sent by the device, and the verification operation based on the check code is performed on the firmware fragment data packet.
- the lower The host device can confirm that it has received the complete and correct target firmware.
- the subordinate device can change the currently loaded firmware to the target firmware, so that the host device can remotely issue new firmware data to update the firmware in the subordinate device.
- the purpose of the old firmware data thus making the millimeter wave radar adapt to the constantly iterative firmware algorithm.
- a firmware data processing method provided by an embodiment of the present application is obtained by acquiring a firmware fragmentation data packet of target firmware sent by a host computer device; the firmware fragmentation data packet includes data fragmentation content, and is generated according to preset rules.
- the first check code corresponding to the content of the data fragmentation according to the preset rules, generate the second check code corresponding to the content of the data fragmentation of the obtained firmware fragmentation data packet; according to the second check code and the first check code
- the verification result of the verification code is performed, and the corresponding operation is performed.
- the lower computer device can perform verification based on the check code on the content of each firmware fragmentation data packet of the received target firmware to determine whether the firmware fragmentation data packet is a correct data packet, thereby identifying the Abnormal situations such as data packet loss during the transmission process realize the effective supervision of the firmware transmission process and reduce the probability of errors during the transmission process.
- FIG. 3 is a specific flowchart of a firmware data processing method provided by an embodiment of the present application. The method is applied to a host computer device. As shown in FIG. 3 , the method may include:
- Step 201 Divide the target firmware into a plurality of firmware fragment data packets with preset file sizes.
- developers can develop and generate target firmware on the host computer device, and the host computer device can also receive target firmware sent by other devices. Since the volume of the target firmware is generally large, in order to ensure the stability of the transmission process, To avoid interruptions in the transmission process and the need to retransmit the entire target firmware, the host computer device can divide the target firmware into multiple firmware fragmentation data packets with preset file sizes, and send the firmware fragmentation data packets to the For the lower-level computer device, when there is a situation in which a certain firmware fragment data packet fails to be sent, it only needs to resend the firmware fragment data packet instead of resending the entire target firmware.
- the step 201 may also be implemented by determining the preset file size according to the length of the check code corresponding to the preset rule and the target bit error rate of the target firmware for transmission.
- the firmware transmission method provided by the embodiment of the present application can be applied to different application scenarios, and different application scenarios require different target bit error rates when transmitting target firmware.
- the generation accuracy of the check code is decreased, and the target bit error rate when transmitting the target firmware is increased, thereby affecting the transmission quality. Therefore, in the embodiment of the present application, the host computer device can be based on the current application scenario.
- Step 202 according to a preset rule, generate a first check code corresponding to the data fragment content of the firmware fragment data packet.
- the host computer device can convert the data fragment content of the firmware fragment data packet to be sent into a K-bit binary sequence, and generate a first check code corresponding to the binary sequence according to preset rules.
- the verification code is also a binary sequence with a total of R bits.
- the upper computer device can append the first check code to the K-bit binary sequence to obtain a K+R-bit binary sequence and send it to the lower computer device.
- the form of the check code involved in the embodiment of the present application may be a CRC code.
- Step 203 Send the firmware fragmentation data packet including the first check code to the lower computer device.
- the upper computer device sequentially sends the firmware fragmentation data packet containing the first check code to the lower computer device, and the first check code is unique, which is used for the data distribution of the firmware fragmentation data packet received by the lower computer device. The correctness of the content of the film is verified.
- a firmware data processing method by dividing the target firmware into a plurality of firmware fragmentation data packets with preset file sizes; The first check code of the content of the data fragmentation; the firmware fragmentation data packet including the first check code is sent to the lower computer device.
- the target firmware can be divided into a plurality of firmware fragmentation data packets through the host computer equipment, and the first check code corresponding to each firmware fragmentation data packet is added to the firmware fragmentation data packet and sent to the lower computer.
- the device, the lower computer device performs verification based on the check code on the content of each firmware fragmentation data packet of the received target firmware to determine whether the firmware fragmentation data packet is a correct data packet, thereby identifying the transmission process. It can effectively supervise the firmware transmission process and reduce the probability of errors in the transmission process.
- FIG. 4 is a flowchart of interaction steps of a firmware data processing method provided by an embodiment of the present application. As shown in FIG. 4 , the method may include:
- Step 301 The upper computer device sends an update command including the first firmware version number of the target firmware to the lower computer device.
- the firmware version number may be used to reflect the degree of the newness of the firmware.
- the firmware version number 1 of one firmware 1 is greater than the firmware version number 2 of the other firmware 2, it is indicated that the firmware 1 is the latest firmware.
- the format of the firmware version number includes: XXX.YYYYYYYZZZ, where XXX represents the device model of the lower computer device, YYYYYYYY represents the date and time of the firmware release (for example, 20200102 represents January 2, 2020), ZZZ represents the version identifier corresponding to the firmware.
- the device models of the two firmware version numbers When comparing two firmware version numbers, the device models of the two firmware version numbers must be the same, and the firmware version number with a later firmware release date and time is greater than the firmware version number with an earlier firmware release date and time. In addition, when the device model and the firmware release date and time of the two firmware version numbers are consistent, the firmware version number with the larger version ID is larger than the firmware version number with the smaller version ID.
- the address where the first firmware version number is stored is the firmware data header of the target firmware, and the data header is used to store some verification information of the target firmware, and will not be loaded into the memory when the target firmware is finally loaded by the lower device. run in.
- Step 302 The lower computer device acquires an update command sent by the upper computer device, where the update command includes the first firmware version number of the target firmware.
- Step 303 when the first firmware version number of the lower computer device is greater than the second firmware version number of the local firmware of the lower computer device, go to step 307 .
- the lower computer device before the lower computer device starts to update the firmware, it may first receive an update command including the first firmware version number of the target firmware sent by the upper computer device, and according to the second firmware of the local firmware of the lower computer device According to the comparison result between the version number and the first firmware version number, a corresponding operation is performed.
- the lower computer device can further receive the target firmware issued by the upper computer device to perform firmware upgrade.
- the second firmware version number is greater than or equal to the first firmware version number, it indicates that the target firmware is the old firmware, and the lower computer device does not need to perform a firmware upgrade operation at this time.
- Step 304 The host computer device divides the target firmware into a plurality of firmware fragmentation data packets with preset file sizes.
- Step 305 The host computer device generates a first check code corresponding to the data fragment content of the firmware fragment data packet according to a preset rule.
- Step 306 The upper computer device sends the firmware fragmentation data packet including the first check code to the lower computer device.
- Step 307 The lower computer device obtains the firmware fragmentation data packet of the target firmware sent by the upper computer device.
- Step 308 The lower computer device generates a second check code corresponding to the acquired data fragment content of the firmware fragment data packet according to the preset rule.
- the second check code in the case where the second check code is inconsistent with the first check code, it means that the content of the firmware fragmentation data packet received by the lower computer device is inconsistent with the content of the firmware fragmentation data packet sent by the upper computer device , at this time, the lower computer device can think that there is a transmission error, and performs the operation of reporting an error to the upper computer device, and sends a transmission error report request to the upper computer device.
- Step 310 In the case that the second check code is the same as the first check code, the lower computer device continues to acquire the next firmware fragmentation data packet sent by the upper computer device.
- the second check code is consistent with the first check code, it means that the content of the firmware fragmentation data packet received by the lower computer device is consistent with the content of the firmware fragmentation data packet sent by the upper computer device.
- the lower computer device can Execute the operation of continuing to receive the next firmware fragmentation data packet sent by the upper computer device.
- Step 311 If the upper computer device obtains the transmission error report request sent by the lower computer device, it stops sending the firmware fragmentation data packet to the lower computer device.
- the upper computer device may, according to the transmission error report request sent by the lower computer device, consider that there is a problem in the transmission channel, and stop sending the firmware fragmentation data packet to the lower computer device, and resume transmission after the problem is resolved. When resuming transmission, it is possible to resend the firmware fragment packets that were transmitted when the transmission error request occurred.
- Step 312 The lower computer device generates a third check code corresponding to the data fragment content of all the obtained firmware fragment data packets according to the preset rule.
- the lower computer equipment can generate a third check code corresponding to the data fragment content of all the obtained firmware fragment data packets according to the preset rules agreed with the upper computer equipment, and the third check code is used for the lower computer equipment. Verify that the data content of the entire target firmware received by the host device is correct or not.
- Step 313 The lower computer device sends the third check code to the upper computer device.
- the lower computer device can send the third check code to the upper computer device, so that the upper computer device can verify the third check code and the fifth check code generated by itself.
- Step 314 The upper computer device acquires the third check code sent by the lower computer device.
- Step 315 The host computer device generates a fifth check code corresponding to the content of all data fragments of the target firmware according to the preset rule.
- the host computer device may generate a fifth check code corresponding to the content of all data segments of the target firmware based on the preset rules agreed with the subordinate computer device in advance.
- the third check code is used to reflect the correctness of the data content of the entire target firmware generated by the upper computer device.
- Step 316 when the third check code is the same as the fifth check code, the upper computer device sends a confirmation instruction for the third check code to the lower computer device.
- the upper computer device may consider that the entire target firmware received by the lower computer device is the same as the content of the entire target firmware issued by the upper computer device. If they are consistent, the upper computer device sends a confirmation command for the third check code to the lower computer device, so that the lower computer device can confirm the completion of the transmission of the target firmware according to the confirmation command.
- the environment of the application scenario is more complex, and the transmission link is relatively unstable.
- the lower computer device sends the actually generated third check code
- the lower computer is caused by the failure of the transmission link.
- the device may send an incorrect third check code with each bit of 0 to the upper computer device.
- the content of the third check code actually generated by the lower computer device is lost.
- the third check code it can be judged that there is a problem in the transmission link of the target firmware, and the upper computer device can thus report an error to remind the link problem to be corrected.
- the environment of the application scenario is more complicated, and the transmission link is unstable, so that the lower computer device may send a data stream with each bit of 0 to the upper computer device;
- the check code of a data stream whose bits are all 0 is still 0, which causes the check code to lose its error detection function.
- the upper computer device can also send the fifth check code to the lower computer device, and the lower computer device will check the third check code and the fifth check code. Perform verification, and send a firmware error alarm to the upper computer device if the verification is inconsistent.
- Step 317 when the third check code is different from the fifth check code, the host computer device generates a firmware error alarm, and stops the process for processing the target firmware after a preset time.
- the upper computer device may consider that the correct target firmware has not been received by the lower computer device, and at this time the upper computer device generates a firmware error
- the alarm is used to correct firmware errors, and the process for processing the target firmware is stopped after a preset time, so as to avoid errors in the subsequent firmware transmission process caused by errors such as transmission channels.
- Step 318 when the lower computer device obtains the confirmation instruction for the third check code sent by the upper computer device, it is determined that the transmission of the target firmware is completed.
- the lower computer device can confirm the completion of the transmission of the target firmware, and continue the subsequent target firmware loading process.
- the method further includes:
- Step 319 The lower computer device stores all the firmware fragmentation data packets of the target firmware in the first flash memory space.
- the lower-level device may load the target firmware through a loader, and before performing the loading operation, the lower-level device may store all firmware fragmentation data packets of the target firmware to the first A flash memory space, the flash memory space is used to temporarily store firmware data, and the data processing speed is extremely fast, and the target firmware can be quickly extracted from the first flash memory space when the subsequent loading operation needs to load the target firmware into the memory space.
- the method further includes:
- Step 320 The lower computer device modifies the flag bit of the first flash memory space to the first firmware flag bit.
- Step 321 The lower computer device loads the target firmware according to the first firmware flag.
- the loading of the target firmware by the loader is realized by using the flag bit as the loading guide.
- the flag of the first flash memory space can be stored in the first flash memory space.
- the bit is modified to the first firmware flag bit for the loader to load the target firmware according to the first firmware flag bit, that is, the loader will load the data in the storage space with the first firmware flag bit.
- step 321 may include:
- Sub-step 3211 the lower computer device extracts the firmware fragmentation data packet of the target firmware in the first flash memory space according to the first firmware flag bit, and stores the firmware fragmentation data packet in the memory space.
- the embodiment of the present application can perform a check code-based target firmware loading check , to verify the memory stability of the lower computer device.
- the lower computer device can extract the firmware fragmentation data packets of the target firmware from the first flash memory space for temporarily storing the target firmware according to the first firmware flag bit, and store the firmware fragmentation data packets in the memory space in sequence.
- the memory space is the space for storing the data related to the target firmware when the target firmware is finally run, and the stability of the memory space affects the running quality of the target firmware.
- Sub-step 3212 the lower computer device generates a fourth check code corresponding to the data fragment content of all firmware fragment data packets of the target firmware according to the preset rule.
- data fragments corresponding to all firmware fragmentation data packets of the target firmware may be generated based on the preset rules agreed with the host computer device
- the fourth check code of the content is used to verify whether the data content of the target firmware in the memory space is correct or not.
- Sub-step 3213 the lower computer device runs the target firmware in the memory space when the fourth check code is the same as the third check code.
- the lower computer device may consider that the correct and complete target firmware is normally stored in the first flash memory space and memory space, and then it is considered that the flash memory space and memory space of the lower computer device are fault-free and operate normally, and the probability of loading failure due to the failure of the storage space in the subsequent process is low. At this time, the lower computer device can run the memory space through the loader program. target firmware for subsequent operations.
- the method may also include:
- Sub-step 3214 In the case that the fourth check code is different from the third check code, the lower computer device sends a loading error report request to the upper computer device.
- the lower computer device may consider that the target firmware is not normally stored in the first flash memory space and memory space, and then it is considered that there is a fault in the flash memory space and/or memory space of the lower computer device. At this time, the lower computer device can send a loading error request to the upper computer device to notify the fault condition for maintenance personnel to repair.
- Sub-step 3215 in the case that the fourth check code is different from the third check code, the lower computer device modifies the first firmware flag to a second firmware flag, and the second firmware The flag bit is a flag bit written to the second flash memory space for firmware backup.
- the lower computer device can also be provided with an independent second flash memory space, and backup firmware can be stored in the second flash memory space to realize disaster recovery of firmware data.
- the backup is estimated to be an old stable firmware version, so that the lower
- the host device can run the backup firmware when the new firmware is loaded with errors, so as to prevent the lower device from working normally.
- the lower computer device can modify the first firmware flag bit to the second firmware flag bit, so as to load according to the second firmware flag bit Backup firmware for emergency.
- Sub-step 3216 in the case that the value of the second firmware flag is not 0, the lower computer device loads the backup firmware in the second flash memory space according to the second firmware flag.
- the case where the firmware flag is not 0 is a valid case.
- the lower computer device loads the backup firmware in the second flash memory space according to the second firmware flag to run, so as to realize the firmware data data disaster recovery.
- Sub-step 3217 When the number of times of modifying the firmware flag bit reaches a preset number of times, the lower computer device sends a firmware error report request to the upper computer device.
- the loading program of the lower computer equipment is to load the firmware through the firmware flag bit
- the firmware flag bit is the starting space address that controls the next loading of the firmware, and this address will be modified in two cases: First, when the firmware upgrade is successful this time, the next firmware load needs to enter the new target firmware to run, so the flag bit needs to be changed to the first flag bit; the second is when the target firmware fails to be loaded. It means that the target firmware corresponding to the first flag bit can no longer run, so it is necessary to modify the flag bit to the second flag bit to ensure that the next time the firmware is loaded into another backup firmware.
- the preset number of times can be 2, and its initial value is 0
- the preset number of times can be 2, and its initial value is 0
- a firmware data processing method provided by an embodiment of the present application is obtained by acquiring a firmware fragmentation data packet of target firmware sent by a host computer device; the firmware fragmentation data packet includes data fragmentation content, and is generated according to preset rules.
- the first check code corresponding to the content of the data fragmentation according to the preset rules, generate the second check code corresponding to the content of the data fragmentation of the obtained firmware fragmentation data packet; according to the second check code and the first check code
- the verification result of the verification code is performed, and the corresponding operation is performed.
- the lower computer device can perform verification based on the check code on the content of each firmware fragmentation data packet of the received target firmware to determine whether the firmware fragmentation data packet is a correct data packet, thereby identifying the Abnormal situations such as data packet loss during the transmission process realize the effective supervision of the firmware transmission process and reduce the probability of errors during the transmission process.
- the firmware data processing method provided by the embodiment of the present application can avoid problems such as data loss, loading failure, hardware failure, etc. that occur in the target firmware upgrade process to the greatest extent, and has a perfect error reporting mechanism compared to the firmware upgrade solution in the prior art It can help the host computer to realize real-time error discovery, real-time investigation, etc. It provides a more reliable, robust and user-friendly firmware upgrade solution, and provides an effective method for firmware upgrade and loading and later firmware repair.
- FIG. 5 is a block diagram of a firmware data processing apparatus provided by an embodiment of the present application.
- the apparatus is applied to a lower computer device.
- the firmware data processing apparatus 400 may include: a memory 401 and a processor 402;
- the memory 401 is used to execute: obtain the firmware fragmentation data packet of the target firmware sent by the host computer device; the firmware fragmentation data packet includes the data fragmentation content, and the corresponding data fragmentation generated according to preset rules.
- the processor 402 is configured to execute:
- the processor is configured to, according to the preset rule, generate a second check code corresponding to the data fragment content of the obtained firmware fragment data packet;
- the processor is specifically used for:
- the memory is specifically used for:
- the second check code is the same as the first check code, continue to acquire the next firmware fragment data packet sent by the upper computer device.
- the processor is specifically configured to execute:
- the processor is also used to:
- the processor is also used for:
- All firmware fragment data packets of the target firmware are stored in the first flash memory space.
- the processor is also used for:
- the processor is specifically used for:
- the first firmware flag bit extract the firmware fragmentation data packet of the target firmware in the first flash memory space, and store the firmware fragmentation data packet in the memory space;
- the processor is also used for:
- the processor is also used for:
- the fourth check code is different from the third check code
- the first firmware flag bit is modified to a second firmware flag bit, and the second firmware flag bit is written for The flag bit of the second flash memory space for firmware backup;
- the backup firmware in the second flash memory space is loaded according to the second firmware flag.
- the processor is also used for:
- the memory is also used for:
- the processor is also used to:
- the step of obtaining the firmware fragmentation data packet of the target firmware sent by the upper computer device is entered.
- the lower computer device is a millimeter wave radar.
- the processor is also used for:
- the firmware data processing device obtains the firmware fragmentation data packet of the target firmware sent by the host computer device; the firmware fragmentation data packet includes the data fragmentation content, and the corresponding data generated according to the preset rules.
- the first check code of the data fragment content according to the preset rules, generate the second check code corresponding to the data fragment content of the obtained firmware fragment data packet; according to the second check code and the first check code the verification result, and perform the corresponding operation.
- the lower computer device can perform verification based on the check code on the content of each firmware fragmentation data packet of the received target firmware to determine whether the firmware fragmentation data packet is a correct data packet, thereby identifying the Abnormal situations such as data packet loss during the transmission process realize the effective supervision of the firmware transmission process and reduce the probability of errors during the transmission process.
- FIG. 6 is a block diagram of a firmware data processing apparatus provided by an embodiment of the present application.
- the apparatus is applied to a host computer device.
- the firmware data processing apparatus 500 may include a processor 501;
- the processor is used to execute:
- a first check code corresponding to the data fragment content of the firmware fragment data packet is generated
- the processor is also used for:
- the processor is also used for:
- the processor is also used for:
- the processor is also used for:
- the processor is also used for:
- the preset file size is determined according to the length of the check code corresponding to the preset rule and the target bit error rate for transmitting the target firmware.
- the firmware data processing device divides the target firmware into a plurality of firmware fragmentation data packets with preset file sizes; and generates data packets corresponding to the firmware fragmentation data packets according to the preset rules.
- the first check code of the content of the slice send the firmware slice data packet including the first check code to the lower computer device.
- the target firmware can be divided into a plurality of firmware fragmentation data packets through the host computer equipment, and the first check code corresponding to each firmware fragmentation data packet is added to the firmware fragmentation data packet and sent to the lower computer.
- the device the lower computer device performs verification based on the check code on the content of each firmware fragmentation data packet of the received target firmware to determine whether the firmware fragmentation data packet is a correct data packet, thereby identifying the transmission process. It can effectively supervise the firmware transmission process and reduce the probability of errors in the transmission process.
- the vehicle 600 includes: a body 601 ; the firmware data processing apparatus 500 shown in FIG.
- the body 601 is described.
- Embodiments of the present application further provide a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium.
- a computer program is stored on the computer-readable storage medium.
- the computer program is executed by a processor, each process of the above-mentioned embodiments of the firmware data processing method can be achieved, and the same can be achieved. The technical effect, in order to avoid repetition, will not be repeated here.
- the computer-readable storage medium such as read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM), magnetic disk or optical disk and so on.
- the memory may be an interface for connecting the external control terminal with the firmware data processing device.
- the external control terminal may include a wired or wireless headset port, an external power (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a control terminal with an identification module, an audio input /Output (I/O) ports, video I/O ports, headphone ports, and more.
- the memory may be used to obtain input (eg, data information, power, etc.) from an external control terminal and transmit the obtained input to one or more elements within the firmware data processing device or may be used in the firmware data processing device and Transfer data between external control terminals.
- At least one magnetic disk storage device For example at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
- the processor is the control center of the control terminal. It uses various interfaces and lines to connect various parts of the entire control terminal, and executes control by running or executing the software programs and/or modules stored in the memory and calling the data stored in the memory. Various functions of the terminal and processing data, so as to carry out overall monitoring of the control terminal.
- the processor may include one or more processing units; preferably, the processor may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface and application programs, etc., and the modem processor Mainly deals with wireless communication. It can be understood that, the above-mentioned modulation and demodulation processor may not be integrated into the processor.
- the embodiments of the present application may be provided as a method, a control terminal, or a computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
- computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
- These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer readable memory result in an article of manufacture comprising the instruction to control the terminal,
- the instruction controls the terminal to implement the function specified in one flow or multiple flows of the flowchart and/or one block or multiple blocks of the block diagram.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
L'invention porte sur un procédé et sur un appareil de traitement de données de micrologiciel, ainsi que sur un module photographique et sur un dispositif mobile. Le procédé consiste : à acquérir un paquet de données de fragment de micrologiciel d'un micrologiciel cible qui est envoyé par un dispositif informatique supérieur, le paquet de données de fragment de micrologiciel comprenant un contenu de fragment de données et un premier code de vérification, qui est généré selon une règle prédéfinie et qui correspond au contenu de fragment de données (101) ; selon la règle prédéfinie, à générer un second code de vérification correspondant au contenu de fragment de données du paquet de données de fragment de micrologiciel acquis (102) ; et, selon des résultats de vérification du second code de vérification et du premier code de vérification, à exécuter une opération correspondante (103). Dans le procédé, une vérification basée sur un code de vérification peut être effectuée sur le contenu de chaque paquet de données de fragment de micrologiciel reçu du micrologiciel cible au moyen d'un dispositif informatique inférieur pour déterminer si le paquet de données de fragment de micrologiciel est un paquet de données correct de sorte à identifier des conditions anormales telles qu'une perte de paquets de données pendant un processus de transmission, ce qui permet de superviser efficacement un processus de transmission de micrologiciel et de réduire la probabilité d'erreurs pendant le processus de transmission.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/133622 WO2022116088A1 (fr) | 2020-12-03 | 2020-12-03 | Procédé et appareil de traitement de données de micrologiciel |
CN202080074505.6A CN114616544A (zh) | 2020-12-03 | 2020-12-03 | 固件数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/133622 WO2022116088A1 (fr) | 2020-12-03 | 2020-12-03 | Procédé et appareil de traitement de données de micrologiciel |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022116088A1 true WO2022116088A1 (fr) | 2022-06-09 |
Family
ID=81853786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/133622 WO2022116088A1 (fr) | 2020-12-03 | 2020-12-03 | Procédé et appareil de traitement de données de micrologiciel |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114616544A (fr) |
WO (1) | WO2022116088A1 (fr) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884624A (zh) * | 2022-07-08 | 2022-08-09 | 广州思德医疗科技有限公司 | 数据处理方法及装置 |
CN115085869A (zh) * | 2022-06-30 | 2022-09-20 | 咪咕动漫有限公司 | 数据传输方法、装置、设备及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115118718B (zh) * | 2022-08-30 | 2022-12-16 | 深圳市华曦达科技股份有限公司 | 安卓终端设备升级更新方法、系统和可读存储介质 |
CN116166332B (zh) * | 2023-04-25 | 2023-09-29 | 深圳艾为电气技术有限公司 | 压缩机驱动器的驱动并行装载方法、装置、设备及介质 |
CN116185512B (zh) * | 2023-04-25 | 2023-07-21 | 深圳艾为电气技术有限公司 | 用于ptc驱动器的驱动加载方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354070A (zh) * | 2015-12-11 | 2016-02-24 | 成都广达新网科技股份有限公司 | 一种通过i2c升级设备固件的方法 |
CN106911428A (zh) * | 2017-02-23 | 2017-06-30 | 北京龙鼎源科技股份有限公司 | 信息的传输方法和装置 |
CN111460437A (zh) * | 2020-04-03 | 2020-07-28 | 江苏芯盛智能科技有限公司 | 固件运行方法、装置、固件烧录方法、装置和计算机设备 |
US20200257520A1 (en) * | 2019-02-13 | 2020-08-13 | International Business Machines Corporation | Updating firmware of a microcontroller |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991326A (zh) * | 2017-03-02 | 2017-07-28 | 深圳怡化电脑股份有限公司 | 一种设备固件的升级方法及其设备 |
US11163886B2 (en) * | 2018-09-28 | 2021-11-02 | Dell Products L.P. | Information handling system firmware bit error detection and correction |
-
2020
- 2020-12-03 WO PCT/CN2020/133622 patent/WO2022116088A1/fr active Application Filing
- 2020-12-03 CN CN202080074505.6A patent/CN114616544A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354070A (zh) * | 2015-12-11 | 2016-02-24 | 成都广达新网科技股份有限公司 | 一种通过i2c升级设备固件的方法 |
CN106911428A (zh) * | 2017-02-23 | 2017-06-30 | 北京龙鼎源科技股份有限公司 | 信息的传输方法和装置 |
US20200257520A1 (en) * | 2019-02-13 | 2020-08-13 | International Business Machines Corporation | Updating firmware of a microcontroller |
CN111460437A (zh) * | 2020-04-03 | 2020-07-28 | 江苏芯盛智能科技有限公司 | 固件运行方法、装置、固件烧录方法、装置和计算机设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115085869A (zh) * | 2022-06-30 | 2022-09-20 | 咪咕动漫有限公司 | 数据传输方法、装置、设备及存储介质 |
CN114884624A (zh) * | 2022-07-08 | 2022-08-09 | 广州思德医疗科技有限公司 | 数据处理方法及装置 |
CN114884624B (zh) * | 2022-07-08 | 2022-12-09 | 广州思德医疗科技有限公司 | 数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114616544A (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022116088A1 (fr) | Procédé et appareil de traitement de données de micrologiciel | |
US9021462B2 (en) | Systems and methods for provisioning equipment | |
CN107219997B (zh) | 一种用于验证数据一致性的方法及装置 | |
EP3933573B1 (fr) | Procédé de mise à niveau différentielle nulle, support d'enregistrement non volatil et dispositif électronique | |
JP6823785B2 (ja) | ネットワークにおけるノードの設定管理 | |
CN112822260B (zh) | 文件传输方法及装置、电子设备、存储介质 | |
WO2012012933A1 (fr) | Dispositifs et procédés de traitement pour la transmission et la réception de données | |
US11575469B2 (en) | Multi-bit feedback protocol systems and methods | |
CN105743610A (zh) | 用于多网络分组操作的数据完整性的技术 | |
CN105302613A (zh) | 采用合并文件对eoc软件进行升级的方法及系统 | |
CN111290769A (zh) | 一种在线更新配置数据的方法 | |
CN110620800B (zh) | 电力二次系统跨安全区的配置数据同步处理方法和装置 | |
CN112463067A (zh) | 一种NVMe-oF场景下的数据保护方法及设备 | |
CN114172894A (zh) | 数据传输方法、装置、服务器和计算机设备 | |
US20180060349A1 (en) | Method for transferring a difference file | |
CN113971287A (zh) | 基于LoRa通信的批量升级方法、升级系统 | |
CN112688905B (zh) | 数据传输方法、装置、客户端、服务器及存储介质 | |
CN108334424B (zh) | 基于lpwan技术的网络通讯管理平台过滤冗余数据的方法 | |
KR20170108739A (ko) | DIX (Data Integrity Extension )모드의 NVMe(Non-Volatile Memory Express) 인터페이스에서 데이터를 전송하기 위한 방법 및 시스템 | |
CN114268624B (zh) | 版本文件传输方法、装置及服务器 | |
US9641287B2 (en) | Methods and apparatus for high-integrity data transfer with preemptive blocking | |
US11868758B2 (en) | Method for improving the updating of firmware and system applying the method | |
CN117486085A (zh) | 一种塔吊控制方法、装置及系统 | |
TWI854882B (zh) | 對嵌入式電子裝置執行完整韌體更新程序之方法 | |
CN115484084B (zh) | 单向数据传输方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20963935 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20963935 Country of ref document: EP Kind code of ref document: A1 |