Burner, burning system and burning method

By designing a burner and burner system that can realize the burner and the memory chip through a burner interface of the main control chip, the problems of low chip burning efficiency and poor versatility in the existing technology are solved, and efficient, universal and cost-saving burner effects are achieved.

CN120066527APending Publication Date: 2025-05-30GIGADEVICE SEMICON (BEIJING) INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311623103.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-30
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

The existing chip burning technology is inefficient and has poor versatility. It requires frequent replacement of burning tools and configuration interfaces, which are prone to human negligence and wiring errors, resulting in the yield failure.

Method used

Design a burner and burning system to realize burning of the main control chip and the memory chip connected to it through a burning interface of the main control chip. It adopts a common solution and does not require a customized burning system, which can save costs and improve burning efficiency.

Benefits of technology

The integrated recording of the main control chip and memory chip is realized, which improves the recording efficiency, reduces material and labor costs, and avoids wiring errors and the complexity of customized systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120066527A_ABST
    Figure CN120066527A_ABST
Patent Text Reader

Abstract

The invention provides a burner, a burning system and a burning method. The burner comprises a main control module, an upper computer communication interface, a burning interface and a storage module, wherein the upper computer communication interface is used for being in communication connection with the main control module and an upper computer; the burning interface is used for being in communication connection with the main control module and a main control chip of target equipment; the storage module is used for storing a first communication protocol between the main control module and the main control chip and a second communication protocol between the main control chip and each to-be-burnt storage chip of the target equipment. Through cooperation of the upper computer communication interface, the main control module and the burning interface, the burner can burn a part of to-be-burnt data to the main control chip, and burn the other part of to-be-burnt data to each to-be-burnt storage chip through the main control chip. Burning of the main control chip and the storage chip connected with the main control chip can be achieved only through one burning interface of the main control chip, universality is good, a burning system does not need to be customized, material resource cost and labor cost can be remarkably saved, and burning efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of chip programming, and particularly to a programmer, a programming system and a programming method. Background Art

[0002] With the rapid development of integrated circuits and related technologies, embedded electronic products, due to their characteristics such as high efficiency, stability, reliability, intelligence and excellent energy efficiency, have gradually penetrated into all walks of life and all aspects of people's lives, such as consumer electronics, telecommunications, medical, security and smart home, etc., playing an increasingly important role. Embedded electronic products usually include main control chips such as MCU (Micro controller Unit) and MPU (MicroProcessor Unit), and storage chips such as Nor Flash (also known as NOR flash memory), NAND Flash, EEPROM (Electrically Erasable Programmable read only memory). Along with the diversification and intelligence of the development of embedded electronic products, different embedded electronic products, or even between the main control chip and different storage chips, usually need to adopt different communication protocols, and have different requirements for programming speed. Therefore, the demand for chip programming is also becoming more and more diversified. For example, when there are a main control chip and multiple different storage chips connected to the main control chip that all need to be programmed with data, different programming tools need to be replaced correspondingly to perform the corresponding data programming respectively. In the prior art, the more commonly used programming methods mainly include the following several kinds:

[0003] (1) Bare die programming, that is, the chip directly enters the programming process after the packaging and testing process is completed, or the chip is programmed before being mounted on the circuit board. This method requires the use of an automatic programmer, which not only has a high cost, but also requires additional processes during the mounting process to prevent the programming data in the chip from being damaged.

[0004] (2) In-system programming (ISP), that is, after the chip is mounted on the PCB board, the main control chip and various storage chips are programmed separately. When programming in this way, it is usually necessary to frequently unplug or replace the interface terminals, and frequently prepare and configure the programming data. This programming method is not only inefficient, but also extremely prone to human errors such as wiring errors and loading the wrong program, which is very likely to result in unqualified yield.

[0005] (3) The custom burning system burning method, that is, burning is performed through a customized burning system according to the product application design situation. This method requires separately customizing the downloaded system and process for different designs and applications of the product. However, customizing the burning system according to the product not only increases the R & D cycle and cost, but also requires re-customizing the burning system when the product design circuit changes, and the versatility is poor.

[0006] It should be noted that the information disclosed in the background art part of this invention is only intended to deepen the understanding of the general background technology of this invention, and should not be regarded as an admission or any form of suggestion that this information constitutes the prior art known to those skilled in the art. Summary of the Invention

[0007] The main purpose of this invention is to provide a burner, a burning system and a burning method for the problems of low efficiency and poor versatility in chip burning in the prior art. On the one hand, this invention only needs one burning interface of the main control chip to realize the burning of the main control chip and the storage chips connected thereto; on the other hand, this invention has good versatility, does not require customizing the burning system, can significantly save material and labor costs, and thus improves the burning efficiency.

[0008] To achieve the above object, this invention is realized through the following technical solutions: A burner, the burner includes a main control module, and a host computer communication interface, a burning interface and a storage module connected to the main control module; the host computer communication interface is configured to communicatively connect the host computer and the main control module, the burning interface is configured to communicatively connect the main control module and the main control chip of the target device, wherein the target device further includes at least one storage chip to be burned connected to the main control chip; the storage module is configured to store a first communication protocol between the main control module and the main control chip and a second communication protocol between the main control chip and each storage chip to be burned;

[0009] The host computer communication interface is used to receive the data to be burned sent by the host computer;

[0010] The main control module is used to convert the data to be burned into a format adapted to the first communication protocol;

[0011] The burning interface is used to send the converted data to be burned to the main control chip, so as to burn part of the data to be burned to the main control chip correspondingly, and further burn another part of the data to be burned to each storage chip to be burned through the main control chip.

[0012] Optionally, the host computer communication interface is further configured to receive the programming parameter configuration information sent by the host computer; the programming parameter configuration information includes the model of the storage chip to be programmed, the quantity of the storage chips to be programmed, the pin information of each storage chip to be programmed connected to the main control chip, and communication protocol configuration information, and the communication protocol configuration information includes the information of the second communication protocol between the main control chip and each storage chip to be programmed;

[0013] The main control module is configured to obtain the first communication protocol from the memory according to the programming parameter configuration information, and convert the data to be programmed into a format adapted to the first communication protocol according to the first communication protocol;

[0014] The main control module is further configured to send the converted data to be programmed to the main control chip through the programming interface according to the programming parameter configuration information.

[0015] Optionally, the data to be programmed includes a firmware loader and firmware data;

[0016] The programmer is configured to send the converted data to be programmed to the main control chip to load the firmware loader into the main control chip; and then burn the firmware data to each storage chip to be programmed correspondingly through the firmware loader on the main control chip.

[0017] Optionally, the programmer is configured to:

[0018] Receive the firmware loader sent by the host computer through the host computer communication interface, convert the firmware loader into a format adapted to the first communication protocol through the main control module, and then burn it to the main control chip through the programming interface;

[0019] Receive the firmware data corresponding to each storage chip to be programmed through the host computer communication interface, convert the firmware data into a format adapted to the first communication protocol in sequence through the main control module, and then send it to the main control chip through the programming interface, so that the main control chip burns the firmware data to the corresponding storage chip to be programmed through the specified pins in the pin information through the firmware loader;

[0020] Receive the firmware data corresponding to the main control chip sent by the host computer through the host computer communication interface, convert the firmware data into a format adapted to the first communication protocol through the main control module, and then burn it to the main control chip through the programming interface to overwrite the firmware loader.

[0021] Optionally, for each of the to-be-programmed storage chips, before the main control module converts the firmware data corresponding to the to-be-programmed storage chip into a format adapted to the first communication protocol, the main control module is further configured to obtain the corresponding second communication protocol from the storage unit according to the information of the second communication protocol between the main control chip and the to-be-programmed storage chip in the programming parameter configuration information, and configure the main control chip with the second communication protocol.

[0022] Optionally, the main control chip burns the firmware data to the corresponding to-be-programmed storage chip through the pins specified in the pin information through the firmware loading program, including:

[0023] Initializing the to-be-programmed storage chip;

[0024] Erasing the storage block to be written in the to-be-programmed storage chip;

[0025] Dividing the firmware data into at least one firmware data segment according to a preset page size, and sequentially writing the firmware data segments into the storage block to be written;

[0026] Verifying whether the firmware data is correctly written to the to-be-programmed storage chip.

[0027] Optionally, the programmer further includes a download interface connected to the main control module;

[0028] The main control module is further configured to determine whether the second communication protocol in the communication protocol configuration information is stored in the storage module; if not, receive a new second communication protocol through the download interface, and store the received new second communication protocol in the storage module.

[0029] Optionally, the host computer communication interface includes a serial communication interface, an Ethernet communication interface, a USB communication interface or a WIFI communication interface; and / or the programming interface includes an SPI interface, an I2C interface, a JTAG interface, an SWD interface or a UART interface; and / or the download interface connected to the main control module includes an SPI interface, an I2C interface, a JTAG interface, an SWD interface or a UART interface.

[0030] To achieve the above object, the present invention further provides a programming system, which includes a host computer and the programmer according to any one of the above connected to the host computer for communication.

[0031] Optionally, the host computer includes a human-computer interaction device, and the human-computer interaction device is configured to receive the to-be-programmed data, programming parameter configuration information input to the programming system, and feedback programming process and result information.

[0032] To achieve the above object, the present invention further provides a programming method, which is used for the programmer or the programming system described in any one of the above, and the programming method includes:

[0033] Receiving the data to be programmed sent by the host computer;

[0034] Converting the data to be programmed into a format adapted to the first communication protocol;

[0035] Sending the converted data to be programmed to the main control chip, so as to correspondingly program part of the data to be programmed into the main control chip, and further correspondingly program another part of the data to be programmed into each of the storage chips to be programmed through the main control chip.

[0036] Compared with the prior art, the programmer, programming system and programming method provided by the present invention further have the following beneficial effects:

[0037] The programmer provided by the present invention includes a main control module, a host computer communication interface, a programming interface and a storage module connected to the main control module; the host computer communication interface is configured to communicatively connect the host computer and the main control module, the programming interface is configured to communicatively connect the main control module and the main control chip of the target device, wherein the target device further includes at least one storage chip to be programmed connected to the main control chip; the storage module is configured to store the first communication protocol between the main control module and the main control chip and the second communication protocol between the main control chip and each storage chip to be programmed. The host computer communication interface is used to receive the data to be programmed sent by the host computer; the main control module is used to convert the data to be programmed into a format adapted to the first communication protocol; the programming interface is used to send the converted data to be programmed to the main control chip, so as to correspondingly program part of the data to be programmed into the main control chip, and further correspondingly program another part of the data to be programmed into each of the storage chips to be programmed through the main control chip. Thus, on the one hand, the programmer provided by the present invention can realize the programming of the main control chip and the storage chips connected thereto only through one programming interface of the main control chip, thereby realizing integrated programming; on the other hand, the present invention has good versatility, does not require a customized programming system, can significantly save material costs and labor costs, and thus improves the programming efficiency. Further, the programmer provided by the present invention can send the data to be programmed to the main control chip and program the storage chips to be programmed through the main control chip. Therefore, the programmer provided by the present invention can realize offline one-key downloading.

[0038] Since the programming system and method provided by the present invention and the programmer provided by the present invention belong to the same inventive concept, the programming system and method provided by the present invention have at least all the beneficial effects of the programmer provided by the present invention. For specific details, reference can be made to the relevant descriptions of the beneficial effects of the programmer provided by the present invention in the foregoing text. Therefore, the beneficial effects of the programming system and method provided by the present invention will not be elaborated herein one by one. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Figure 1 It is a structural block diagram of a programmer provided by the first embodiment of the present invention;

[0040] Figure 2 It is a schematic structural diagram of a programming system provided by the second embodiment of the present invention;

[0041] Figure 3 It is a schematic flowchart of a programming method provided by the third embodiment of the present invention;

[0042] Among them, the descriptions of the reference numerals are as follows:

[0043] Programmer - 100, Main control module - 110, Host computer communication interface - 120, Programming interface - 130, Storage module - 140, Download interface - 150;

[0044] Host computer - 200, Human - machine interaction device - 210, Target device - 300, Main control chip - 310, Storage chip to be programmed - 320. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0045] To make the objectives, advantages and features of the present invention clearer, the programmer, programming system and programming method proposed by the present invention will be further described in detail below with reference to the accompanying drawings. It should be noted that the drawings are all in a very simplified form and use non - precise scales, only for conveniently and clearly assisting in explaining the objectives of the embodiments of the present invention. It should be understood that the drawings in the specification do not necessarily show the specific structure of the present invention in proportion, and the illustrative features used to explain certain principles of the present invention in the drawings of the specification will also adopt a slightly simplified drawing method. The specific design features of the present invention disclosed herein, such as specific dimensions, directions, positions and shapes, will be partially determined by the specific application and usage environment. Also, in the embodiments described below, sometimes the same reference numerals are used commonly between different drawings to represent the same part or parts with the same functions, and the repeated description thereof is omitted. In this specification, similar reference numerals and letters are used to represent similar items. Therefore, once an item is defined in one drawing, it does not need to be further discussed in subsequent drawings.

[0046] Where appropriate, these terms used in this way may be replaced. Similarly, if the methods described herein include a series of steps, and the order of these steps presented herein is not necessarily the only order in which these steps can be performed, and some of the described steps may be omitted and / or some other steps not described herein may be added to the method.

[0047] In addition, it should be understood that when an element is referred to as "connected to" or "coupled to" another element, it can be directly connected to the other element, or there may be intervening elements. In contrast, when an element is referred to as "directly connected to" another element, there are no intervening elements.

[0048] To facilitate a better understanding of the present invention, before providing a detailed description of the programmer, programming system, and programming method provided by the present invention, the main research process and core idea of the present invention are briefly described as follows:

[0049] In the related art, one of the more common types of programmers is the MCU programmer. Its basic principle is to program through interfaces such as JTAG (Joint Test Action Group), SWD (Serial Wire Debug), and UART (Universal Asynchronous Receiver / Transmitter). Each programming can only program the MCU and cannot program other storage chips. Another relatively common programmer is the storage chip programmer. Its basic principle is to program through communication protocols such as SPI (Serial Peripheral Interface), I2C (Inter-Integrated Circuit), and parallel ports. It is necessary to electrically connect the communication interfaces of the storage chip programmer and the storage chip to be programmed respectively before programming. This method requires designing an additional interface for the storage chip to be programmed and has the potential risk of ESD (Electro-Static discharge). Thus, especially when there are a main control chip and several storage chips in the target device that all need to be programmed, no matter which of the above programmers is used, the programming work cannot be completed with a single connection.

[0050] Based on the above research, the core idea of the present invention is to provide a programmer, a programming system and a programming method. The programmer provided by the present invention only needs a programming interface connected to a main control chip (such as an MCU) to simultaneously program the main control chip and other storage chips connected thereto; moreover, the programmer provided by the present invention does not require the programming interface and the storage chip to be directly electrically connected. Through the programming interface of the main control chip connected to the storage chip, multiple storage chips can be programmed. All storage chips are integrally programmed through the programming interface of the main control chip, which can not only significantly improve the programming efficiency, but also eliminate the ESD hazard without designing an additional programming interface. Further, the programmer provided by the present invention can customize the connection pins and models of the storage chip and the main control chip, and can realize the customized programming of the storage chip.

[0051] To implement the above idea, the first embodiment of the present invention provides a programmer. Specifically, please refer to Figure 1 , from Figure 1 It can be seen that the programmer provided in this embodiment includes a main control module 110, and a host computer communication interface 120, a programming interface 130, and a storage module 140 connected to the main control module 110; the host computer communication interface 120 is configured to communicatively connect the host computer 200 and the main control module 110, and the programming interface 130 is configured to communicatively connect the main control module 110 and the main control chip 310 of the target device 300. Among them, the target device 300 further includes at least one storage chip 320 to be programmed connected to the main control chip 310; the storage module 140 is configured to store a first communication protocol between the main control module 110 and the main control chip 310 and a second communication protocol between the main control chip 310 and each storage chip 320 to be programmed. Specifically, the host computer communication interface 120 is used to receive the data to be programmed sent by the host computer 200; the main control module 110 is used to convert the data to be programmed into a format adapted to the first communication protocol; the programming interface 130 is used to send the converted data to be programmed to the main control chip 310, so as to correspondingly program part of the data to be programmed into the main control chip 310, and further through the main control chip 310, correspondingly program another part of the data to be programmed into each storage chip 320 to be programmed.

[0052] With such a setting, on the one hand, for the programmer 100 provided by the present invention, only one programming interface 130 of the main control chip 310 is required to achieve the programming of the main control chip 310 and the storage chips connected thereto, thus realizing integrated programming. On the other hand, the present invention has good versatility and does not require a customized programming system, which can significantly save material costs and labor costs, thereby improving the programming efficiency. Further, the programmer 100 provided by the present invention can send the data to be programmed to the main control chip 310 and program the storage chip 320 to be programmed through the main control chip 310. Therefore, the programmer 100 provided by the present invention can achieve offline one-key download.

[0053] Specifically, the present invention does not limit the specific form of the programmer 100. For example, in some embodiments, the programmer 100 provided by the present invention may be an independent device for data programming of the main control chip 310 and the storage chips 320 to be programmed for various target devices 300. In other embodiments, the programmer 100 provided by the present invention may also be integrated into any electronic device to perform corresponding data programming based on the program data of the electronic device itself.

[0054] It should be noted that those skilled in the art should be able to understand that the present invention does not limit the implementation manner of the main control module 110. In some embodiments, it may be implemented in a hardware manner; in other embodiments, it may be implemented in a software manner; preferably, it may be implemented in a combination of software and hardware. Specifically, the hardware part of the main control module 110 may be a processor, and the processor includes but is not limited to a central processing unit (CPU), and may also be other general-purpose processors, 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. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The main control module 110 is the control center of the electronic device and connects various parts of the entire electronic device through various interfaces and lines. Similarly, the present invention does not limit the storage module 140 either. The storage module 140 may be a signal medium readable by the main control module 110 or a storage medium readable by the main control module 110. Specific examples thereof include but are not limited to electrical connections having one or more wires, portable computer hard disks, hard disks, optical storage devices, magnetic storage devices, or any suitable combination of the above.

[0055] Preferably, the host computer communication interface 120 of the programmer 100 provided by the present invention includes, but is not limited to, a serial communication interface, an Ethernet communication interface, a USB communication interface, or a WIFI communication interface. Thus, the programmer provided by the present invention can be applicable to host computers 200 of various communication interface types, having excellent versatility. Specifically, for more detailed content about the serial communication interface, the Ethernet communication interface, the USB communication interface, or the WIFI communication interface, please refer to the related technologies well-known to those skilled in the art. Due to space limitations, it will not be elaborated here.

[0056] Preferably, the programming interface 130 of the programmer 100 provided by the present invention includes, but is not limited to, an SPI interface, an I2C interface, a JTAG interface, an SWD interface, or a UART interface. Thus, the programmer provided by the present invention can be applicable to the main control chip 310 of the target device 300 with various programming interfaces 130, which can further improve the versatility of the programmer 100 provided by the present invention.

[0057] It should be noted that, as can be understood by those skilled in the art, the above descriptions of the host computer communication interface 120 and the programming interface 130 are only exemplary descriptions and not limitations of the present invention. In other embodiments, the host computer communication interface 120 and the programming interface 130 can also be other communication interfaces other than the above exemplary communication interfaces. For example, taking the host computer communication interface 120 as an example, it can be flexibly selected according to various factors such as the communication distance, cost, and power consumption between the host computer 200 and the programmer 100, such as communication methods like WIFI, Zigbee, 4G / 5G, Lora, NB-IOT, Blue-Tooth, and Ethernet, as long as the communication connection between the host computer 200 and the main control module 110 can be achieved. Here, it will not be elaborated one by one.

[0058] Correspondingly, as can be understood by those skilled in the art, the main control module 110 is used to convert the data to be programmed into a format adapted to the first communication protocol. Specifically, it converts the data to be programmed received by the main control module 110, which exists in a format adapted between the host computer 200 and the main control module 110, into a format adapted to the first communication protocol. For example, if USB interface communication is used between the host computer 200 and the main control module 110, and JTAG interface is used between the main control module 110 and the main control chip 310. Then, the main control module 110 is used to convert the data to be programmed into a format adapted to the first communication protocol. Specifically: the main control module 110 sends the data to be programmed that conforms to the USB communication protocol to the main control module 110 through the host computer 200, and the main control module 110 converts the data to be programmed into data to be programmed adapted to the JATG communication protocol. It should be noted that those skilled in the art should be able to understand that the main control module 110 only performs format conversion on the data to be programmed and does not change the data to be programmed itself.

[0059] Furthermore, it should be noted that those skilled in the art should be able to understand that the present invention does not limit the specific type of the main control chip 310 either. Exemplarily, specific examples of the main control chip 310 include but are not limited to various logic devices such as MCUs, FPGAs, DSPs, CPLDs, etc. Further, the specific application of the main control chip 310 is not limited either. The main control chip 310 can be applied to, including but not limited to, battery management systems, data acquisition systems, and so on. Similarly, it can be understood that the present invention does not limit the specific type of the storage chip 320 to be programmed. Specific examples of the storage chip 320 to be programmed include but are not limited to various storage devices such as eMMC, UFS (Universal Flash Storage), nand-Flash, SPI-Flash, EEPROM (Electrically Erasable Programmable Read-Only Memory), etc.

[0060] The programmer 100 provided by the present invention stores a first communication protocol between the main control module 110 and the main control chip 310 on its storage module 140. With such a setting, it lays a foundation for the main control module 110 to convert the data to be programmed into a format adapted to the first communication protocol between the main control module 110 and the main control chip 310, and it is more convenient to correctly and completely send the data to be programmed to the main control chip 310. Further, a second communication protocol between each of the storage chips 320 to be programmed is also stored on the storage module 140, laying a foundation for programming the data to be programmed into the storage chips 320 to be programmed correspondingly through the main control chip 310. Specifically, the number of the first communication protocols stored on the storage module 140 is only directly related to the types of the second communication protocols adopted by the main control chip 310 and the storage chips 320 to be programmed, as long as it can cover the types of the second communication protocols between the main control chip 310 and the storage chips 320 to be programmed. In other words, the total number of the second communication protocols stored in the storage module 140 in the programmer 100 provided by the present invention can be greater than or equal to the types corresponding to the second communication protocols between the main control chip 310 and the storage chips 320 to be programmed, and it has no direct relation with the number of the storage chips 320 to be programmed. For example, if the storage module 140 of the programmer 100 in one example stores three types of second communication protocols, namely SPI, I2C, and UART. Then this programmer 100 can be applied to a target device 300 having 4 storage chips 320 to be programmed and the communication protocol between each storage chip 320 to be programmed and the main control chip 310 is SPI, and it can also be applied to a target device 300 having 2 storage chips to be programmed, where the communication protocol between one storage chip 320 to be programmed and the main control chip 310 is SPI and the communication protocol between the other storage chip 320 to be programmed and the main control chip 310 is I2C.

[0061] Taking the target device 300 as a PCB board for example, those skilled in the art should be able to understand that after the PCB board to be programmed is determined, the main control chip 310 on the PCB board, the pin connection relationship between the main control chip 310 and each storage chip 320 to be programmed, and the second communication protocol are also determined. Therefore, by using the programmer 100 provided by the present invention, there is no need to make additional electrical connections for programming the storage chips 320 to be programmed, which not only saves material costs and labor costs, improves the programming efficiency, but also can significantly reduce the risk of the programmed data in the chip being damaged due to the additional electrical connection process.

[0062] Preferably, in some exemplary embodiments, the host computer communication interface 120 is further configured to receive the programming parameter configuration information sent by the host computer 200. The programming parameter configuration information includes the model of the memory chip 320 to be programmed, the number of the memory chips 320 to be programmed, the pin information of each memory chip 320 to be programmed connected to the main control chip 310, and the communication protocol configuration information. The communication protocol configuration information includes the information of the second communication protocol between the main control chip 310 and each memory chip 320 to be programmed. Correspondingly, the main control module 110 is configured to obtain the first communication protocol from the memory according to the programming parameter configuration information, and convert the data to be programmed into a format adapted to the first communication protocol according to the first communication protocol; the main control module 110 is further configured to send the converted data to be programmed to the main control chip 310 through the programming interface 130 according to the programming parameter configuration information.

[0063] Thus, the programmer 100 provided by the present invention can send the model of the memory chip 320 to be programmed, the number of the memory chips 320 to be programmed, the pin information of each memory chip 320 to be programmed connected to the main control chip 310, and the communication protocol configuration information (including the information of the second communication protocol between the main control chip 310 and each memory chip 320 to be programmed) to the main control module 110 through the host computer 200 according to the actual programming requirements, so that the main control module 110 can correspondingly program each memory chip 320 to be programmed through the main control chip 310 according to the above programming parameter configuration information. Thus, the custom programming of the type of the main control chip 310 and the IO ports and communication protocols of the memory chips 320 to be programmed connected thereto is realized, and the versatility of the programmer 100 provided by the present invention is further improved. By using the programmer 100 provided by the present invention, the programming or updating of different types of main control chips 310 and multiple memory chips 320 to be programmed connected thereto can be realized only through one programming interface 130 of the main control chip 310.

[0064] It should be noted that, as can be understood by those skilled in the art, although at least one type of second communication protocol between the main control chip 310 and the storage chip 320 to be programmed is stored in the storage module 140 of the programmer 100, the pin information (connection pins) between the main control chip 310 and each storage chip 320 to be programmed belongs to the programming parameter configuration information and needs to be sent to the main control chip 310 before the main control chip 310 programs the storage chip 320 to be programmed, so that the main control chip 310 can burn the firmware data to the storage chip 320 to be programmed through the corresponding IO pins. Therefore, before programming, the corresponding connection pins can be configured through the host computer 200. Exemplarily, the model of the main control chip 310 and the communication mode between the main control chip 310 and the storage chip 320 to be programmed are configured through the operation interface of the host computer 200. For example, if the communication mode is selected as the SPI mode, 4 pins need to be configured at this time, namely SPI0_NSS / SPI0_SCK / SPI0_MISO / SPI0_MOSI. If the pins connected to the main control chip 310 are PA4 / PA5 / PA6 / PA7 respectively, SPI0_NSS / SPI0_SCK / SPI0_MISO / SPI0_MOSI can be set to the corresponding pins PA4 / PA5 / PA6 / PA7 respectively through the operation interface of the host computer 200.

[0065] Preferably, in some exemplary embodiments, the data to be programmed includes a firmware loader and firmware data. Correspondingly, the programmer 100 is configured to send the converted data to be programmed to the main control chip 310 to load the firmware loader into the main control chip 310; thereby, the firmware data is programmed to each storage chip 320 to be programmed through the firmware loader on the main control chip 310.

[0066] It should be noted that the present invention does not limit the specific type of the firmware data. Specific examples of the firmware data include, but are not limited to, one or more of the code of an executable program, hardware configuration information, and user data. As mentioned above, the present invention does not limit the specific type of the storage chip 320 to be programmed. Exemplarily, a Flash memory is often used to store the code of an executable program and cannot be modified during operation. An EEPROM memory is usually used to store hardware configuration information, such as chip numbers, date codes, and serial numbers; it can also store user data, such as alarm settings, which can be changed during operation. Therefore, by using the programmer 100 provided by the present invention, the executable program can be programmed to the Flash memory located in the same target device 300 as the main control chip 310, and the hardware configuration information can be programmed to the EEPROM memory located in the same target device 300 as the main control chip 310.

[0067] More specifically, in some exemplary embodiments, the programmer 100 is configured to perform the following operations:

[0068] SA1: Receive the firmware loader sent by the host computer 200 through the host computer communication interface 120, convert the firmware loader into a format adapted to the first communication protocol through the main control module 110, and then burn it to the main control chip 310 through the programming interface 130;

[0069] SA2: Receive the firmware data corresponding to each to-be-programmed storage chip 320 through the host computer communication interface 120, sequentially convert the firmware data into a format adapted to the first communication protocol through the main control module 110, and then send it to the main control chip 310 through the programming interface 130, so that the main control chip 310 burns the firmware data to the corresponding to-be-programmed storage chip 320 through the pins specified in the pin information through the firmware loading program;

[0070] SA3: Receive the firmware data corresponding to the main control chip 310 sent by the host computer 200 through the host computer communication interface 120, convert the firmware data into a format adapted to the first communication protocol through the main control module 110, and then burn it to the main control chip 310 through the programming interface 130 to overwrite the firmware loader.

[0071] Thus, the programmer 100 provided by the present invention lays a foundation for burning each to-be-programmed storage chip 320 through the main control chip 310 by first burning the firmware loader to the main control chip 310. After the firmware data is burned to the corresponding to-be-programmed storage chip 320, the main control chip 310 is then burned through the programmer 100 to overwrite the firmware loader, thereby realizing the burning of the main control chip 310 and the to-be-programmed storage chip 320 connected thereto through a programming interface 130 of the main control chip 310 of the target device 300, greatly improving the convenience and efficiency of burning, and is particularly suitable for scenarios where it is necessary to burn the main control chip 310 of the target device 300 and the storage chip connected to the main control chip 310 at the same time.

[0072] Specifically, those skilled in the art should be able to understand from the above description that the present invention does not limit the number of storage chips 320 to be programmed. For example, if a target device 300 has 1 main control chip 310 and 3 storage chips connected to the main control chip 310, then, through the programmer 100 provided by the present invention, one, two, or three of the main control chip 310 and these 3 storage chips can be programmed. Of course, it is also possible to only program the main control chip 310. Further, it is not difficult to understand from the above description that in this example, the present invention does not impose too many restrictions on the second communication protocol between the main control chip 310 and these 3 storage chips. The same second communication protocol can be adopted, completely different communication protocols can be adopted, and some of the storage chips can adopt relevant communication protocols. For example, in some embodiments, the same communication protocol can be adopted between the main control chip 310 and these 3 storage chips. For example, all 3 storage chips are connected to the main control chip 310 using the SPI interface. In other embodiments, 2 of the storage chips can be connected to the main control chip 310 using the SPI interface, and the other 1 storage chip can be connected to the main control chip 310 using the I2C interface.

[0073] Preferably, in some exemplary embodiments, for each of the storage chips 320 to be programmed, before the main control module 110 converts the firmware data corresponding to the storage chip 320 to be programmed into a format adapted to the first communication protocol, the main control module 110 is further configured to obtain the corresponding second communication protocol from the storage unit according to the information of the second communication protocol between the main control chip 310 and the storage chip 320 to be programmed in the programming parameter configuration information, and configure the second communication protocol for the main control chip 310. Thus, by using the second communication protocol between the main control chip 310 and the storage chip 320 to be programmed in the programming parameter configuration information to configure the main control chip 310, the programmer 100 provided by the present invention not only lays a foundation for the main control chip 310 to program the storage chip 320 to be programmed, but also realizes the custom programming of the chip to be programmed, further improving the convenience and applicability of the programmer 100 provided by the present invention.

[0074] It should be specifically noted that the present invention does not limit the specific implementation manners of the host computer 200 sending data to be burned to the burner 100 and the master control chip 310 burning the storage chip 320 to be burned. For example, in the first implementation manner, as described above, the host computer 200 may first send the firmware loading program to the burner 100. After the burner 100 burns the firmware loading program into the master control chip 310, the firmware data corresponding to each storage chip 320 to be burned is sent one by one, and the firmware data sent later waits until the previous firmware is burned and then sent, so as to realize real-time communication among the host computer 200, the burner 100, and the master control chip 310 to feedback the burning progress information. Different from the first implementation manner, in the second implementation manner, after the burner 100 burns the firmware loading program into the master control chip 310, the host computer 200 sends the firmware data corresponding to all the storage chips 320 to be burned to the burner 100 at one time, and the burner 100 then sends them to the master control chip 310 one by one. Those skilled in the art can draw inferences from one instance, and will not be elaborated here one by one.

[0075] Preferably, in some exemplary implementation manners, the master control chip 310 burns the firmware data to the corresponding storage chip 320 to be burned through the pins specified in the pin information by the firmware loading program, including:

[0076] SB1: Initialization: Initialize the storage chip 320 to be burned;

[0077] SB2: Erase operation: Erase the storage block to be written in the storage chip 320 to be burned;

[0078] SB3: Write operation: Divide the firmware data into at least one firmware data segment according to a preset page size, and sequentially write the firmware data segments into the storage block to be written;

[0079] SB4: Data verification: Verify whether the firmware data is correctly written to the storage chip 320 to be burned.

[0080] Thus, when the burner 100 provided by the present invention burns the chip to be burned through the master control chip 310, it only needs to burn through the firmware loading program sent by the host computer 200, and the whole process does not require manual participation, realizing automatic burning.

[0081] Specifically, first, in step SB1, the storage chip 320 to be burned (such as a Flash memory) is initialized, and the specific content of the initialization is set by the firmware reprinting program. The specific content of the initialization exemplarily includes but is not limited to setting the access mode, block size, page size and other parameters of the storage chip 320 to be burned. Then, the erase operation in step SB2 usually erases the storage block to be written through the erase function, for example, all the storage blocks to be written are written as 0. Taking the Flash memory as an example, its minimum erase unit is block, and the erase function can be called to erase the specified block (i.e., the storage block to be written) to the all-0 state. Then, in step SB3, once the storage block to be written is erased, the firmware data can be written into the storage chip 320 to be burned. Still taking the Flash memory as an example, its minimum programming unit is page page, so it is necessary to divide the written firmware data into multiple Page pages (a block usually includes multiple Pages), and write them one by one into the storage chip 320 to be burned. Specifically, the write function can be used to write the firmware data to the specified page address. Finally, after the data writing is completed, step SB4 performs data verification to ensure the integrity of the data. Specifically, the firmware data in the memory chip 320 to be burned can be read through a read function and compared with the original firmware data to verify the accuracy of the writing.

[0082] Please continue to see Figure 1 In some exemplary embodiments, the writer 100 further includes a download interface 150 connected to the main control module 110. Correspondingly, the main control module 110 is further used to determine whether the storage module 140 stores the second communication protocol in the communication protocol configuration information; if not, a new second communication protocol is received through the download interface 150, and the received new second communication protocol is stored in the storage module 140. Therefore, the writer 100 provided by the present invention further includes a download interface 150, through which the type of the second communication protocol in the storage module 140 can be updated. This open design further improves the applicability of the writer 100 provided by the present invention.

[0083] Preferably, the download interface 150 of the burner 100 provided by the present invention includes but is not limited to an SPI interface, an I2C interface, a JTAG interface, a SWD interface, and a UART interface. Thus, the burner provided by the present invention can be applicable to the update of the second communication protocol in various ways, and has excellent versatility. Specifically, the more detailed contents of the SPI interface, the I2C interface, the JTAG interface, the SWD interface, and the UART interface refer to the related art known to those skilled in the art, which is limited to the length of the article and will not be described here.

[0084] To facilitate a better understanding of the present invention, the following provides an exemplary description of the specific working process when using the programmer 100 provided by the present invention for programming:

[0085] First, confirm the number of storage chips 320 to be programmed on the target device 300, the communication methods (such as SPI / I2C / USART, etc.) between each storage chip 320 to be programmed and the main control chip 310, and the second communication protocol stored in the storage module 140 of the programmer 100;

[0086] Next, confirm whether the current communication protocol between the storage chip 320 to be programmed on the target device 300 and the main control chip 310 is stored in the storage module 140 of the programmer 100. If not, update the second communication protocol adapted to the current communication protocol through the download interface 150 of the programmer 100;

[0087] Then, configure the I / O interfaces for the main control chip 310 of the target device 300 to communicate with each storage chip 320 to be programmed. For example, assume that the target device 300 has a main control chip 310 and three storage chips 320 to be programmed, namely Flash, NAND, and EEPROM, each connected to the main control chip 310 through an SPI interface. Then, the programmer 100 will configure the specific I / Os of the three SPI interfaces. And first, burn the "firmware loader program" into the main control chip 310 (such as an MCU). The host computer 200 sends programming parameter configuration information and data to be programmed to the programmer 100 through the host computer communication interface 120. The programmer 100 parses the data to be programmed received into a communication protocol adapted to the main control chip 310 of the target device 300, and then communicates with the main control chip 310 on the target device 300 through the programming interface 130;

[0088] Then, the host computer 200 sequentially forwards the firmware data of each storage chip 320 on the target device 300 to the main control chip 310 on the target device 300 through the programmer 100. The main control chip 310 of the target device 300 runs the "firmware loader program" at this time to send each received segment of firmware data to the corresponding storage chip 320 through the I / O ports configured by the configured programming parameter configuration information;

[0089] Finally, the host computer 200 burns the firmware data corresponding to the main control chip 310 on the target device 300 into the main control chip 310 on the target device 300 through the programmer 100.

[0090] The second embodiment of the present invention provides a programming system. Specifically, please refer to Figure 2 , which schematically shows the structural diagram of the programming system provided by this embodiment. From Figure 2It can be seen that the programming system provided in this embodiment includes a host computer 200 and the programmer 100 described in any implementation manner of the above embodiments, which is communicatively connected to the host computer 200.

[0091] Since the programming system provided by the present invention includes the programmer 100 provided by the present invention, therefore, the programming system and the programming method provided by the present invention at least have all the beneficial effects of the programmer 100 provided by the present invention. Specifically, reference can be made to the relevant descriptions of the beneficial effects of the programmer 100 provided by the present invention in the above text. Here, the beneficial effects of the programming system provided by the present invention will not be elaborated one by one.

[0092] It should be noted that those skilled in the art should be able to understand that the present invention does not impose excessive limitations on the host computer 200. Exemplarily, the host computer 200 may be, but is not limited to, a desktop computer, a laptop computer, a cloud server, and a mobile device configured with a corresponding application program.

[0093] Preferably, the host computer 200 includes a human-computer interaction device 210, and the human-computer interaction device 210 is configured to receive the data to be programmed, the programming parameter configuration information input to the programming system, and feedback the programming process and result information. Thus, in the programming system provided by the present invention, through the human-computer interaction device 210 of the host computer 200, it is more convenient for the operator to perform the programming operation and know the programming progress, improving the user-friendliness of the programming system provided by the present invention. Specifically, the present invention does not impose any limitations on the human-computer interaction device 210. Exemplarily, the human-computer interaction device 210 includes, but is not limited to, one or more of a keyboard, a display, a touch screen, and a voice input device, etc.

[0094] The third embodiment of the present invention provides a programming method, and the programming method is used for the programmer described in any implementation manner of the above embodiments or the programming system adopted in any implementation manner of the above embodiments. The programming method includes:

[0095] S100: Receive the data to be programmed sent by the host computer;

[0096] S200: Convert the data to be programmed into a format adapted to the first communication protocol;

[0097] S300: Send the converted data to be programmed to the main control chip to correspondingly program part of the data to be programmed into the main control chip, and further correspondingly program another part of the data to be programmed into each of the storage chips to be programmed through the main control chip.

[0098] Since the programming method provided by the present invention and the programmer provided by the present invention belong to the same inventive concept, the programming method provided by the present invention has at least all the beneficial effects of the programmer provided by the present invention. For the specific description, reference can be made to the relevant description of the beneficial effects of the programmer provided by the present invention in the above text. Therefore, the beneficial effects of the programming method provided by the present invention will not be elaborated one by one here.

[0099] Preferably, in some exemplary embodiments, before receiving the data to be programmed sent by the host computer, the programming method further includes:

[0100] Determine the programming parameter configuration information according to the model of the main control chip, the number of the storage chips to be programmed, and the second communication protocol between the main control chip and each of the storage chips to be programmed;

[0101] Receive the programming parameter configuration information through the host computer.

[0102] Preferably, in some exemplary embodiments, before converting the data to be programmed into a format adapted to the first communication protocol, the programming method further includes:

[0103] Judge whether the second communication protocol in the communication protocol configuration information is stored in the storage module; if not, receive a new second communication protocol through the download interface of the programmer, and store the received new second communication protocol in the storage module.

[0104] Since the basic principle of the programming method provided by the present invention is the same as that of the programmer provided by the present invention, due to space limitations, the programming method provided by the present invention will not be elaborated in detail here. For more detailed content of the programming method provided by the present invention, please refer to the relevant content of the programmer provided by the present invention in the above text for adaptive understanding.

[0105] In addition, the terms "first" and "second" are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include at least one of the features. In the description of the present invention, "a plurality" means at least two, such as two, three, etc., unless otherwise specifically defined.

[0106] Compared with the prior art, the programmer, programming system and programming method provided by the present invention further have the following beneficial effects:

[0107] (1). The programmer provided by the present invention can realize the programming of the main control chip and the storage chips connected thereto only through one programming interface of the main control chip, thus realizing integrated programming.

[0108] (2) The burner provided by the present invention only needs to be communicatively connected through its burning interface and the burning interface of the main control chip, without customizing a burning system, and has good versatility, which can significantly save material costs and labor costs, thereby improving the burning efficiency.

[0109] (3) The burner provided by the present invention can send the data to be burned to the main control chip and burn the main control chip and the storage chip to be burned through the main control chip. Using the burner provided by the present invention can achieve offline one-key download.

[0110] (4) The burner provided by the present invention can, according to the actual burning requirements, send the model of the main control chip, the number of storage chips to be burned, and the communication protocol configuration information, where the communication protocol configuration information includes the information of the second communication protocol between the main control chip and each storage chip to be burned, to the main control module through the host computer, so that the main control module can, according to the above-mentioned burning parameter configuration information, burn part of the data to be burned to the main control chip correspondingly, and further burn another part of the data to be burned to each storage chip to be burned through the main control chip correspondingly. Thus, it realizes the custom burning of the type of the main control chip and the IO ports and communication protocols of the storage chips to be burned connected thereto, further enhancing the versatility of the burner provided by the present invention.

[0111] (5) The burner provided by the present invention further includes a download interface, through which the types of the second communication protocol in the storage module can be updated. This open design method further improves the applicability of the burner provided by the present invention.

[0112] Since the burning system and the burning method provided by the present invention and the burner provided by the present invention belong to the same inventive concept, the burning system and the burning method provided by the present invention at least have all the beneficial effects of the burner provided by the present invention. Specifically, reference can be made to the relevant descriptions of the beneficial effects of the burner provided by the present invention in the above text. Therefore, the beneficial effects of the burning system and the burning method provided by the present invention will not be elaborated one by one here.

[0113] In the description of this specification, the description with reference to terms such as "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or more embodiments or examples. In addition, without contradiction, those skilled in the art can combine and combine the different embodiments or examples described in this specification and the features of different embodiments or examples.

[0114] In summary, the above embodiments have described in detail the different configurations of the programmer, programming system, and programming method provided by the present invention. Of course, the above description is only a description of the preferred embodiments of the present invention and does not limit the scope of the present invention in any way. The present invention includes but is not limited to the configurations listed in the above embodiments. Those skilled in the art can draw inferences from the content of the above embodiments. Any changes and modifications made by ordinary technicians in the field of the present invention based on the above disclosure are within the scope of protection of the claims.

Claims

1. A programmer, characterized in that, it includes a main control module, a host computer communication interface, a programming interface, and a storage module connected to the main control module; the host computer communication interface is configured to communicatively connect the host computer and the main control module, the programming interface is configured to communicatively connect the main control module and the main control chip of the target device, wherein the target device further includes at least one storage chip to be programmed connected to the main control chip; the storage module is configured to store a first communication protocol between the main control module and the main control chip and a second communication protocol between the main control chip and each of the storage chips to be programmed; the host computer communication interface is used to receive the data to be programmed sent by the host computer; the main control module is used to convert the data to be programmed into a format adapted to the first communication protocol; the programming interface is used to send the converted data to be programmed to the main control chip, so as to correspondingly program part of the data to be programmed into the main control chip, and further correspondingly program another part of the data to be programmed into each of the storage chips to be programmed through the main control chip.

2. The programmer according to claim 1, characterized in that, the host computer communication interface is further used to receive the programming parameter configuration information sent by the host computer; the programming parameter configuration information includes the model of the storage chip to be programmed, the number of the storage chips to be programmed, the pin information of each storage chip to be programmed connected to the main control chip, and communication protocol configuration information, and the communication protocol configuration information includes the information of the second communication protocol between the main control chip and each of the storage chips to be programmed; the main control module is configured to obtain the first communication protocol from the memory according to the programming parameter configuration information, and convert the data to be programmed into a format adapted to the first communication protocol according to the first communication protocol; the main control module is further used to send the converted data to be programmed to the main control chip through the programming interface according to the programming parameter configuration information.

3. The programmer according to claim 1 or 2, characterized in that, the data to be programmed includes a firmware loading program and firmware data; the programmer is configured to send the converted data to be programmed to the main control chip to load the firmware loading program into the main control chip; so that the firmware data is correspondingly programmed into each of the storage chips to be programmed through the firmware loading program on the main control chip.

4. The programmer according to claim 3, characterized in that, the programmer is configured to: receive the firmware loading program sent by the host computer through the host computer communication interface, convert the firmware loading program into a format adapted to the first communication protocol through the main control module, and then program it into the main control chip through the programming interface; Receiving the firmware data corresponding to each of the to-be-programmed storage chips through the host computer communication interface, and after sequentially converting the firmware data into a format adapted to the first communication protocol through the main control module, sending the firmware data to the main control chip through the programming interface, so that the main control chip burns the firmware data to the corresponding to-be-programmed storage chip through the specified pins in the pin information through the firmware transfer program; Receiving the firmware data corresponding to the main control chip sent by the host computer through the host computer communication interface, and after converting the firmware data into a format adapted to the first communication protocol through the main control module, burning the firmware data to the main control chip through the programming interface to overwrite the firmware loading program.

5. The programmer according to claim 4, characterized in that, For each of the to-be-programmed storage chips, before the main control module converts the firmware data corresponding to the to-be-programmed storage chip into a format adapted to the first communication protocol, the main control module is further configured to, according to the information of the second communication protocol between the main control chip and the to-be-programmed storage chip in the programming parameter configuration information, obtain the corresponding second communication protocol from the storage unit, and configure the main control chip with the second communication protocol.

6. The programmer according to claim 4, characterized in that, The main control chip burning the firmware data to the corresponding to-be-programmed storage chip through the specified pins in the pin information through the firmware transfer program includes: Initializing the to-be-programmed storage chip; Erasing the storage block to be written in the to-be-programmed storage chip; Dividing the firmware data into at least one firmware data segment according to a preset page size, and sequentially writing the firmware data segments into the storage block to be written; Verifying whether the firmware data is correctly written to the to-be-programmed storage chip.

7. The programmer according to claim 2, characterized in that, It further includes a download interface connected to the main control module; The main control module is further configured to determine whether the second communication protocol in the communication protocol configuration information is stored in the storage module; if not, receiving a new second communication protocol through the download interface, and storing the received new second communication protocol in the storage module.

8. The programmer according to any one of claims 1 to 7, characterized in that, The host computer communication interface includes a serial communication interface, an Ethernet communication interface, a USB communication interface or a WIFI communication interface; and / or the programming interface includes an SPI interface, an I2C interface, a JTAG interface, an SWD interface or a UART interface; and / or the download interface connected to the main control module includes an SPI interface, an I2C interface, a JTAG interface, an SWD interface or a UART interface.

9. A programming system, characterized in that, It includes a host computer and a programmer according to any one of claims 1 to 8 communicatively connected to the host computer.

10. The programming system according to claim 9, characterized in that, The host computer includes a human-computer interaction device, and the human-computer interaction device is configured to receive the data to be programmed, the programming parameter configuration information input into the programming system, and feedback the programming process and result information.

11. A programming method, characterized in that, it is used for the programmer according to any one of claims 1 to 8 or for the programming system according to any one of claims 9 to 10, and the programming method includes: receiving the data to be programmed sent by the host computer; converting the data to be programmed into a format adapted to the first communication protocol; sending the converted data to be programmed to the main control chip, so as to correspondingly program part of the data to be programmed into the main control chip, and further correspondingly program another part of the data to be programmed into each of the to-be-programmed storage chips through the main control chip.