Burning method, burning device, server, and electronic device
By automatically generating MAC addresses for multi-chip circuit boards using a programming device, the problem of low efficiency in existing technologies is solved, enabling an efficient and flexible programming process and reducing server load and interruption risks.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- GUANGZHOU SHIYUAN ELECTRONICS CO LTD
- Filing Date
- 2024-12-02
- Publication Date
- 2026-06-02
AI Technical Summary
In existing technologies, programming devices need to communicate with the server multiple times when processing multi-chip circuit boards, resulting in low efficiency and long processing time, and are unable to efficiently complete the programming of MAC addresses.
After obtaining the server's MAC address once, the programming device automatically generates programming addresses for the remaining chips according to preset rules, reducing the number of communications with the server and ensuring address uniqueness through simple addition logic.
It improves burning efficiency, reduces server load and communication resource consumption, reduces the risk of interruption due to server delays or failures, and has good flexibility and adaptability.
Smart Images

Figure CN122132048A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of circuit board manufacturing technology, specifically to programming methods, programming equipment, servers, and electronic equipment. Background Technology
[0002] In the production process of circuit boards / boards, in order to distinguish and manage different chips, it is necessary to program a unique MAC address for each chip. Typically, this is done by programming the MAC address into the chip's EEPROM or Flash memory using a programming device, thus ensuring a fixed MAC address.
[0003] In related technologies, a programming device connects to the board to be programmed, obtains the MAC address to be programmed from the server via a serial port, and programs the address into the corresponding chip on the board. If a board contains multiple chips with MAC addresses to be programmed, each MAC address is programmed individually to ensure uniqueness. For example, the server transmits a MAC address once, the programming device programs that address into the first chip, the server transmits another MAC address, and the programming device programs that address into the second chip, and so on, until all chips have their MAC addresses programmed. This process requires multiple MAC address acquisitions from the server to complete the programming of all chips on the board, i.e., multiple serial communication with the server. This is inefficient and time-consuming when processing boards with a large number of chips. Summary of the Invention
[0004] The embodiments of this application mainly address the technical problem that address programming technology is inefficient and time-consuming when processing boards with a large number of chips.
[0005] To solve the above-mentioned technical problems, one technical solution adopted in this application is: providing a programming method applied to a programming device in a programming system, the programming system further including a server, the programming method comprising: obtaining first programming information, the first programming information including the number and programming order of chips to be programmed in a target board, wherein the number is greater than or equal to two; obtaining a first programming address from the server, programming the first programming address to a first chip to be programmed, the first chip to be programmed being the first chip to be programmed in the target board; performing a first operation: determining the next chip to be programmed after the currently programmed chip has been programmed according to the programming order; combining the first programming address, generating a next programming address according to the address of the currently programmed chip and a preset rule, and programming the next programming address to the next chip to be programmed; repeating the first operation until the address programming of all chips in the target board is completed.
[0006] In this solution, the programming device can obtain the first programming address corresponding to the first chip from the server, and first complete the programming of the address corresponding to the first chip to be programmed. Then, starting from the first programming address, according to the programming order in the programming information and combined with preset rules, the next programming address to be programmed for the next chip is generated sequentially, and the address programming of the next chip to be programmed is completed accordingly. This process is repeated until the address programming of all chips in the target board is completed. During the address programming process of this target board, the programming device only needs to communicate with the server once to obtain the first programming address and complete the address programming of the first chip to be programmed. Then, the programming device can automatically generate the programming addresses corresponding to the other chips to be programmed (excluding the first chip) according to the first programming address and programming order, and complete the corresponding address programming, without needing to communicate with the server again to obtain the programming addresses of the other chips to be programmed. Therefore, this programming method reduces the number of serial communication between the programming device and the server, which can reduce the server load and reduce the risk of programming interruption due to server response delay or failure.
[0007] In addition, this solution is highly flexible. For different boards, you only need to change the relevant information in the programming information (such as modifying the chip name and the number of chips). The programming device will generate the programming addresses of the remaining chips in sequence based on the first programming address and complete the corresponding address programming until the address programming of all chips is completed. There is no need to make complex settings or adjustments to the programming device.
[0008] To solve the above-mentioned technical problems, another technical solution adopted in the embodiments of this application is: providing a programming method applied to a server in a programming system, the programming system further including a programming device, the programming method comprising: acquiring second programming information, the second programming information including the number of chips in a second board and a second programming address, the second board being the previous programmed board of the target board, the second programming address being the programmed address of the first chip in the second board; determining a first programming address based on the number of chips in the second board and the second programming address, or, using a preset address as the first programming address, so that when the programming device acquires the first programming address, the first programming address is transmitted to the programming device.
[0009] It is understood that the programming device in this programming system supports the programming method applied to the programming device in the above embodiments. Based on this, the server in this solution can obtain the number of chips and the second programming address in the second board according to the second programming information, wherein the second board is the previous programmed board of the target board. When determining the first programming address to be transmitted to the programming device, the first programming address to be transmitted to the programming device is planned based on the number and the second programming address, in coordination with the programming process of the programming device, to avoid duplicate addresses, so that the address of each chip is unique.
[0010] In some embodiments, determining the first programming address based on the second programming address and the number of chips in the second board includes: obtaining the number of chips N (N is a positive integer) in the second board; and adding N to the second programming address to obtain the first programming address. This scheme uses simple addition logic to determine the first programming address, so that each issued address differs from the previous issued address by N, where N is the number of chips in the second board (i.e., the previous programmed board of the target board), thereby ensuring that each chip in the second board can be programmed with a unique address.
[0011] To solve the above-mentioned technical problems, another technical solution adopted in this application is: providing a programming device, the programming device comprising: a first programming information acquisition module, used to acquire first programming information, the first programming information including the number and programming order of chips to be programmed in the target board, wherein the number is greater than or equal to two; a first programming module, used to acquire a first programming address from a server, and program the first programming address to a first chip to be programmed, the first chip to be programmed being the first chip to be programmed in the target board; a second programming module, used to perform a first operation: determining the next chip to be programmed after the currently programmed chip according to the programming order; generating a next programming address based on the first programming address, according to the address of the currently programmed chip and a preset rule, and programming the next programming address to the next chip to be programmed; and a programming control module, used to control the second programming module to repeatedly execute the first operation until the address programming of all chips in the target board is completed.
[0012] To solve the above-mentioned technical problems, another technical solution adopted in this application is: providing a server, the server comprising: a second programming information acquisition module, used to acquire second programming information, the second programming information including the number of chips in a second board and a second programming address, the second board being the previous programmed board of the target board, and the second programming address being the programmed address of the first chip in the second board; and a first programming address determination module, used to determine a first programming address based on the second programming address and the number of chips in the second board, or to use a preset address as the first programming address, so as to transmit the first programming address to the programming device when the programming device acquires the first programming address.
[0013] To solve the above-mentioned technical problems, another technical solution adopted in the embodiments of this application is: to provide an electronic device, including: at least one processor and a memory; the memory is coupled to the processor, and the memory is used to store instructions or programs, and when the instructions or programs are executed by at least one processor, the at least one processor performs the above-described burning method.
[0014] The programming device in this embodiment obtains first programming information, acquires a first programming address from the server, and programs it to the first chip to be programmed. Then, based on the number and programming order of the chips to be programmed in the programming information, starting from the first programming address and combining preset rules, the next programming address is generated sequentially, and the address programming of the corresponding chip is completed. This process is repeated until the address programming of all chips in the target board is completed.
[0015] During the address programming process of the target board, the programming device only needs to communicate with the server once to obtain the first programming address. Then, the programming device can generate the programming addresses corresponding to the other chips to be programmed, except for the first chip to be programmed, based on the first programming address and the programming order. There is no need to communicate with the server again to obtain the programming addresses of the other chips to be programmed. This reduces the number of serial communication between the programming device and the server, which can reduce the server load and reduce the risk of programming interruption due to server response delay or failure. Especially for multi-chip boards, it improves programming efficiency and saves communication resources.
[0016] In addition, this solution is highly flexible. For different boards, only the relevant information needs to be changed in the first programming information, including modifying the chip name and the number of chips. The programming device will generate the programming addresses of the remaining chips to be programmed in sequence based on the first programming address and complete the programming action of each chip until the address programming of all chips is completed. There is no need to make complex settings or adjustments to the programming device. Attached Figure Description
[0017] One or more embodiments are illustrated by way of example with reference to the accompanying drawings. These illustrations do not constitute a limitation on the embodiments. Elements having the same reference numerals in the drawings are denoted as similar elements. Unless otherwise stated, the figures in the drawings are not to be limited by scale.
[0018] Figure 1 This is a schematic flowchart of a programming method provided in an embodiment of this application;
[0019] Figure 2 This is a flowchart illustrating another programming method provided in an embodiment of this application.
[0020] Figure 3 This is a schematic diagram of the structure of a programming system provided in an embodiment of this application;
[0021] Figure 4 This is a block diagram of a programming device provided in an embodiment of this application;
[0022] Figure 5 This is a block diagram of a server provided in an embodiment of this application;
[0023] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0024] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0025] It should be noted that, unless otherwise specified, the various features in the embodiments of this application can be combined with each other, all of which are within the protection scope of this application. Furthermore, although functional modules are divided in the device schematic diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device schematic diagram or the order in the flowchart. In addition, the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0026] Unless otherwise defined, all technical and scientific terms used in this specification have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the scope of this application. The term "and / or" as used in this specification includes any and all combinations of one or more of the associated listed items.
[0027] In the production process of circuit boards, the chips in the circuit boards need to have their MAC addresses programmed into them. The MAC addresses are obtained in batches from international professional organizations by the manufacturers and programmed into the corresponding chips during the production of the circuit boards. Each chip has a unique MAC address.
[0028] Typically, a programming device connects to the board to be programmed and obtains the MAC address to be programmed from the server via a serial port. This address is then programmed into the corresponding chip on the board. When there are two or more chips on the board that require MAC address programming, the programming process in related technologies is as follows: the programming device downloads the first address from the server via serial communication and programs it into the corresponding chip. Then, it downloads the second address from the server via serial communication and programs it into the corresponding chip, and so on, until the last address is downloaded from the server via serial communication and programs it into the corresponding chip, thus completing the entire address programming process for the board. That is, although related technologies can ensure the uniqueness of the MAC address of each chip by controlling the uniqueness of the address issued by the server, the programming device needs to actively engage in multiple serial communications with the server. Each time, it requests an address from the server and completes the address programming for the corresponding chip, making the process cumbersome and the overall programming process inefficient.
[0029] To address the aforementioned issues, we attempted to optimize the address programming process for multi-chip boards and creatively proposed a novel technical solution. This solution improves address programming efficiency and saves communication resources by reducing the number of serial communication sessions between the programming device and the server.
[0030] First, regarding the programming device, it pre-acquires the first programming information, which includes the number and programming order of chips to be programmed in the target board. After acquiring this information, the programming device enters the programming process for the target board. It downloads the first programming address, i.e., the MAC address, from the server and programs it into the first chip to be programmed, i.e., the first chip to be programmed in the target board. Then, based on the aforementioned number and programming order, it sequentially generates the next programming address and programs the address of the chip corresponding to the next programming address, until the address programming of all chips in the target board is completed.
[0031] Secondly, regarding the server, it pre-obtains the second programming information, which includes the number of chips in the second board and the second programming address. The second board is the preceding programmed board of the target board, and the second programming address can be the programmed address of the first chip in the second board. The server can determine the first programming address based on the number of chips in the second board and the second programming address, ensuring that the currently transmitted first programming address (MAC address) is at least increased by the number corresponding to the number of chips in the second board compared to the MAC address (i.e., the second programming address) previously transmitted by the server to the programming device, so that all chips in the second board have a unique MAC address. When the programming device requests to download the first programming address from the server, the server can transmit the first programming address to the programming device. For example, suppose the MAC address (i.e., the second programming address) transmitted from the server to the programming device in the previous step is XX11. XX11 has already been transmitted to the programming device as the programmed address of the first chip in board A (the second board). And according to the programming information, the number of chips in the second board is 3. Then, when the programming device requests the first programming address from the server, the server needs to transmit a first programming address that is at least 3 greater than XX11, i.e., XX14. The server transmits XX14 to the programming device as the first programming address corresponding to board B (the target board). This ensures that the three chips in board A can be assigned different MAC addresses, making the MAC addresses of different chips unique. In this way, in the board address programming process, for each target board, the programming device only needs to communicate with the server once to complete the address programming of all chips to be programmed in the target board, improving programming efficiency and saving communication resources.
[0032] It is understood that the chips to be programmed in this solution refer to the chips on the target board that need to have their addresses programmed (before the programming process begins), and do not necessarily include all the chips on the target board. For example, suppose the target board contains a total of 3 chips, but only 2 of them need to have their MAC addresses programmed, and the other chip does not need to have its address programmed. Then the 2 chips that need to have their addresses programmed are the chips to be programmed on the target board.
[0033] Based on the above technical concept, the embodiments of this application will be further described in conjunction with specific scenarios.
[0034] Figure 1 This is a flowchart illustrating a programming method provided in an embodiment of this application. This method can be applied to a programming device in a programming system, which also includes a server. The programming device is communicatively connected to the server. The programming device is used to perform the operation of programming the MAC address of the chip to be programmed in the target board. Figure 1 As shown, the programming method specifically includes:
[0035] S11. Obtain first programming information, which includes the number and programming order of chips to be programmed in the target board, wherein the number is greater than or equal to two.
[0036] The first programming information in this solution is designed based on the type / specification of the circuit board. During the circuit board production process, a production line typically manufactures a large number of circuit boards of the same specifications. For these circuit boards, the types and quantities of chips to be programmed are all the same.
[0037] Therefore, identical boards on the same production line can use the same initial programming information, while other types / specifications of boards on different production lines need to have their corresponding initial programming information redesigned.
[0038] For example, the first production line continuously produces A-specification boards, which correspond to the first programming information A, including the number of chips to be programmed and the programming order in the A-specification board; the second production line continuously produces B-specification boards, which correspond to the first programming information B, including the number of chips to be programmed and the programming order in the B-specification board.
[0039] S12. Obtain the first programming address from the server and program the first programming address to the first programming chip, wherein the first programming chip is the first programming chip in the target board.
[0040] Typically, the MAC address of a chip is assigned by a server. In this embodiment, after entering the programming process, the programming device downloads the first programming address from the server to perform the programming operation corresponding to the first chip to be programmed. After obtaining the first programming address, the programming device determines the first chip to be programmed corresponding to the first programming address based on the first programming information. This chip is the first chip in the programming sequence, and then the first programming address is programmed into this chip.
[0041] S13. Perform the first operation: Based on the programming order, determine the next chip to be programmed after the current programmed chip has been programmed; combine the first programming address with the address of the current programmed chip and the preset rules to generate the next programming address, and program the next programming address to the next chip to be programmed.
[0042] In this embodiment, the first programming address corresponding to the first chip to be programmed is downloaded from the server by the programming device according to the programming order. After the address programming of the first chip to be programmed is completed, the address programming process of the remaining chips is completed sequentially according to the programming order. During this process, the programming addresses corresponding to the remaining chips are all generated by the programming device according to preset rules. The logic for generating the next programming address based on the address of the currently programmed chip and the preset rules is as follows: starting from the first programming address that has already been programmed, and combining the programming order, the previous programmed address is incremented by one, and this incremented address is used as the next programming address for the next chip to be programmed.
[0043] S14. Repeat the first operation above until the address programming of all chips in the target board is completed.
[0044] Specifically, assuming there are three chips to be programmed on the target board, taking XX21 as the first programming address as an example: After the programming device programs XX21 into the first chip, XX21 becomes the previously programmed address. Incrementing XX21 by 1 yields XX22, which becomes the next programming address for the next chip to be programmed. Following the programming order, XX22 is programmed into the second chip. Then, XX22 becomes the previously programmed address. Incrementing XX22 by 1 yields XX23, which becomes the next programming address for the next chip to be programmed. Following the programming order, XX23 is programmed into the third chip, thus completing the address programming process for all chips on the board.
[0045] In summary, the programming device can obtain the first programming information, retrieve the first programming address corresponding to the first chip from the server, and complete the address programming for the first chip to be programmed. Then, starting from this first programming address, according to the programming order of the chips to be programmed in the first programming information, it generates the next programming address for the next chip and completes the corresponding address programming action. This process is repeated until the address programming of all chips in the target chip is completed.
[0046] During the address programming process of the target board, the programming device only needs to communicate with the server once to obtain the first programming address. Then, the programming device can generate the programming addresses corresponding to the other chips to be programmed, except for the first chip to be programmed, based on the first programming address and the programming order. There is no need to communicate with the server again to obtain the programming addresses of the other chips to be programmed. This reduces the number of serial communication between the programming device and the server, reduces the server load, and reduces the risk of programming interruption due to server response delay or failure.
[0047] Furthermore, this solution generates the programming address of the next chip using a simple address increment logic, resulting in simple logic and significantly reducing the risk of address conflicts. It also has no limit on the number of chips to be programmed on the target board; the programming address of each chip on the board can be determined based on the first programming address and preset rules, and the generated programming address for each chip is unique, ensuring address uniqueness.
[0048] In addition, this solution is highly flexible. For different boards, only the relevant data needs to be changed in the first programming information, including modifying the chip name and the number of chips. The programming device will generate the programming addresses of the remaining chips in sequence based on the first programming address and complete the corresponding programming actions until the addresses of all chips are programmed. There is no need to make complex settings or adjustments to the programming device.
[0049] In some embodiments, the first programming information further includes a verification identifier, which is used to verify the uniqueness of the programming address before programming the programming address to the corresponding chip.
[0050] For example, in some embodiments, the verification identifier can be the address broadcast type of the chip to be programmed. Based on this, before programming the address to the corresponding chip, the programming address of the chip to be programmed can be verified according to the address broadcast type. If it is determined to be unicast (hereinafter referred to as verification pass description), the programming address is programmed to the corresponding chip to be programmed.
[0051] This solution primarily addresses the MAC address programming process for chips. Since MAC address uniqueness is typically required, address programming usually employs unicast transmission to ensure the address is programmed into the correct and unique chip. Therefore, the initial programming information includes the address broadcast type of the chip to be programmed as unicast (multicast is also possible in some special cases), providing feasibility for subsequent unicast verification. Based on this, before programming the address into the corresponding chip, the programming device can verify whether the address to be programmed is unicast by checking the address broadcast type. If the verification passes, the address can be programmed into the corresponding chip. Verifying that the transmitted information is unicast prevents multicast information from being mistakenly identified as the address to be programmed and incorrectly programmed into the chip, thus improving the fault tolerance of the programming process.
[0052] In some embodiments, the designer can prepare a corresponding programming file (containing first programming information) based on the relevant information of the target board, and the programming device can compile the programming software based on the programming file. In this way, when the programming device runs the programming software, it can automatically obtain the first programming information, such as the number and programming order of the chips to be programmed in the target board, so as to combine the data to complete the address generation and programming process later.
[0053] Furthermore, the programming file can be in INI format. The characteristics of the INI format allow the programming file to clearly organize and store addresses and other relevant configuration information. The programming device compiles the programming software based on this INI format programming file, and can then obtain the initial programming information stored within it during software runtime. Moreover, through the programming file, users can easily manage programming-related data. Additionally, as a plain text format, the INI file has a simple structure, high compatibility, and is easy to read.
[0054] This embodiment provides an example of information burned into an INI format burning file:
[0055] [soc]
[0056] count = 1
[0057] type=1
[8152]
[0059] count = 1
[0060] type=1
[0061] [all]
[0062] count = 2
[0063] The meanings in this example, from top to bottom, are as follows: [soc] indicates that the first chip in the target board to be programmed with a MAC address is soc; count = 1 indicates that soc is counted as one chip (or the number of programming addresses corresponding to the chip); type = 1 indicates that the address broadcast type corresponding to the chip (soc) is unicast;
[8152] indicates that the second chip in the target board to be programmed with a MAC address is 8152; count = 1 indicates that 8152 is counted as one chip (or the number of programming addresses corresponding to the chip); type = 1 indicates that the address broadcast type corresponding to the chip (8152) is unicast; [all] indicates the number of chips to be programmed in the target board; count = 2 indicates that the number is 2.
[0064] Figure 2This is a flowchart illustrating another programming method provided in this application embodiment. This method is applied to a server in a programming system. It is understood that the programming device in the programming system supports executing the programming method applied to the programming device in the above embodiments. Figure 1 As shown, the specific methods for programming servers include:
[0065] S21. Obtain the second programming information, which includes the number of chips in the second board and the second programming address. The second board is the previous programmed board of the target board, and the second programming address is the programmed address of the first chip in the second board.
[0066] It is understandable that during the collaboration between the server and the programming device, the first programming address transmitted by the server to the programming device refers to the first programming address of the target board. The server obtains the second programming information by pre-uploading a pre-designed programming file (including the second programming information) to the server and storing it in a database related to address programming. When the server, in conjunction with the programming device, enters the address programming process, it can automatically retrieve the second programming information from the database, thereby obtaining data such as the number of chips in the second board and the second programming address, so as to subsequently generate and transmit the first programming address based on this data.
[0067] For a server, the second board is the preceding board that has already been programmed into the target board. For example, suppose the address programming process for each chip in boards A, B, and C has been completed sequentially, and the address programming process for board D is about to begin. In this case, board D is the target board, and the preceding board that has already been programmed into the target board is board C. The second programming information is the number of chips in board C and the second programming address. In this example, even though boards A and B are programmed boards, they are not the preceding boards that have already been programmed into the target board (board D). Furthermore, the second programming address can be a preset address or the programmed address of the first chip in the second board. Again, using the example of board D as the target board, this second programming address can be a preset address determined in advance by the designer, or it can be the programmed address of the first chip in board C.
[0068] S22. Determine the first programming address based on the number of chips in the second board and the second programming address, or use a preset address as the first programming address, so that when the programming device obtains the first programming address, the first programming address is transmitted to the programming device.
[0069] In this embodiment, in conjunction with the programming method applied to the programming device in the above embodiments, for a single circuit board, the programming device will only obtain the programming address from the server once, namely the first programming address of the target circuit board. Based on this, for the server provided in this embodiment, the specific method for determining the first programming address based on the second programming address and the number of chips in the second circuit board is as follows: obtain the number of chips N in the second circuit board; add N to the second programming address to obtain the first programming address.
[0070] Specifically, assuming the second board (the preceding programmed board of the target board) has 3 chips, the server obtains N as 3. Assuming the designer has not pre-determined the preset address, and XX31 is the programmed address of the first chip in the second board, then the server obtains XX31 as the second programming address. The server adds 3 to XX31 to obtain XX34, which is the first programming address that the server will transmit to the programming device, i.e., the first programming address of the target board. It can be understood that when XX31 is the programmed address of the first chip in the second board, the addresses corresponding to the remaining two chips in the second board will generally be XX32 and XX33. Therefore, the programming method provided in this application embodiment can ensure that the first programming address of the target board will not overlap with the addresses of any chips in the second board; and combined with the above programming method applied to the programming device, it can be seen that the addresses of the remaining chips in the target board will only be larger than the first programming address and will not overlap with the addresses of any chips in the second board, ensuring the uniqueness of the chip addresses. This scheme uses simple addition logic to determine the first programming address, so that the first programming address issued this time differs from the programming address issued in the previous time by N, where N is the number of chips in the second board, thus ensuring that each chip can have a unique address.
[0071] This application provides an embodiment that illustrates a specific programming process. Please refer to... Figure 3 A programming system 100 includes a programming device 11 and a server 12. The programming device 11 supports the programming method for the programming device described in the above embodiments, and the server 12 supports the programming method for the server described in the above embodiments. Assume that there are two boards, A and B, of the same specification that need to be programmed. First, the programming process for board A begins. Board A is the target board, and the first programming information obtained by the programming device is:
[0072] [soc]
[0073] count = 1
[0074] type=1
[8152]
[0076] count = 1
[0077] type=1
[0078] [all]
[0079] count = 2
[0080] The first programming information contains the number and programming order of chips to be programmed in the target board (board A). The programming device requests the first programming address from the server. Assuming the designer has predetermined the preset address as AA:BB:CC:DD:EE:11, the server obtains this preset address and sends it to the programming device via serial port as the first programming address. The programming device verifies whether AA:BB:CC:DD:EE:11 is unicast (type=1) based on the address broadcast type of the SoC chip in the first programming information. If the verification passes, the address is programmed into the first chip to be programmed in board A, i.e., the SoC chip. The programming device then adds 1 to the first programming address AA:BB:CC:DD:EE:11 to obtain AA:BB:CC:DD:EE:12, which is used as the programming address for the next chip to be programmed, namely the 8152 chip. Based on the address broadcast type of the 8152 chip in the first programming information, it verifies whether AA:BB:CC:DD:EE:12 is unicast (type=1). If the verification passes, it is programmed into the 8152 chip of board A. At this point, the address programming process for board A ends, and the programming process for board B begins, with board B as the target board. For the server, since the previous programmed board for the target board (board B) is board A, board A is designated as the second board. The second programming information is obtained, including the number of chips (2) and the second programming address in the second board (board A). The second programming address is the already programmed address AA:BB:CC:DD:EE:11 of the first chip (SoC chip) in the second board (board A). The server adds 2 to the second programming address AA:BB:CC:DD:EE:11 to obtain AA:BB:CC:DD:EE:13, and transmits it as the first programming address via serial port to the programming device. The programming device receives the first programming information.
[0081] [soc]
[0082] count = 1
[0083] type=1
[8152]
[0085] count = 1
[0086] type=1
[0087] [all]
[0088] count = 2
[0089] The first programming information includes the number of chips to be programmed and the programming order in the target board (board B).
[0090] It is understandable that board B and board A are boards of the same specifications. Therefore, the initial programming information obtained by the programming device during the programming process of board A and board B can be exactly the same. The programming device uses the received AA:BB:CC:DD:EE:13 as the first programming address of board B. It verifies whether AA:BB:CC:DD:EE:13 is unicast based on the address broadcast type of the SoC chip in the first programming information. If the verification is successful, the address is programmed into the first chip to be programmed in board B, i.e., the SoC chip. The programming device then adds 1 to the first programming address AA:BB:CC:DD:EE:13 to obtain AA:BB:CC:DD:EE:14, which is used as the programming address for the next chip to be programmed, namely the 8152 chip. The address broadcast type of the 8152 chip in the first programming information is used to verify whether AA:BB:CC:DD:EE:14 is unicast. If the verification passes, it is programmed into the 8152 chip of board B, thus ending the programming process for board B. It is understandable that, since the server has already transmitted the preset address as the first programming address of board A to the programming device during the programming process of board A, to ensure the uniqueness of the chip address, the server cannot transmit the same preset address as the first programming address of board B again during the programming process of board B, unless the designer determines a new preset address. That is, each preset address can be transmitted to the programming device by the server at most once.
[0091] In addition, in some other embodiments, if the address broadcast type corresponding to a chip should be multicast, then in the format of the programming information in the above example, the address broadcast type of the chip should be type=2. Before programming the address of the chip, it can be verified whether its address is broadcast based on the address broadcast type (i.e., based on type=2).
[0092] Please combine Figure 4 This application provides a programming device 110, including a first programming information acquisition module 111, a first programming module 112, a second programming module 113, and a programming control module 114.
[0093] Specifically, the first programming information acquisition module 111 can acquire first programming information, which includes the number of chips to be programmed in the target board and the programming order, wherein the number is greater than or equal to two.
[0094] The first programming module 112 can obtain the first programming address from the server and program the first programming address to the first chip to be programmed, which is the first chip to be programmed in the target board.
[0095] The second programming module 113 can perform the first operation: according to the programming order, determine the next chip to be programmed after the currently programmed chip; combining the first programming address, generate the next programming address according to the address of the currently programmed chip and preset rules, and program the next programming address to the next chip to be programmed. The programming control module 114 can control the second programming module 113 to repeatedly perform the first operation until the address programming of all chips in the target board is completed.
[0096] It should be noted that the above-described programming device can execute the programming method for programming devices provided in the embodiments of this application, and has the corresponding functional modules and beneficial effects of the method. Technical details not described in detail in the programming device embodiments can be found in the programming method for programming devices provided in the embodiments of this application.
[0097] Please combine Figure 5 This application provides a server 120, including a second programming information acquisition module 121 and a first programming address determination module 122.
[0098] Specifically, the second programming information acquisition module 121 can acquire second programming information, which includes the number of chips in the second board and the second programming address. The second board is the previous programmed board of the target board, and the second programming address is the programmed address of the first chip in the second board.
[0099] The first programming address determination module 122 can determine the first programming address based on the second programming address and the number of chips in the second board, or use a preset address as the first programming address so that when the programming device obtains the first programming address, it can transmit the first programming address to the programming device.
[0100] It should be noted that the above-described server can execute the programming method for servers provided in the embodiments of this application, and has the corresponding functional modules and beneficial effects of the method. Technical details not described in detail in the server embodiments can be found in the programming method for servers provided in the embodiments of this application.
[0101] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. (In conjunction with...) Figure 6 This application provides an electronic device 300, which includes at least one processor 301 and a memory 302. Figure 6 The example uses a processor 301 and a memory 302.
[0102] Processor 301 and memory 302 can be connected via a bus or other means. Figure 6 Taking the example of a connection between China and Israel via a bus.
[0103] The memory 302, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules, such as the program instructions / modules corresponding to the burning method applied to the burning device or the burning method applied to the server in the embodiments of this application. The processor 301 executes various functional applications and data processing of the solid-state drive by running the non-volatile software programs, instructions, and modules stored in the memory 302, thereby implementing the burning method applied to the burning device or the burning method applied to the server in the above method embodiments.
[0104] The memory 302 may include a program storage area and a data storage area, wherein the program storage area may store the operating system and application programs required for at least one function. Furthermore, the memory 302 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 302 may optionally include memory remotely located relative to the processor 301.
[0105] One or more modules are stored in memory 302, and when executed by one or more processors 301, the burning method in any of the above method embodiments is executed.
[0106] The above-described product can execute the programming method for programming devices or servers provided in the embodiments of this application, and has the corresponding functional modules for executing the method. Technical details not described in detail in this embodiment can be found in the programming method for programming devices or servers provided in the embodiments of this application.
[0107] The device / system embodiments described above are merely illustrative. 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 modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0108] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented using software and a general-purpose hardware platform, or of course, using hardware. Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.
[0109] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and not to limit them; under the concept of this application, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of this application as described above, which are not provided in detail for the sake of brevity; although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. A programming method, applied to a programming device in a programming system, characterized in that, The programming system also includes a server, and the method includes: Obtain first programming information, which includes the number and programming order of chips to be programmed in the target board, wherein the number is greater than or equal to two; Obtain a first programming address from the server and program the first programming address to a first chip to be programmed, wherein the first chip to be programmed is the first chip to be programmed in the target board. Perform the first operation: According to the programming order, determine the next chip to be programmed after the current programmed chip has been programmed; combine the first programming address with the address of the current programmed chip and a preset rule to generate the next programming address, and program the next programming address to the next chip to be programmed. Repeat the first operation until the address programming of all chips in the target board is completed.
2. The method according to claim 1, characterized in that, The step of generating the next programming address based on the address of the currently programmed chip and preset rules includes: Starting from the first programming address that has already been programmed, and in accordance with the programming order, the previous programmed address is incremented by one to become the next programming address for the next chip to be programmed.
3. The method according to claim 1, characterized in that, The first programming information also includes a verification identifier, which is used to verify the uniqueness of the programming address before programming the programming address to the corresponding chip.
4. The method according to claim 3, characterized in that, The verification identifier is the address broadcast type of the chip to be programmed, and the method further includes: Based on the address broadcast type, verify whether the programming address of the chip to be programmed is unicast; If the programming address of the chip to be programmed is determined to be unicast, the programming address is programmed to the corresponding chip.
5. A programming method, applied to a server in a programming system, characterized in that, The programming system further includes a programming device, and the method includes: Obtain the second programming information, which includes the number of chips in the second board and the second programming address. The second board is the previous programmed board of the target board, and the second programming address is the programming address of the first chip in the second board. The first programming address is determined based on the number of chips in the second board and the second programming address, or a preset address is used as the first programming address, so that when the programming device obtains the first programming address, the first programming address is transmitted to the programming device.
6. The method according to claim 5, characterized in that, Determining the first programming address based on the second programming address and the number of chips in the second board includes: Obtain the number of chips N in the second board, where N is a positive integer; Add N to the second programming address to obtain the first programming address.
7. A programming device, characterized in that, include: The first programming information acquisition module is used to acquire first programming information, which includes the number and programming order of chips to be programmed in the target board, wherein the number is greater than or equal to two. The first programming module is used to obtain a first programming address from the server and program the first programming address to a first chip to be programmed, wherein the first chip to be programmed is the first chip to be programmed in the target board. The second programming module is used to perform the first operation: according to the programming order, determine the next chip to be programmed after the current programmed chip has been programmed; combine the first programming address, generate the next programming address according to the address of the current programmed chip and a preset rule, and program the next programming address to the next chip to be programmed. The programming control module is used to control the second programming module to repeatedly execute the first operation until the address programming of all chips in the target board is completed.
8. A server, characterized in that, include: The second programming information acquisition module is used to acquire second programming information, which includes the number of chips in the second board and the second programming address. The second board is the previous programmed board of the target board, and the second programming address is the programming address of the first chip in the second board. The first programming address determination module is used to determine the first programming address based on the second programming address and the number of chips in the second board, or to use a preset address as the first programming address, so as to transmit the first programming address to the programming device when the programming device obtains the first programming address.
9. An electronic device, characterized in that, include: At least one processor and memory; The memory is coupled to the processor and is used to store instructions or programs. When the instructions or programs are executed by the at least one processor, the at least one processor performs the programming method as described in any one of claims 1-4, or performs the programming method as described in any one of claims 5-6.