Embedded device firmware return and proofreading system, method and medium

Through the back-passing and proofreading system of embedded equipment firmware, the problem of difficulty in fault location of embedded equipment is solved, automatic back-passing and proofreading of firmware data is realized, and fault analysis efficiency is improved, especially after-sales maintenance efficiency.

CN114090325BActive Publication Date: 2025-08-08SHENZHEN ENQUALCOMM TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111467474.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-02
Publication Date
2025-08-08
Estimated Expiration
2041-12-02

AI Technical Summary

Technical Problem

In the prior art, when embedded devices fail after mass production, the problem of failure machines cannot be quickly located, especially when the system is abnormal or cannot be turned on, there is a lack of effective firmware data return method.

Method used

It provides a back-pass and proofreading system for firmware of embedded devices, including a PC control module and an embedded motherboard. Through a data proofreading unit, a data storage unit, a data receiving unit and a native burning tool control unit, it realizes automatic back-pass and proofreading of firmware data, and uses an instruction processing unit, a data processing unit and a data transmission unit for data processing and transmission.

Benefits of technology

The operator only needs to set the proofreading data and parameters in the data proofreading unit of the PC control module to realize automatic return and proofreading of firmware data, help quickly analyze the faulty machine and improve after-sales maintenance efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114090325B_ABST
    Figure CN114090325B_ABST
Patent Text Reader

Abstract

The present invention provides a system for transmitting and proofreading embedded device firmware, comprising a PC control module and an embedded mainboard, the PC control module being connected to the embedded mainboard; the PC control module including a data proofreading unit, a data storage unit, a data receiving unit, and a native burning tool control unit, and the embedded mainboard including an instruction processing unit, a data processing unit, and a data transmission unit. The present invention also provides a method for transmitting and proofreading embedded device firmware. The present invention also provides a medium. The beneficial effect of the present invention is that an operator only needs to set proofreading data and related parameters in the data proofreading unit of the PC control module, and the embedded mainboard can transmit the specified firmware data back to the PC control module and automatically proofread the data. This is very helpful for R&D testing machines, internal testing machines, machines exposed during factory production, and machines that experience after-sales failures after mass production.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to embedded devices, and in particular to a system, method and medium for returning and checking firmware of embedded devices. Background Art

[0002] The wireless electronic product solution provided by Ambiq Micro does not provide a method for transmitting firmware data back from the embedded motherboard. As a result, if a fault occurs in the embedded product after mass production, causing system abnormalities or failure to boot, there is no effective way to quickly locate the faulty machine. Summary of the Invention

[0003] In order to solve the problems in the prior art, the present invention provides a system, method and medium for transmitting and checking embedded device firmware.

[0004] The present invention provides a return and proofreading system for embedded device firmware, comprising a PC control module and an embedded mainboard, wherein the PC control module is connected to the embedded mainboard;

[0005] The PC control module includes a data proofreading unit, a data storage unit, a data receiving unit and a native burning tool control unit;

[0006] The data proofreading unit is responsible for loading and proofreading the original data and receiving the relevant parameters preset by the operator for preprocessing;

[0007] The data receiving unit is responsible for receiving data from the embedded mainboard and verifying the frame data according to the communication protocol, and parsing the processing result data;

[0008] The data storage unit is responsible for parsing the processing result data of the embedded mainboard provided by the data receiving unit and storing it locally;

[0009] The native burning tool control unit is responsible for calling the native burning tool;

[0010] The embedded mainboard includes an instruction processing unit, a data processing unit, and a data transmission unit;

[0011] The instruction processing unit is responsible for receiving frame data from the PC control module, parsing instructions and extracting parameters according to the communication protocol, and replying to the received instructions;

[0012] The data processing unit is responsible for processing the received instructions and parameters;

[0013] The data transmission unit is responsible for organizing the processing results into frame data according to the communication protocol and transmitting them to the PC control module.

[0014] The present invention also provides a method for transmitting and proofreading embedded device firmware. Based on the system for transmitting and proofreading embedded device firmware, the following process is performed:

[0015] S1. Turn on the PC control module, power on the embedded motherboard, and connect the embedded motherboard to the PC control module;

[0016] S2. Turn on the PC control module, set the calibration data and parameters, and start processing;

[0017] S3, the PC control module sends a handshake command and waits for the handshake with the embedded mainboard to succeed. If it fails, it tries to resend it.

[0018] S4. If the number of handshake failures between the PC control module and the embedded mainboard exceeds the set value, the native burning tool is called to burn ExtBoot. After the burning is completed, the embedded mainboard is restarted and the ExtBoot system is run. The PC control module sends the handshake command again until the handshake succeeds.

[0019] S5. After the PC control module successfully shakes hands with the embedded mainboard, it begins to read the original calibration data and setting parameters loaded by the operator and sends them to the embedded mainboard for processing;

[0020] S6, the embedded mainboard processes the instructions and data and sends back a response message;

[0021] S7, the PC control module receives the response information and processing results, and stores the result data locally;

[0022] S8, the PC control module continues to send control instructions, receives the processing results of the embedded motherboard and stores the result data until the processing is completed;

[0023] S9. The PC control module determines whether data proofreading is required. If not, the processing ends and the operator manually processes the proofreading data. If automatic proofreading is required, the data proofreading unit is started to perform data proofreading and the proofreading result is notified to the operator.

[0024] As a further improvement of the present invention, the processing flow of the embedded motherboard is as follows:

[0025] A1. Power on the embedded mainboard;

[0026] A2. The embedded motherboard determines whether the startup is complete;

[0027] A3. If the embedded motherboard fails to start, it means it cannot be turned on. You need to wait for the PC control module to initiate ExtBoot burning.

[0028] A4. The PC control module ExtBoot is burned and restarted;

[0029] A5. The embedded motherboard repeats step A2. If the startup is successful, it enters standby mode and waits for the PC control module to issue new instructions.

[0030] A6. If the embedded motherboard receives a new instruction from the PC control module, it will parse the instruction;

[0031] A7, the embedded motherboard determines whether the parsed command is valid. If not, it is discarded and continues to wait for the PC control module to issue a new command;

[0032] A8. If the embedded motherboard receives a valid new instruction, it will reply with a response and process the new instruction;

[0033] A9. The embedded motherboard transmits the results and data of processing the new instruction to the PC control module, and continues to wait for the PC control module to initiate new instructions.

[0034] As a further improvement of the present invention, the processing flow of the PC control module is as follows:

[0035] 1) Power on the embedded mainboard;

[0036] 2) Open the PC control module and connect it to the embedded motherboard;

[0037] 3) The PC control module sets the communication parameters, loads the calibration data and setting parameters, and issues a start command;

[0038] 4) The PC control module issues a handshake command;

[0039] 5) The PC control module waits for the embedded mainboard to reply the handshake response and starts the first timeout timer;

[0040] 6) If the first timeout timer in the PC control module times out without receiving a handshake response, it is determined whether the first number of times exceeds the specified threshold. If not, the handshake signal is resent and the counter is incremented.

[0041] 7) In the PC control module, if the first number exceeds the threshold, the value of the first number exceeding the limit is cleared, and at the same time, it is determined whether the second number exceeding the limit exceeds the specified threshold;

[0042] 8) In the PC control module, if the second number of over-limits does not exceed the specified threshold, the native tool is called to burn ExtBoot;

[0043] 9) After the ExtBoot burning is completed in the PC control module, it will wait for the set time, send the handshake command to the embedded mainboard again, and wait to receive the handshake response information from the embedded mainboard;

[0044] 10) If the PC control module has not received the handshake response information from the embedded motherboard, and the second number exceeds the specified threshold, the operation fails and the system exits.

[0045] 11) If the PC control module receives a handshake response from the embedded motherboard, the handshake is successful and the first timeout timer is stopped at the same time;

[0046] 12) The PC control module reads the parameters set by the operator;

[0047] 13) The PC control module determines whether the parameters are legal;

[0048] 14) If the parameters in the PC control module are illegal, the system will prompt that the parameters are illegal and exit;

[0049] 15) In the PC control module, the frame data is encapsulated according to the parameter type and placed in the message queue for queue processing;

[0050] 16) The PC control module determines whether there are parameters to be processed. If so, it reads the parameter encapsulation frame data and puts it into the message queue for queue processing until all parameters are processed;

[0051] 17) The PC control module determines whether there is any message data to be processed in the message queue. If so, it processes the message and transmits the corresponding data to the embedded mainboard. At the same time, it starts the second timeout timer and waits for the embedded mainboard to reply with a response message.

[0052] 18) If the second timeout timer in the PC control module times out without receiving the response information from the embedded mainboard, it will determine whether the third number of times exceeds the specified threshold. If it does not exceed the threshold, the data will be resent; if it exceeds the threshold, it will prompt that the processing failed and end the exit;

[0053] 19) If the PC control module receives a reply message from the embedded mainboard, it stops the second timeout timer and starts the third timeout timer to wait for the embedded mainboard to reply the processing result;

[0054] 20) If the third timeout timer times out without receiving the processing result from the embedded mainboard, the PC control module determines whether the fourth number of times exceeds the specified threshold. If not, the third timeout timer is started to continue waiting for the embedded mainboard to reply the processing result.

[0055] 21) If the fourth time exceeds the specified threshold in the PC control module, it will prompt that the processing has failed and exit;

[0056] 22) If the PC control module receives the processing result from the embedded mainboard within the timeout period of the third timeout timer, the third timeout timer is stopped and the processing result and the returned data are saved locally;

[0057] 23) The PC control module determines whether all parameter requests set by the operator have been processed. If not, the processing continues. If the processing is completed, it determines whether the operator needs to automatically calibrate the data.

[0058] 24) If the PC control module does not need to check the data, it will prompt that the operation is successful and exit;

[0059] 25) If data needs to be proofread in the PC control module, the data proofreading unit is started to perform data proofreading;

[0060] 26) In the PC control module, if the data verification unit verifies that the data is consistent, it will prompt that the verification is successful and exit;

[0061] 27) If the data proofreading unit in the PC control module does not calibrate the data in accordance with the requirements, the system will prompt that the verification has failed and exit.

[0062] The present invention further provides a medium, which is a readable storage medium. The readable storage medium stores execution instructions, and when the execution instructions are executed by a processor, they are used to implement any of the methods described above.

[0063] The beneficial effect of the present invention is that the operator only needs to set the proofreading data and related parameters in the data proofreading unit of the PC control module, and the specified firmware data can be transmitted back to the PC control module through the embedded mainboard and the data can be automatically proofread. This is very helpful for analyzing problems of R&D test machines, internal test machines, machines exposed during factory production, and machines that fail after mass production. In particular, after-sales maintenance can greatly improve repair efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0064] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other solutions can be obtained based on these drawings without paying any creative work.

[0065] Figure 1 The present invention is a flowchart of a PC control module of a method for returning and checking firmware of an embedded device.

[0066] Figure 2 The present invention is a flow chart of an embedded mainboard of a method for returning and checking embedded device firmware.

[0067] Figure 3 This is a framework diagram of a firmware return and proofreading system for embedded devices according to the present invention. DETAILED DESCRIPTION

[0068] It should be noted that, in the absence of conflict, the embodiments of the present invention and the features in the embodiments may be combined with each other.

[0069] In the description of the present invention, it should be understood that the terms "center", "longitudinal", "lateral", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside" and the like indicate orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as limiting the scope of protection of the present invention. In addition, the terms "first", "second" and the like are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, features defined as "first", "second" and the like may explicitly or implicitly include one or more of the features. In the description of the present invention, unless otherwise specified, "multiple" means two or more.

[0070] In the description of the present invention, it should be noted that, unless otherwise expressly specified or limited, the terms "mounted," "connected," and "connected" should be understood broadly. For example, they may refer to fixed connections, detachable connections, or integral connections; they may refer to direct connections, indirect connections through an intermediate medium, or internal communication between two components. Those skilled in the art will understand the specific meanings of the above terms in the present invention based on specific circumstances.

[0071] The present invention will be further described below with reference to the accompanying drawings and specific embodiments.

[0072] The present invention aims to provide a method for transmitting and verifying firmware data, requiring only the data verification unit of a PC control module and the embedded motherboard. This method provides R&D and after-sales personnel with a method for quickly analyzing and resolving faulty devices. To achieve this goal, the present invention employs two technical solutions, each described below:

[0073] According to a first aspect of the present invention, a method for transmitting and verifying firmware of an embedded device is provided. The method for transmitting and verifying firmware data is simple and can be performed only on a data verification unit of a PC control module. The method comprises the following steps:

[0074] 1. Turn on the PC control module, power on the embedded motherboard, and connect the embedded motherboard to the PC control module;

[0075] 2. Turn on the PC control module, set the calibration data and related parameters, and start processing;

[0076] 3. The PC control module sends a handshake command and waits for the handshake with the embedded mainboard to succeed, otherwise it tries to resend;

[0077] 4. If the handshake between the PC control module and the embedded motherboard fails, the native burning tool is called to burn ExtBoot. After the burning is completed, the embedded motherboard restarts and runs the ExtBoot system. The PC control module sends the handshake command again until the handshake succeeds.

[0078] 5. After the PC control module successfully shakes hands with the embedded mainboard, it begins to read the original calibration data and setting parameters loaded by the operator and sends them to the embedded mainboard for processing;

[0079] 6. The embedded motherboard processes instructions and data and replies with response information;

[0080] 7. The PC control module receives the response information and processing results and stores the result data locally;

[0081] 8. The PC control module continues to send control instructions, receives the processing results of the embedded motherboard and stores the result data until the processing is completed;

[0082] 9. The PC control module determines whether the data needs to be proofread. If not, the process ends and the operator manually processes the proofread data. If automatic proofreading is required, the proofreading module is started to proofread the data and notify the operator of the proofreading results.

[0083] like Figure 1 As shown, the working process of the PC control module is as follows:

[0084] 1. Power on the embedded motherboard;

[0085] 2. Open the PC control module and connect it to the embedded motherboard;

[0086] 3. The PC control module sets the communication parameters, loads the calibration data and sets the relevant parameters, and issues the start command;

[0087] 4. The PC control module issues a handshake command;

[0088] 5. The PC control module waits for the embedded motherboard to reply with a handshake response and starts a 3-second timeout timer 1;

[0089] 6. If the timeout timer 1 in the PC control module times out without receiving a handshake response, it will determine whether the number of times exceeded 1 exceeds the specified threshold (the default is 3). If not, the handshake signal will be resent and the counter will be incremented.

[0090] 7. In the PC control module, if the number of times exceeding limit 1 exceeds the threshold, the value of the number of times exceeding limit 1 will be cleared, and at the same time, it will be determined whether the number of times exceeding limit 2 exceeds the specified threshold (the default value is 3);

[0091] 8. If the number of times exceeds the limit 2 in the PC control module but does not exceed the specified threshold, the native tool is called to burn ExtBoot;

[0092] 9. After the ExtBoot burning is completed in the PC control module, wait for 3 seconds, send the handshake command to the embedded motherboard again, and wait to receive the handshake response information from the embedded motherboard;

[0093] 10. If the PC control module has not received the handshake response information from the embedded motherboard, and the number of times exceeds the limit by 2, it will prompt that the operation has failed and exit;

[0094] 11. If the PC control module receives a handshake response from the embedded motherboard, the handshake is successful and timer 1 is stopped at the same time;

[0095] 12. The PC control module reads the parameters set by the operator;

[0096] 13. The PC control module determines whether the parameters are legal;

[0097] 14. If the parameters in the PC control module are illegal, it will prompt that the parameters are illegal and exit;

[0098] 15. In the PC control module, the frame data is encapsulated according to the parameter type and placed in the message queue for queue processing;

[0099] 16. The PC control module determines whether there are parameters to be processed. If so, it reads the parameter encapsulation frame data and puts it into the message queue for queue processing until all parameters are processed;

[0100] 17. The PC control module determines whether there is any message data to be processed in the message queue. If so, it processes the message and transmits the corresponding data to the embedded mainboard. At the same time, it starts the 3-second timeout timer 2 and waits for the embedded mainboard to reply with a response message.

[0101] 18. If the timeout timer 2 in the PC control module times out without receiving the response information from the embedded mainboard, it will determine whether the number of times exceeded 3 exceeds the specified threshold (the default is 3). If not, the data will be resent; if it exceeds the threshold, it will prompt that the processing failed and end the exit;

[0102] 19. If the PC control module receives a reply message from the embedded mainboard, it stops timer 2 and starts timer 3 for 3 seconds to wait for the embedded mainboard to reply the processing result.

[0103] 20. If the timer 3 in the PC control module times out without receiving the processing result from the embedded mainboard, it will determine whether the number of times exceeded 4 exceeds the specified threshold (the default is 3). If not, it will start timer 3 and continue to wait for the embedded mainboard to reply the processing result.

[0104] 21. If the number of times exceeds the limit 4 in the PC control module, it will prompt that the processing has failed and exit;

[0105] 22. If the PC control module receives the processing result from the embedded mainboard within the timeout period of timer 3, it stops timer 3 and saves the processing result and the returned data locally.

[0106] 23. The PC control module determines whether all parameter requests set by the operator have been processed. If not, the processing continues. If the processing is completed, it determines whether the operator needs to automatically calibrate the data.

[0107] 24. If the PC control module does not need to check the data, it will prompt that the operation is successful and exit;

[0108] 25. If data needs to be proofread in the PC control module, the data proofreading unit will be started to perform data proofreading;

[0109] 26. If the data verification unit in the PC control module verifies that the data is consistent, it will prompt that the verification is successful and exit;

[0110] 27. If the data proofreading unit in the PC control module does not calibrate the data, it will prompt that the verification has failed and exit.

[0111] According to the above method, the operator only needs to perform simple operations on the PC control module to start and complete the firmware data return and proofreading process, and further analyze the proofreading results.

[0112] like Figure 2 As shown, the workflow of the embedded motherboard is as follows:

[0113] 1. Power on the embedded motherboard;

[0114] 2. The embedded motherboard determines whether the startup is complete;

[0115] 3. If the embedded motherboard is not fully started, it means it cannot be turned on. You need to wait for the PC control module to initiate ExtBoot burning.

[0116] 4. The PC control module ExtBoot is burned and restarted;

[0117] 5. The embedded motherboard repeats step 2 of this description. If the startup is successful, it enters standby mode and waits for the PC control module to issue new instructions;

[0118] 6. If the embedded motherboard receives a new instruction from the PC control module, it will parse the instruction;

[0119] 7. The embedded motherboard determines whether the parsed command is valid. If not, it is discarded and continues to wait for the PC control module to initiate a new command;

[0120] 8. If the embedded motherboard receives a valid new command, it will reply and process the new command;

[0121] 9. The embedded motherboard transmits the results and data of processing the new instruction to the PC control module, and continues to wait for the PC control module to initiate new instructions.

[0122] According to the second aspect of the present invention, a system for transmitting and checking the firmware of an embedded device is provided, which is a device for transmitting firmware data with simple operations performed on a PC control module, such as Figure 3 As shown in FIG, the system is composed of a PC control module 100 and an embedded motherboard 200. The PC control module 100 is composed of a data proofreading unit 102, a data storage unit 103, a data receiving unit 104, and a native burning tool control unit 101, while the embedded motherboard 200 is composed of a command processing unit 201, a data processing unit 202, and a data transmission unit 203.

[0123] The functions performed by each module and unit are described as follows:

[0124] 1. The data proofreading unit 102 of the PC control module 100 is responsible for loading and proofreading the original data and receiving the relevant parameters preset by the operator for pre-processing;

[0125] 2. The data receiving unit 104 of the PC control module 100 is responsible for receiving data from the embedded motherboard and verifying the frame data according to the communication protocol and parsing the processed result data;

[0126] 3. The data storage unit 103 of the PC control module 100 is responsible for parsing and storing the processing result data of the embedded mainboard 200 provided by the data receiving unit 104 locally;

[0127] 4. The native burning tool control unit 101 of the PC control module 100 is responsible for calling the native burning tool to burn ExtBoot;

[0128] 5. The command processing unit 201 of the embedded motherboard 200 is responsible for receiving frame data from the PC control module 100, parsing commands and extracting parameters according to the communication protocol, and responding to the received commands.

[0129] 6. The data processing unit 202 of the embedded motherboard 200 is responsible for performing specific processing on the received instructions and parameters;

[0130] 7. The data transmission unit 203 of the embedded motherboard 200 is responsible for organizing the processing results into frame data according to the communication protocol and transmitting it to the PC control module 100.

[0131] The present invention provides a system, method, and medium for returning and verifying embedded device firmware. When an abnormal system operation or a failure to boot occurs during the use of an embedded product, the embedded firmware data is returned to a PC control module and, as needed, verified and compared with data of the same version to identify the root cause of the abnormality or failure to boot. The present invention identifies the cause of the abnormal system operation or failure to boot as closely as possible without disassembling the device, providing a convenient method for after-sales service and maintenance.

[0132] The present invention provides a system, method, and medium for transmitting and verifying embedded device firmware. Operation is simple: the operator simply needs to set verification data and related parameters in the data verification unit of the PC control module. The embedded motherboard then transmits the specified firmware data to the PC and automatically verifies the data. This system is extremely helpful for analyzing problems encountered during R&D testing, internal testing, factory production, and after-sales service of mass-produced devices. In particular, it significantly improves repair efficiency for after-sales maintenance.

[0133] The above is a further detailed description of the present invention in conjunction with specific preferred embodiments, and the specific implementation of the present invention should not be considered to be limited to these descriptions. For those skilled in the art of the present invention, without departing from the concept of the present invention, several simple deductions or substitutions can be made, which should be considered to fall within the scope of protection of the present invention.

Claims

1. A method for transmitting and checking embedded device firmware, characterized in that: The following processes are included: S1. Turn on the PC control module, power on the embedded motherboard, and connect the embedded motherboard to the PC control module; S2. Turn on the PC control module, set the calibration data and parameters, and start processing; S3, the PC control module sends a handshake command and waits for the handshake with the embedded mainboard to succeed. If it fails, it tries to resend it. S4. If the number of handshake failures between the PC control module and the embedded mainboard exceeds the set value, the native burning tool is called to burn ExtBoot. After the burning is completed, the embedded mainboard is restarted and the ExtBoot system is run. The PC control module sends the handshake command again until the handshake succeeds. S5. After the PC control module successfully shakes hands with the embedded mainboard, it begins to read the original calibration data and setting parameters loaded by the operator and sends them to the embedded mainboard for processing; S6, the embedded mainboard processes the instructions and data and sends back a response message; S7, the PC control module receives the response information and processing results, and stores the result data locally; S8, the PC control module continues to send control instructions, receives the processing results of the embedded motherboard and stores the result data until the processing is completed; S9, the PC control module determines whether data proofreading is required. If not, the process ends and the operator manually processes the proofreading data. If automatic proofreading is required, the data proofreading unit is started to perform data proofreading and the proofreading result is notified to the operator. The processing flow of the PC control module is as follows: 1) Power on the embedded mainboard; 2) Open the PC control module and connect it to the embedded motherboard; 3) The PC control module sets the communication parameters, loads the calibration data and setting parameters, and issues a start command; 4) The PC control module issues a handshake command; 5) The PC control module waits for the embedded mainboard to reply the handshake response and starts the first timeout timer; 6) If the first timeout timer in the PC control module times out without receiving a handshake response, it is determined whether the first number of times exceeds the specified threshold. If not, the handshake signal is resent and the counter is incremented. 7) In the PC control module, if the first number exceeds the threshold, the value of the first number exceeding the limit is cleared, and at the same time, it is determined whether the second number exceeding the limit exceeds the specified threshold; 8) In the PC control module, if the second number of times exceeds the limit but does not exceed the specified threshold, the native tool is called to burn ExtBoot; 9) After the ExtBoot burning is completed in the PC control module, it will wait for the set time, send the handshake command to the embedded mainboard again, and wait to receive the handshake response information from the embedded mainboard; 10) If the PC control module has not received the handshake response information from the embedded motherboard, and the second number exceeds the specified threshold, the operation fails and the system exits. 11) If the PC control module receives a handshake response from the embedded motherboard, the handshake is successful and the first timeout timer is stopped at the same time; 12) The PC control module reads the parameters set by the operator; 13) The PC control module determines whether the parameters are legal; 14) If the parameters in the PC control module are illegal, the system will prompt that the parameters are illegal and exit; 15) In the PC control module, the frame data is encapsulated according to the parameter type and placed in the message queue for queue processing; 16) The PC control module determines whether there are parameters to be processed. If so, it reads the parameter encapsulation frame data and puts it into the message queue for queue processing until all parameters are processed; 17) The PC control module determines whether there is any message data to be processed in the message queue. If so, it processes the message and transmits the processed message data to the embedded mainboard. At the same time, it starts the second timeout timer and waits for the embedded mainboard to reply with a response message. 18) If the second timeout timer in the PC control module times out without receiving the response information from the embedded mainboard, it will determine whether the third time limit exceeds the specified threshold. If it does not exceed the threshold, the processed message data will be resent; if it exceeds the threshold, it will prompt that the processing failed and end the exit; 19) If the PC control module receives a reply message from the embedded mainboard, it stops the second timeout timer and starts the third timeout timer to wait for the embedded mainboard to reply the processing result; 20) If the third timeout timer times out without receiving a processing result from the embedded mainboard in the PC control module, the PC control module determines whether the fourth number of times exceeds the specified threshold. If not, the PC control module starts the third timeout timer and continues to wait for the embedded mainboard to reply the processing result. 21) If the fourth time exceeds the specified threshold in the PC control module, it will prompt that the processing has failed and exit; 22) If the PC control module receives the processing result from the embedded mainboard within the timeout period of the third timeout timer, the third timeout timer is stopped and the processing result and the returned data are saved locally; 23) The PC control module determines whether all parameter requests set by the operator have been processed. If not, the processing continues. If the processing is completed, it determines whether the operator needs to automatically calibrate the data. 24) If the PC control module does not need to check the data, it will prompt that the operation is successful and exit; 25) If data needs to be proofread in the PC control module, the data proofreading unit is started to perform data proofreading; 26) In the PC control module, if the data verification unit verifies that the data is consistent, it will prompt that the verification is successful and exit; 27) If the data proofreading unit in the PC control module does not calibrate the data in accordance with the verification data, the system will prompt that the verification has failed and exit.

2. The embedded device firmware transmission and verification method according to claim 1, wherein: The processing flow of the embedded motherboard is as follows: A1. Power on the embedded mainboard; A2. The embedded motherboard determines whether the startup is complete; A3. If the embedded motherboard fails to start, it means it cannot be turned on. You need to wait for the PC control module to initiate ExtBoot burning. A4. The PC control module ExtBoot is burned and restarted; A5. The embedded motherboard repeats step A2. If the startup is successful, it enters standby mode and waits for the PC control module to issue new instructions. A6. If the embedded motherboard receives a new instruction from the PC control module, it will parse the instruction; A7, the embedded motherboard determines whether the parsed command is valid. If not, it is discarded and continues to wait for the PC control module to issue a new command; A8. If the embedded motherboard receives a valid new instruction, it will reply with a response and process the new instruction; A9. The embedded motherboard transmits the results and data of processing the new instruction to the PC control module, and continues to wait for the PC control module to initiate new instructions.

3. A system for transmitting and verifying embedded device firmware, characterized by: A method for implementing the method according to any one of claims 1 to 2, comprising a PC control module and an embedded mainboard, wherein the PC control module is connected to the embedded mainboard; The PC control module includes a data proofreading unit, a data storage unit, a data receiving unit and a native burning tool control unit; The data proofreading unit is responsible for loading and proofreading the original data and receiving the relevant parameters preset by the operator for preprocessing; The data receiving unit is responsible for receiving data from the embedded mainboard and verifying the frame data according to the communication protocol, and parsing the processing result data; The data storage unit is responsible for parsing the processing result data of the embedded mainboard provided by the data receiving unit and storing it locally; The native burning tool control unit is responsible for calling the native burning tool; The embedded mainboard includes an instruction processing unit, a data processing unit, and a data transmission unit; The instruction processing unit is responsible for receiving frame data from the PC control module, parsing instructions and extracting parameters according to the communication protocol, and replying to the received instructions; The data processing unit is responsible for processing the received instructions and parameters; The data transmission unit is responsible for organizing the processing results into frame data according to the communication protocol and transmitting them to the PC control module.

4. A readable storage medium, characterized in that: The readable storage medium stores execution instructions, which are used to implement the method according to any one of claims 1 to 2 when executed by a processor.

Citation Information

Patent Citations

  • Firmware system data transmission method and burning device thereof

    CN113094059A