Remote automatic burning method, device, equipment and medium

By using a remote automatic programming method, and leveraging the communication between the host computer and the integrated manufacturing system and software version management system, programming command scripts are automatically generated and the programming simulator is controlled, thus solving the problem of low reliability in the chip programming process and achieving an efficient and reliable programming process.

CN121900772APending Publication Date: 2026-04-21SHENZHEN POWEROAK NEWENER CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHENZHEN POWEROAK NEWENER CO LTD
Filing Date
2025-11-21
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

In existing technologies, the chip programming process suffers from low reliability, mainly due to the difficulty in managing programming files and the high error rate caused by human error.

Method used

By using a remote automatic programming method, the host computer communicates with the integrated manufacturing system and software version management system to automatically obtain circuit board identification, parse feedback results, generate programming command scripts, and control the programming simulator to perform programming operations, thereby reducing manual intervention.

Benefits of technology

It improves the reliability of chip programming, reduces the error rate caused by human operation, and realizes an automated and efficient programming process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121900772A_ABST
    Figure CN121900772A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of chip burning, in particular to a remote automatic burning method, device and equipment and a medium. The remote automatic burning method is applied to an upper computer, a circuit board identifier of a burning circuit board is obtained through the upper computer, an identification request is sent to a production and manufacturing integrated system according to the circuit board identifier, and a feedback result returned by the production and manufacturing integrated system is received; analyzing the feedback result to obtain a target software material number of the to-be-burned software, receiving a burning file sent by the software version management system and a configuration file corresponding to the burning file according to the target software material number, and generating a burning command script according to the burning file and the configuration file; and determining a burning simulator, and controlling the burning simulator to execute the burning command script for burning. The burning process is controlled through the upper computer, management and control of production engineers are not needed, the production engineers do not make direct contact with burning files, the risk of poor burning caused by manual operation is reduced, and the reliability of chip burning is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of chip programming technology, and in particular to a remote automatic programming method, apparatus, device and medium. Background Technology

[0002] In modern electronics manufacturing, chip programming is a crucial step in the production process of electronic products such as embedded systems, IoT devices, and industrial control modules. Currently, chip programming requires production engineers to manage programming files and methods manually. All software requiring programming must have its programming file manually selected. With numerous and constantly updated versions of programming files, management by engineers is extremely difficult, prone to errors, and highly susceptible to human error, resulting in low programming reliability. Therefore, improving the reliability of chip programming is a pressing issue that needs to be addressed. Summary of the Invention

[0003] In view of this, embodiments of this application provide a remote automatic programming method, apparatus, device and medium to solve the problem of low reliability in chip programming.

[0004] In a first aspect, embodiments of this application provide a remote automatic programming method, wherein the remote automatic programming method is applied to a host computer, the host computer being communicatively connected to an integrated manufacturing system and a software version management system, and the remote automatic programming method includes: Obtain the circuit board identifiers of the chip to be programmed and the programming circuit board, send an identification request to the integrated manufacturing system based on the circuit board identifiers, and receive the feedback results returned by the integrated manufacturing system. When the feedback result indicates that burning is allowed, the feedback result is parsed to obtain the target software part number of the software to be burned. Based on the target software part number, a request message is sent to the software version management system. The request message is used to request the burning file and corresponding configuration file that match the target software part number. Receive the burning file and the configuration file corresponding to the burning file sent by the software version management system, and generate a burning command script based on the burning file and the configuration file; Obtain the programming emulator identifier from the configuration file, determine the target programming emulator based on the programming emulator identifier, control the target programming emulator to execute the programming command script, and program the software to be programmed onto the chip to be programmed.

[0005] Secondly, embodiments of this application provide a remote automatic programming method, wherein the remote automatic programming method is applied to a software version management system, the software version management system being communicatively connected to a host computer, and the remote automatic programming method includes: The system receives a request message sent by the host computer, parses the request message, and determines the target software part number of the software to be programmed in the request message. The request message is used to request the programming file and corresponding configuration file that match the target software part number. Based on the target software part number, determine the programming file and configuration file that match the software part number, and send the programming file and configuration file to the host computer, so that the host computer generates a corresponding programming command script based on the programming file and configuration file.

[0006] Thirdly, embodiments of this application provide a remote automatic programming device, which is applied to a host computer. The host computer is communicatively connected to both an integrated manufacturing system and a software version management system. The remote automatic programming device includes: The acquisition module is used to acquire the circuit board identifier of the chip to be programmed and the programming circuit board, send an identification request to the integrated manufacturing system based on the circuit board identifier, and receive the feedback result returned by the integrated manufacturing system. The sending module is used to parse the feedback result when the feedback result is allowed to burn, obtain the target software part number of the software to be burned, and send a request message to the software version management system according to the target software part number. The request message is used to request to obtain the burning file and the corresponding configuration file that match the target software part number. The generation module is used to receive the burning file and the configuration file corresponding to the burning file sent by the software version management system, and generate a burning command script based on the burning file and the configuration file. The programming module is used to obtain the programming emulator identifier in the configuration file, determine the target programming emulator based on the programming emulator identifier, control the target programming emulator to execute the programming command script, and program the software to be programmed onto the chip to be programmed.

[0007] Fourthly, embodiments of this application provide a remote automatic programming device, which is applied to a software version management system. The software version management system is communicatively connected to a host computer. The remote automatic programming device includes: The receiving module is used to receive the request information sent by the host computer, parse the request information, determine the target software part number of the software to be burned in the request information, and the request information is used to request to obtain the burning file and the corresponding configuration file that match the target software part number; The determination module is used to determine the programming file and configuration file that match the target software part number based on the target software part number, and send the programming file and configuration file to the host computer, so that the host computer generates a corresponding programming command script based on the programming file and configuration file.

[0008] Fifthly, embodiments of this application provide a computer device, the computer device including a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the remote automatic burning method as described in the first aspect.

[0009] In a sixth aspect, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the remote automatic burning method as described in the first aspect.

[0010] The advantages of this application compared to the prior art are: In this application, the remote automatic programming method is applied to a host computer, which is connected to both the integrated manufacturing system and the software version management system. The host computer obtains the circuit board identifier of the programming circuit board, sends an identification request to the integrated manufacturing system based on the identifier, and receives feedback from the integrated manufacturing system. It then parses the feedback to obtain the target software part number of the software to be programmed, and sends a request to the software version management system based on the target software part number. The system receives the programming file and its corresponding configuration file from the software version management system, generates a programming command script based on the programming file and configuration file, determines the programming emulator, and controls the programming emulator to execute the programming command script for programming. By controlling the programming process through the host computer, no production engineering personnel are required to oversee the process. Production engineering personnel do not directly handle the programming file, reducing the risk of programming failures caused by human error and improving the reliability of chip programming. Attached Figure Description

[0011] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0012] Figure 1 This is a schematic diagram of an application environment for a remote automatic programming method provided in an embodiment of this application; Figure 2 This is a flowchart illustrating a remote automatic programming method provided in an embodiment of this application; Figure 3 This is another flowchart illustrating a remote automatic programming method provided in an embodiment of this application. Figure 4 This is a schematic diagram of the structure of a remote automatic programming device provided in one embodiment of this application; Figure 5 This is another structural schematic diagram of a remote automatic programming device provided in one embodiment of this application; Figure 6 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation

[0013] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0014] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.

[0015] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0016] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0017] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."

[0018] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0019] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0020] The remote automatic programming method provided in this application embodiment can be applied to, for example, Figure 1 In this application environment, the host computer communicates with both the integrated manufacturing system and the software version management system. The integrated manufacturing system and the software version management system also communicate with each other. The host computer includes, but is not limited to, devices such as smart TVs, PDAs, desktop computers, laptops, and ultra-mobile personal computers (UMPCs). The integrated manufacturing system and the software version management system are cloud servers.

[0021] See Figure 2 This is a flowchart illustrating a remote automatic programming method according to an embodiment of this application. The remote automatic programming method is applied to a host computer, which is communicatively connected to both an integrated manufacturing system and a software version management system. Figure 2 As shown, the remote automatic programming method may include the following steps.

[0022] S201: Obtain the circuit board identifier of the chip to be programmed and the programming circuit board, send an identification request to the integrated manufacturing system based on the circuit board identifier, and receive the feedback result returned by the integrated manufacturing system.

[0023] In step S201, the chip to be programmed is a chip that has not yet been written with the target program and data. The circuit board identifier is the identity information of the programming circuit board. The integrated manufacturing system is used to control whether the conditions for programming are met. The software version management system is used to obtain the programming file and the corresponding configuration file. Based on the circuit board identifier, an identification request is sent to the integrated manufacturing system by calling the corresponding interface, so that the integrated manufacturing system can identify the circuit board identifier and send the corresponding feedback result. The host computer receives the feedback result returned by the integrated manufacturing system. The software part number corresponds one-to-one with the programming software, and the software part number corresponds one-to-one with the circuit board identifier.

[0024] In this embodiment, when obtaining the circuit board identifier of the programming circuit board, the production engineer can log in to the login interface of the host computer, enter the circuit board identifier of the programming circuit board on the main programming interface, and the host computer will recognize the corresponding circuit board identifier.

[0025] It should be noted that when production engineers log in through the host computer's login interface, their identity information is verified through the software version management system. After logging in on the host computer, a request is sent to the software version management system via the API login interface. After verifying the corresponding production engineer's identity information, the software version management system returns the login result to the host computer. If the login interface displays "login successful," then the production engineer has successfully logged in.

[0026] Based on the circuit board identification, an identification request is sent to the integrated manufacturing system and sent to the corresponding interface in the integrated manufacturing system. The system then receives feedback results from the integrated manufacturing system, including whether programming is allowed and the corresponding software part number. The software part number is the identification information of the software to be programmed. If the feedback result indicates that programming is not allowed, the programming process is stopped. If the feedback result indicates that programming is allowed, the feedback result is parsed.

[0027] It should be noted that each software in the software version management system has a unique part number. R&D engineers need to simultaneously configure the required burning method, burning chip, and other configuration information when uploading the corresponding burning file for the software. The integrated manufacturing system binds the software part number in the software version management system through a part number work order binding operation. This allows the corresponding burning file and configuration file to be retrieved from the software version management system based on the corresponding software part number. In other words, there is a one-to-one correspondence between the software part number in the integrated manufacturing system and the burning file and configuration file in the software version management system.

[0028] In this embodiment, the circuit board identifier of the circuit board to be programmed is obtained, and an identification request is sent to the integrated manufacturing system based on the circuit board identifier. The feedback result returned by the integrated manufacturing system is received so that the integrated manufacturing system can determine whether the programming conditions are met, avoid programming incorrect software, and improve the rigor of programming.

[0029] S202: When the feedback result is "allowing burning", parse the feedback result to obtain the target software part number of the software to be burned. Based on the target software part number, send a request message to the software version management system. The request message is used to request the burning file and corresponding configuration file that match the target software part number.

[0030] In step S202, the feedback result includes whether programming is allowed or not. When the feedback result is "programming allowed," the feedback result is parsed to obtain the target software part number of the software to be programmed. The target software part number is the identifier of the software to be programmed. Based on the target software part number, a request message is sent to the software version management system. The request message is used to request the programming file and corresponding configuration file that match the target software part number. The programming file is a binary data carrier used to write to the chip, containing the program code required for chip operation. The configuration file includes information such as the programming method of the software to be programmed and the programming chip.

[0031] In this embodiment, when the feedback result indicates that programming is allowed, the feedback result is parsed to obtain the target software part number of the software to be programmed. Based on the target software part number, a request message is sent to the software version management system. The request message requests the acquisition of the programming file and corresponding configuration file that match the target software part number. The request message includes the corresponding target software part number to facilitate matching the corresponding programming file and configuration file. After receiving the request message, the software version management system downloads the corresponding programming file and configuration file and sends them to the host computer, so that the host computer can control the programming process based on the corresponding programming file and configuration file.

[0032] It should be noted that after sending a request to the software version management system based on the target software part number, the software version management system, upon receiving the corresponding request, determines the corresponding programming file and configuration file based on the target software part number, downloads the corresponding programming file and configuration file, and sends the programming file and configuration file to the host computer.

[0033] In this embodiment, the corresponding burning file and configuration file are obtained from the software version management system according to the target software part number, so that the host computer can control the burning process based on the burning file and configuration file.

[0034] S203: Receives the burning file and the corresponding configuration file sent by the software version management system, and generates a burning command script based on the burning file and the configuration file.

[0035] In step S203, the programming file is the program file for programming the software to the target hardware, containing information such as file format (e.g., .bin / .hex / .elf), file size, and program entry address. The configuration file is a structured file in JSON / XML / INI format, containing information such as the programming method, programming rules, and programming chip for the software to be programmed. The programming command script is a standardized, automated set of instructions used to control the interaction between the programming tool and the target hardware.

[0036] In this embodiment, after receiving the burning file and its corresponding configuration file from the software version management system, the system parses the burning file and configuration file. For example, when parsing the burning file, it uses file header identifiers, such as the starting character ":" in .hex files. It identifies the file format, reads file metadata such as file size and program entry address, and verifies file integrity, such as checking the CRC checksum of .bin files. When parsing the configuration file, it can extract parameters according to preset field mapping rules, such as "chip_model" corresponding to the chip model and "burn_addr" corresponding to the storage start address. The system then verifies the validity of these parameters, such as determining whether the storage start address is within the chip's allowed address range and whether the baud rate is a standard value supported by the tool.

[0037] Obtain a preset burning command template, which matches the burner type; different burners correspond to different burning command templates. Substitute the parameters from the burning file and configuration file into the corresponding burning command template to obtain the corresponding burning command script.

[0038] In this embodiment, a burning command script is generated based on the burning file and configuration file, which overcomes the defect that the burning command script depends on manual writing, realizes the automatic generation of scripts, improves burning efficiency and reduces error rate.

[0039] S204: Obtain the programming emulator identifier from the configuration file, determine the target programming emulator based on the programming emulator identifier, control the target programming emulator to execute the programming command script, and program the software to be programmed onto the chip to be programmed.

[0040] In step S204, the configuration file contains a programming emulator identifier, which corresponds one-to-one with each programming emulator. The target programming emulator is the one corresponding to the programming emulator identifier. This programming emulator has dual functions: "firmware programming" and "online simulation debugging." It connects the computer to the target hardware, not only writing the compiled program to the chip's storage medium (Flash / ROM) but also monitoring and debugging the program's running status in real time. The programming emulator is controlled to execute the programming command script for programming, which binds the programming emulator's hardware interface and communication protocol to the instructions in the programming command script. The programming command script calls the corresponding toolchain of the programming emulator to achieve automated programming.

[0041] In this embodiment, the configuration file carries a unique identifier for the programming emulator. The emulator identifier is retrieved from the configuration file, and the target programming emulator is determined based on it. The target programming emulator is then controlled to execute the programming command script, programming the software to be programmed onto the chip. During programming, the driver program for the target programming emulator is loaded, the communication protocol is initialized (e.g., the SWD protocol initialization clock frequency is 1MHz), and a bidirectional data transmission channel is established between the host computer and the target programming emulator. If the programming emulator is not detected or communication fails, an error message is returned, guiding the user to troubleshoot the hardware or driver. The programming command script is sent to the target programming emulator in segments according to the instruction format supported by the programming emulator. Real-time execution status data from the target programming emulator is received and visualized through the user interface.

[0042] It should be noted that if an exception occurs during execution, such as communication interruption or verification mismatch, a retry will be automatically triggered according to the "retry count" parameter in the configuration file. If the retry still fails after reaching the threshold, an exception log will be recorded, and troubleshooting suggestions will be provided, such as "Verification failed; it is recommended to check the integrity of the burning file or the emulator's contact status." If the burning command script completes execution without any exceptions, a "burning successful" flag will be received from the target burning emulator.

[0043] In this embodiment, the target programming emulator is determined based on the programming emulator identifier, and the target programming emulator is controlled to execute the programming command script for programming. Production engineers do not directly handle the programming files, reducing the risk of programming failures caused by human operation, lowering the error rate, and the whole process is automated, thus improving programming efficiency.

[0044] Optionally, the above-mentioned remote automatic programming method also includes: When there are multiple chips to be programmed, obtain the first number of chips to be programmed and the second number of programming emulators, wherein the types of chips to be programmed and programming emulators are the same. When the first quantity is no greater than the second quantity, obtain the programming emulator identifier corresponding to each chip to be programmed; For any chip to be programmed, write the programming emulator identifier of the chip to be programmed into the programming command script corresponding to the chip to be programmed; Each programming emulator is controlled to execute the corresponding programming command script simultaneously, so as to program the software to be programmed into the corresponding chip.

[0045] In this embodiment, if there are multiple chips to be programmed and a single programming circuit board, the relationship between the first number of chips to be programmed and the second number of programming emulators is determined. When the first number is not greater than the second number, the programmer identifier corresponding to each programming channel is selected on the host computer, that is, a programming emulator is configured for each chip to be programmed, so that the corresponding programming emulator can be used to program the software to be programmed onto the corresponding chip.

[0046] It should be noted that the type of chip to be programmed is the same as the type of programming emulator, such as comparing the number of ARM chips to be programmed with the number of ARM programming emulators.

[0047] For any chip to be programmed, the programming emulator identifier of the chip is written into the corresponding programming command script. On the host computer, after selecting a corresponding programming emulator identifier for each chip, a programming thread is started for each chip. Each programming thread generates a programming command script, and the programming emulator identifier of the chip is written into the corresponding programming command script. This allows the corresponding programming emulator to be determined based on the programming emulator identifier in the programming command script, thereby controlling each programming emulator to simultaneously execute its corresponding programming command script, thus programming the software to the corresponding chip.

[0048] In this embodiment, when multiple chips to be programmed are programmed simultaneously, a programming emulator is selected for each chip to be programmed, and a programming thread is started so that each programming thread can execute the corresponding programming command script at the same time, and the programming of multiple chips to be programmed can be completed at the same time.

[0049] Optionally, the remote automatic programming method also includes: When there are multiple programming circuit boards, when the first number equals the second number, obtain the programming emulator identifier corresponding to each chip to be programmed; For any chip to be programmed, write the programming emulator identifier of the chip to be programmed into the programming command script corresponding to the chip to be programmed; Each programming emulator is controlled to execute the corresponding programming command script simultaneously, so as to program the software to be programmed into the corresponding chip.

[0050] In this embodiment, when there are multiple programming circuit boards, and the first number equals the second number, the programming emulator identifier corresponding to each chip to be programmed is obtained. That is, when the chips to be programmed are in different programming circuit boards, and the number of chips to be programmed is equal to the number of programming emulators, a unique programming emulator identifier is selected for each chip to be programmed on the host computer. The programming emulator identifiers are not repeated. For any chip to be programmed, the programming emulator identifier of the chip to be programmed is written into the programming command script corresponding to the chip. Each programming emulator is controlled to simultaneously execute the corresponding programming command script, programming the software to be programmed into the corresponding chip.

[0051] It should be noted that if the chips to be programmed are of different types, such as ARM chips and DSP chips, after determining the corresponding chips to be programmed and connecting them to the programming emulator, it is necessary to determine whether there is a priority programming requirement. If there is no priority programming requirement, the ARM chip and DSP chip will each start a programming thread and perform the programming action simultaneously. If there is a priority programming requirement, such as DSP chip priority, the DSP chip programming will be performed first, and the ARM chip programming will proceed only after the DSP chip programming is completed.

[0052] In this embodiment, when there are multiple programming circuit boards, and the number of chips to be programmed is equal to the number of programming emulators, simultaneous programming can be performed on the same host computer, thereby improving programming efficiency.

[0053] Optionally, after controlling the programming emulator to execute the programming command script for programming, the following steps are also included: Obtain a rewritable file; Verify that the rewritable file matches the burned file. If the rewritable file matches the burned file, then the burning process is successful.

[0054] In this embodiment, after the programming is completed, a rewritable programming file is obtained to increase product reliability. The rewritable programming file is then verified to be consistent with the original programming file. If the rewritable programming file is consistent with the original programming file, the programming is considered successful.

[0055] The process of obtaining a rewritable programmable file involves parsing the programmable file to obtain multiple consecutive BIN files. The starting address and length of each BIN file are determined. Based on the starting address and length of each BIN file, corresponding script instructions are generated and executed to generate the rewritable programmable file. To verify the consistency between the rewritable programmable file and the original programmable file, a preset algorithm is used to process both, resulting in a first string corresponding to the original programmable file and a second string corresponding to the rewritable programmable file. This preset algorithm can be an MD5 algorithm, etc. The consistency between the rewritable programmable file and the original programmable file is verified based on the first and second strings. If the first and second strings are the same, the rewritable programmable file is considered consistent with the original programmable file; otherwise, they are considered inconsistent. If the rewritable programmable file and the original programmable file are consistent, the programming is considered successful.

[0056] In this embodiment, verification is performed using a read-back method, avoiding the problem that individual byte errors cannot be verified during the built-in verification of the programming emulator, thus increasing the reliability of product programming.

[0057] Optionally, after controlling the target programming emulator to execute the programming command script and programming the software to be programmed onto the chip, the method further includes: Obtain the programming results and upload them to the integrated manufacturing system so that the integrated manufacturing system can update the status of the programmed circuit board.

[0058] In this embodiment, the programming result is uploaded to the integrated manufacturing system, so that the integrated manufacturing system updates the status of the programming circuit board to prevent repeated operations.

[0059] See Figure 3 This is a flowchart illustrating a remote automatic programming method according to an embodiment of this application. The remote automatic programming method is applied to a software version management system, which is connected to a host computer for communication. Figure 3 As shown, the remote automatic programming method may include the following steps.

[0060] S301: Receives request information sent by the host computer, parses the request information, determines the target software part number of the software to be burned in the request information, and the request information is used to request the burning file and corresponding configuration file that match the target software part number. S302: Based on the target software part number, determine the programming file and configuration file that match the software part number, and send the programming file and configuration file to the host computer so that the host computer can generate the corresponding programming command script based on the programming file and configuration file.

[0061] In this embodiment, the software version management system receives a request from the host computer, parses the request, and determines the target software part number of the software to be programmed. This allows the system to download the corresponding programming file and configuration file based on the target software part number. The programming file is a binary data carrier used to write data to the chip, containing the program code required for chip operation. The configuration file includes information such as the programming method and the chip to be programmed. After receiving the corresponding request, the software version management system determines the programming file and configuration file matching the target software part number, and sends them to the host computer. The host computer then generates the corresponding programming command script based on the programming file and configuration file.

[0062] In this embodiment, the software version management system provides the host computer with the corresponding burning files and configuration files. Production engineers do not directly handle the burning files, reducing the risk of burning failures caused by human operation, lowering the error rate, and automating the entire process, thus improving burning efficiency.

[0063] In this application, the remote automatic programming method is applied to a host computer, which is connected to both the integrated manufacturing system and the software version management system. The host computer obtains the circuit board identifier of the programming circuit board, sends an identification request to the integrated manufacturing system based on the identifier, and receives feedback from the integrated manufacturing system. It then parses the feedback to obtain the target software part number of the software to be programmed, and sends a request to the software version management system based on the target software part number. The system receives the programming file and its corresponding configuration file from the software version management system, generates a programming command script based on the programming file and configuration file, determines the programming emulator, and controls the programming emulator to execute the programming command script for programming. By controlling the programming process through the host computer, no production engineering personnel are required to oversee the process. Production engineering personnel do not directly handle the programming file, reducing the risk of programming failures caused by human error and improving the reliability of chip programming.

[0064] Please see Figure 4 , Figure 4 This is a schematic diagram of a remote automatic programming device according to an embodiment of this application. This remote automatic programming device corresponds one-to-one with the remote automatic programming method described in the above embodiments. Please refer to [link / reference] for details. Figure 2 as well as Figure 2 The relevant descriptions in the corresponding embodiments are shown below. For ease of explanation, only the parts relevant to this embodiment are shown. See also... Figure 2 The remote automatic programming device 40 includes: an acquisition module 41, a sending module 42, a generation module 43, and a programming module 44.

[0065] The acquisition module 41 is used to acquire the circuit board identifier of the chip to be programmed and the programming circuit board, send an identification request to the integrated manufacturing system based on the circuit board identifier, and receive the feedback result returned by the integrated manufacturing system.

[0066] The sending module 42 is used to parse the feedback result when the feedback result is "allowing burning", obtain the target software part number of the software to be burned, and send a request message to the software version management system based on the target software part number. The request message is used to request the burning file and the corresponding configuration file that match the target software part number.

[0067] The generation module 43 is used to receive the burning file and the corresponding configuration file sent by the software version management system, and generate a burning command script based on the burning file and the configuration file.

[0068] The programming module 44 is used to obtain the programming emulator identifier in the configuration file, determine the target programming emulator based on the programming emulator identifier, control the target programming emulator to execute the programming command script, and program the software to be programmed onto the chip to be programmed.

[0069] Optionally, the remote automatic programming device 40 also includes: The second acquisition module is used to acquire a first number of chips to be programmed and a second number of programming emulators when there are multiple chips to be programmed, wherein the types of chips to be programmed and programming emulators are the same.

[0070] The third acquisition module is used to acquire the programming emulator identifier corresponding to each chip to be programmed when the first quantity is not greater than the second quantity.

[0071] The first writing module is used to write the programming emulator identifier of any chip to be programmed into the programming command script corresponding to the chip.

[0072] The first control module is used to control each programming emulator to execute the corresponding programming command script simultaneously, so as to program the software to be programmed into the corresponding chip.

[0073] Optionally, the remote automatic programming device 40 also includes: The second acquisition module is used to acquire the programming emulator identifier corresponding to each chip to be programmed when there are multiple programming circuit boards and the first number is equal to the second number.

[0074] The second writing module is used to write the programming emulator identifier of any chip to be programmed into the programming command script corresponding to the chip.

[0075] The second control module is used to control each programming emulator to execute the corresponding programming command script simultaneously, so as to program the software to be programmed into the corresponding chip.

[0076] Optionally, the remote automatic programming device 40 also includes: The third acquisition module is used to acquire rewritable files.

[0077] The verification module is used to verify whether the rewritable file and the burned file are consistent. If the rewritable file and the burned file are consistent, the burning is considered successful.

[0078] Optionally, the remote automatic programming device 40 also includes: The update module is used to obtain the programming results and upload them to the integrated manufacturing system, so that the integrated manufacturing system can update the status of the programmed circuit board.

[0079] Please see Figure 5 , Figure 5 This is a schematic diagram of a remote automatic programming device according to an embodiment of this application. This remote automatic programming device corresponds one-to-one with the remote automatic programming method described in the above embodiments. Please refer to [link / reference] for details. Figure 3 as well as Figure 3 The relevant descriptions in the corresponding embodiments are shown below. For ease of explanation, only the parts relevant to this embodiment are shown. See also... Figure 3 The remote automatic programming device 50 includes: a receiving module 51 and a determining module 52.

[0080] The receiving module 51 is used to receive request information sent by the host computer, parse the request information, determine the target software part number of the software to be burned in the request information, and request the burning file and corresponding configuration file that match the target software part number.

[0081] The determination module 52 is used to determine the programming file and configuration file that match the target software part number based on the target software part number, and send the programming file and configuration file to the host computer so that the host computer can generate the corresponding programming command script based on the programming file and configuration file.

[0082] It should be noted that the information interaction and execution process between the above-mentioned units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, which will not be repeated here.

[0083] Figure 6 This is a schematic diagram of the structure of a computer device provided in one embodiment of this application. For example... Figure 6 As shown, the computer device of this embodiment includes: at least one processor ( Figure 6 Only one is shown in the diagram), a memory, and a computer program stored in the memory and capable of running on at least one processor, wherein the processor executes the computer program to implement the steps in any of the above-described remote automatic programming method embodiments.

[0084] This computer device may include, but is not limited to, a processor and memory. Those skilled in the art will understand that... Figure 6 The examples of computer devices are merely examples and do not constitute a limitation on computer devices. Computer devices may include more or fewer components than shown in the illustration, or combinations of certain components, or different components, such as network interfaces, displays, and input devices.

[0085] The processor referred to can be a CPU, but it can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0086] Memory includes readable storage media, internal memory, etc., wherein internal memory can be the RAM of a computer device, providing an environment for the operation of the operating system and computer-readable instructions stored in the readable storage media. The readable storage media can be the hard drive of a computer device, or in other embodiments, it can be an external storage device of the computer device, such as a plug-in hard drive, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card. Furthermore, memory can include both internal storage units and external storage devices of the computer device. Memory is used to store the operating system, applications, bootloader, data, and other programs, such as program code for computer programs. Memory can also be used to temporarily store data that has been output or will be output.

[0087] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is used as an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above device can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here. If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the above method embodiments. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. A computer-readable medium can include at least: any entity or device capable of carrying computer program code, a recording medium, a computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electrical carrier signals or telecommunication signals.

[0088] The implementation of all or part of the processes in the methods of the above embodiments can also be accomplished by a computer program product. When the computer program product is run on a computer device, it enables the computer device to execute the steps in the above method embodiments.

[0089] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0090] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0091] In the embodiments provided in this application, it should be understood that the disclosed apparatus / computer devices and methods can be implemented in other ways. For example, the apparatus / computer device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0092] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.

[0093] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A remote automatic programming method, characterized in that, The remote automatic programming method is applied to a host computer, which is communicatively connected to both the integrated manufacturing system and the software version management system. The remote automatic programming method includes: Obtain the circuit board identifier of the chip to be programmed and the programming circuit board; send an identification request to the integrated manufacturing system based on the circuit board identifier; and receive the feedback result returned by the integrated manufacturing system. When the feedback result indicates that burning is allowed, the feedback result is parsed to obtain the target software part number of the software to be burned. Based on the target software part number, a request message is sent to the software version management system. The request message is used to request the burning file and corresponding configuration file that match the target software part number. Receive the burning file and the configuration file corresponding to the burning file sent by the software version management system, and generate a burning command script based on the burning file and the configuration file; Obtain the programming emulator identifier from the configuration file, determine the target programming emulator based on the programming emulator identifier, control the target programming emulator to execute the programming command script, and program the software to be programmed onto the chip to be programmed.

2. The remote automatic programming method as described in claim 1, characterized in that, The remote automatic programming method also includes: When there are multiple chips to be programmed, obtain a first number of chips to be programmed and a second number of programming emulators, wherein the chips to be programmed and the programming emulators are of the same type; When the first quantity is not greater than the second quantity, obtain the programming emulator identifier corresponding to each chip to be programmed; For any chip to be programmed, the programming emulator identifier of the chip to be programmed is written into the programming command script corresponding to the chip to be programmed; Each programming emulator is controlled to execute the corresponding programming command script simultaneously, so as to program the software to be programmed into the corresponding chip.

3. The remote automatic programming method as described in claim 2, characterized in that, The remote automatic programming method also includes: When there are multiple programming circuit boards, when the first number is equal to the second number, the programming emulator identifier corresponding to each chip to be programmed is obtained; For any chip to be programmed, the programming emulator identifier of the chip to be programmed is written into the programming command script corresponding to the chip to be programmed; Each programming emulator is controlled to execute the corresponding programming command script simultaneously, so as to program the software to be programmed into the corresponding chip.

4. The remote automatic programming method as described in claim 1, characterized in that, After controlling the programming emulator to execute the programming command script for programming, the method further includes: Obtain a rewritable file; Verify whether the rewritable file is consistent with the burnable file. If the rewritable file is consistent with the burnable file, then the burning is successful.

5. The remote automatic programming method as described in claim 4, characterized in that, After controlling the target programming emulator to execute the programming command script and programming the software to be programmed onto the chip, the method further includes: Obtain the programming result and upload it to the integrated manufacturing system, so that the integrated manufacturing system updates the status of the programming circuit board.

6. A remote automatic programming method, characterized in that, The remote automatic burning method is applied to a software version management system, which is connected to a host computer. The remote automatic burning method includes: The system receives a request message sent by the host computer, parses the request message, and determines the target software part number of the software to be programmed in the request message. The request message is used to request the programming file and corresponding configuration file that match the target software part number. Based on the target software part number, determine the programming file and configuration file that match the software part number, and send the programming file and configuration file to the host computer, so that the host computer generates a corresponding programming command script based on the programming file and configuration file.

7. A remote automatic programming device, characterized in that, The remote automatic programming device is applied to a host computer, which is communicatively connected to both the integrated manufacturing system and the software version management system. The remote automatic programming device includes: The acquisition module is used to acquire the circuit board identifier of the chip to be programmed and the programming circuit board, send an identification request to the integrated manufacturing system based on the circuit board identifier, and receive the feedback result returned by the integrated manufacturing system. The sending module is used to parse the feedback result when the feedback result is allowed to burn, obtain the target software part number of the software to be burned, and send a request message to the software version management system according to the target software part number. The request message is used to request to obtain the burning file and the corresponding configuration file that match the target software part number. The generation module is used to receive the burning file and the configuration file corresponding to the burning file sent by the software version management system, and generate a burning command script based on the burning file and the configuration file. The programming module is used to obtain the programming emulator identifier in the configuration file, determine the target programming emulator based on the programming emulator identifier, control the target programming emulator to execute the programming command script, and program the software to be programmed onto the chip to be programmed.

8. A remote automatic programming device, characterized in that, The remote automatic programming device is used in a software version management system, which is connected to a host computer. The remote automatic programming device includes: The receiving module is used to receive the request information sent by the host computer, parse the request information, determine the target software part number of the software to be burned in the request information, and the request information is used to request to obtain the burning file and the corresponding configuration file that match the target software part number; The determination module is used to determine the programming file and configuration file that match the target software part number based on the target software part number, and send the programming file and configuration file to the host computer, so that the host computer generates a corresponding programming command script based on the programming file and configuration file.

9. A computer device, characterized in that, The computer device includes a processor, a memory, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the remote automatic burning method as described in any one of claims 1 to 6.

10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the remote automatic burning method as described in any one of claims 1 to 6.