CN106933603B - Chip burning method, device and microcontroller - Google Patents
Chip burning method, device and microcontroller Download PDFInfo
- Publication number
- CN106933603B CN106933603B CN201511016315.6A CN201511016315A CN106933603B CN 106933603 B CN106933603 B CN 106933603B CN 201511016315 A CN201511016315 A CN 201511016315A CN 106933603 B CN106933603 B CN 106933603B
- Authority
- CN
- China
- Prior art keywords
- data packet
- burning
- packet
- data
- microcontroller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000003068 static effect Effects 0.000 claims abstract description 89
- 230000005540 biological transmission Effects 0.000 claims description 56
- 238000012795 verification Methods 0.000 claims description 45
- 239000000872 buffer Substances 0.000 claims description 23
- 238000009825 accumulation Methods 0.000 claims description 18
- 230000003139 buffering effect Effects 0.000 claims description 11
- 238000012790 confirmation Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
The invention relates to the technical field of chips, provides a chip burning method, a device and a microcontroller, and aims to solve the problem of low chip burning efficiency in the prior art. The method comprises the following steps: the method comprises the steps that a microcontroller receives a data packet to be burned, which is sent by burning equipment, and caches the data packet in a static memory of the microcontroller; and burning the data packet cached in the static memory into a target memory according to a preset burning unit. The technical scheme provided by the invention uses the data packet as a unit to transmit between the burning device and the microcontroller, and the data packet is stored in the static memory of the microcontroller, and the data packet cached in the static memory is burnt according to the preset burning unit, so that the burning efficiency is effectively improved.
Description
Technical Field
The present invention relates to the field of chip technologies, and in particular, to a method, an apparatus, and a microcontroller for chip burning.
Background
Writing a user application to a target memory of the microcontroller, such as a non-volatile storage medium, is commonly referred to as "burning". How to quickly, efficiently and reliably burn a user program into a microcontroller in a burning process is very important to control production cost and reliability.
Currently, a common method for writing user program data to a microcontroller is to write the user program data in a unit of one byte. When the microcontroller receives one byte of data sent by the burning device through the serial communication interface, the internal burning module is started to burn the one byte of data into the target memory. After one byte of data is successfully burnt, the data of the next byte is received for burning. Repeating the steps until all program data are burnt, reading the burnt data byte by byte to the outside of the microcontroller through the serial communication interface for verification, and checking whether the burnt data are correct.
The recording device needs to wait for the completion of recording the byte after transmitting one byte, so that the transmission efficiency is low, and the recording efficiency is relatively low.
Disclosure of Invention
The invention aims to provide a chip burning method, device and microcontroller, which aim to solve the problem of low chip burning efficiency in the prior art.
In a first aspect of the present invention, a method for burning a chip is provided, including:
the method comprises the steps that a microcontroller receives a data packet to be burned, which is sent by burning equipment, and caches the data packet in a static memory of the microcontroller;
and burning the data packet cached in the static memory into a target memory according to a preset burning unit.
In a second aspect of the present invention, a device for chip burning is provided, including:
the buffer module is used for receiving the data packet to be burnt sent by the burning equipment and buffering the data packet in the static memory of the microcontroller;
and the burning module is used for burning the data packet cached in the static memory into a target memory according to a preset burning unit.
In a third aspect of the invention, there is provided a microcontroller comprising:
the system comprises a burning control module, a static memory and a target memory;
the static memory and the target memory are electrically connected with the burning control module;
the burning control module is used for
Receiving a data packet to be burnt sent by burning equipment, caching the data packet in the static memory, and
and burning the data packet cached in the static memory into the target memory according to a preset burning unit.
Compared with the prior art, the invention has the beneficial effects that: the technical scheme provided by the invention uses the data packet as a unit to transmit between the burning device and the microcontroller, and the data packet is stored in the static memory of the microcontroller, and the data packet cached in the static memory is burnt according to the preset burning unit, so that the burning efficiency is effectively improved.
Drawings
Fig. 1 is a flowchart of a method for chip burning according to an embodiment of the present invention;
fig. 2 is a flowchart of a method for burning a chip according to a second embodiment of the present invention;
fig. 3 is a schematic diagram of a device for chip burning according to a third embodiment of the present invention;
fig. 4 is a schematic diagram of a device for chip burning according to a fourth embodiment of the present invention;
FIG. 5 is a schematic diagram of a microcontroller according to a fifth embodiment of the present invention;
fig. 6 is a schematic diagram of a microcontroller according to a sixth embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present invention more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
The implementation of the present invention is described in detail below with reference to the specific drawings.
Embodiment one:
fig. 1 is a flowchart of a method for chip burning according to an embodiment of the present invention, specifically including steps S101 to S102, which are described in detail below:
s101, the microcontroller receives a data packet to be burnt sent by the burning device, and caches the data packet in a static memory of the microcontroller.
The microcontroller (Microcontroller Unit, MCU) is a single chip microcomputer integrating the main part of the microcomputer on one chip. The static memory of the microcontroller may be SRAM (Static Random Access Memory ).
The burning device can send the data packet to be burned to the microcontroller through the serial communication interface, and the microcontroller caches the data packet in the static memory of the chip after receiving the data packet to be burned.
Specifically, the length and format of the data packet to be burned are predetermined by the burning device and the microcontroller. Preferably, the data length of each data packet may be 128 bytes. Before burning, the burning device divides the whole file to be burned into a plurality of data packets according to the preset length, and then sends the divided data packets to the microcontroller one by one for standby burning.
S102, the data packet cached in the static memory is burnt in the target memory according to a preset burning unit.
The microcontroller reads the cached data packet from the static memory, generates a burning time sequence required by the target memory, and burns the data of the data packet into the target memory according to a preset burning unit.
In particular, the target memory may be a non-volatile storage medium memory such as OTP (One Time Programmable ), MTP (Multiple Time Programmable, multiple time programmable), FLASH, and the like. The preset burning unit may be 1 byte.
It should be noted that, the receiving of the data packet and the burning of the data packet may be performed in a pipeline manner, that is, the previous data packet is burned to the target memory according to a preset burning unit while the current data packet is received. By such a processing method, the burning efficiency can be further improved.
In this embodiment, the data packet is transmitted between the recording device and the microcontroller in units of data packets, and the data packets are stored in the static memory of the microcontroller, and the data packets cached in the static memory are recorded according to a preset recording unit, so that the recording efficiency is effectively improved.
Embodiment two:
fig. 2 is a flowchart of a method for burning a chip according to a second embodiment of the present invention, specifically including steps S201 to S204, which are described in detail below:
s201, the microcontroller receives a data packet to be burned sent by the burning device, and caches the data packet in a first storage area and a second storage area of a static memory of the microcontroller.
The microcontroller (Microcontroller Unit, MCU) is a single chip microcomputer integrating the main part of the microcomputer on one chip. The static memory of the microcontroller may be SRAM (Static Random Access Memory ).
Specifically, the recording device sends the data packet to be recorded to the microcontroller through the serial communication interface, and the length and format of the data packet to be recorded are predetermined by negotiation between the recording device and the microcontroller.
Before burning, the burning device divides the whole file to be burned into a plurality of data packets according to the preset length, and then sends the divided data packets to the microcontroller one by one for standby burning.
Preferably, the data packet may consist of a header, data and a packet check word. Wherein the packet header consists of a 1 byte packet start identifier (e.g., 0x1 b) and a 1 byte packet sequence number; the data length is 128 bytes, the data is divided into 4 32 bytes which are arranged behind a packet head, and a microcontroller can send an acknowledgement bit (Acknowledges) to the burning equipment after receiving 32 bytes of data each time, which indicates that the data is received; the 128 bytes of data are followed by a packet check word, the length of which is 2 bytes, used for transmission check of the data packet.
After receiving a data packet to be burned sent by the burning device, the microcontroller analyzes the packet header of the data packet, and selects a corresponding address according to the packet sequence number in the packet header to cache the data in the SRAM.
Specifically, the data packets with odd packet numbers are stored in a preset first storage area of the SRAM, for example, a bank0 area of the SRAM, and the data packets with even packet numbers are stored in a preset second storage area of the SRAM, for example, a bank1 area of the SRAM.
It should be noted that, the receiving of the data packet to be burned by the microcontroller and the buffering of the data packet to the SRAM may be parallel. The buffering into the SRAM may be performed in a preset buffering unit, which may be 1 byte.
S202, performing transmission verification on the received data packet.
The transmission check is used for verifying whether the data packet received by the microcontroller has transmission errors. The transmission check may be accomplished by a packet check word of the data packet.
Preferably, the data packet may be parity checked according to a packet check word, which is check information generated by the data of the data packet according to a rule of parity check.
Parity checking is performed according to whether the number of '1's in the digits of a group of binary codes to be transmitted is odd or even, and the odd number is called odd check, whereas the even check is called even check, and whether the odd check or the even check is specifically adopted is preset. Specifically, the number of 1's in the digits of the data binary code of the received data packet is made to be odd or even through the packet check word, when the data packet is received, if the odd check is adopted, the number of 1's is checked to be odd, and if the even check is adopted, the number of 1's is checked to be even, so that whether an error occurs in the transmission process of the data packet is judged.
When the transmission check is successful, the data packet is not in error in the transmission process, and the microcontroller can send confirmation information to the burning device through the serial communication interface. Preferably, the acknowledgement information may be an acknowledgement bit (Acknowledge). After receiving the confirmation information, the burning device sends a stop bit (P) to the microcontroller through the serial communication interface, which indicates that the current transmission is finished, and starts the sending of the next data packet to be burned.
When the transmission check fails, the data packet is in error in the transmission process, and the microcontroller can send non-acknowledgement information to the burning device through the serial communication interface. Preferably, the unacknowledged information may be an unacknowledged bit (Not ack). After receiving the non-acknowledgement information, the burning device sends a stop bit (P) to the microcontroller through the serial communication interface, which indicates that the current transmission is finished, and starts retransmission of the current data packet.
It should be noted that, the microcontroller will perform transmission check processing on the same data while sending the data packet to the static memory buffer. Therefore, after the data packet buffering is completed, the transmission verification of the data packet is correspondingly completed, so that the overall time of burning can be reduced, and the burning efficiency is improved.
S203, the data packet cached in the static memory is burnt in the target memory according to a preset burning unit.
The microcontroller reads the cached data packet from the static memory, generates a burning time sequence required by the target memory, and burns the data of the data packet into the target memory according to a preset burning unit.
In particular, the target memory may be a non-volatile storage medium memory, such as OTP, MTP, FLASH, and the like. The preset burning unit may be 1 byte.
It should be noted that, the receiving of the data packet and the burning of the data packet may be performed in a pipeline manner, that is, the previous data packet is burned to the target memory according to a preset burning unit while the current data packet is received. By such a processing method, the burning efficiency can be further improved.
S204, reading the data burnt in the target memory, and carrying out burning verification with the data packet cached in the static memory.
Specifically, after the current data packet is burnt, the microcontroller reads the burnt current data packet from the target memory according to a preset byte unit, checks the current data packet with data cached in the static memory one by one, deletes the data bit which is checked successfully from the corresponding static memory cache, and if all the bit checks pass, the data packet is burnt successfully, otherwise the data packet is burnt failed. When the programming fails, the microcontroller re-writes the programming-failed data buffered in the static memory n times, where n is configurable by the user. If the recording verification is unsuccessful after n times of recording, the recording is considered to be failed.
After receiving the packet header of the next data packet sent by the recording device, the microcontroller feeds back the recording verification result of the current data packet to the recording device through the recording status bit. Preferably, the length of the writing status Bit may be 2 bits (Bit), and 00 indicates that the writing of the current data packet is successful and the verification passes, 11 indicates that the verification after the writing of the current data packet does not pass, and 01 and 10 remain.
In the prior art, when checking, the burnt data needs to be read from the chip to the outside of the chip one by one, and checked with the data stored in the burning equipment, and the reading of the data from the external equipment of the burning equipment needs to take a long time, so that the checking efficiency is relatively low. The burning verification of the embodiment does not need to read the burnt data outside the chip, and the data cached in the static memory and the inside of the chip are directly verified, so that the verification efficiency is improved.
On the other hand, in the prior art, when a certain byte fails to verify, the writing operation, i.e. the writing operation, of the byte needs to be re-executed, and then the byte is read out and verified through the serial communication interface until the byte is successfully written in, so that the target memory is frequently switched between a writing mode and a reading mode, and because the writing mode needs to be added with programming high voltage, the reading mode turns off the programming high voltage, and therefore, the probability of damage of the chip due to the programming high voltage is increased due to frequent switching. In this embodiment, the microcontroller controls the on and off of the enable signal (VPEN) of the programming high voltage (Vp), when the data packet is burned, VPEN is turned on, and when the data packet is burned and checked, VPEN is turned off, so as to reduce the switching frequency of the programming high voltage, and reduce the probability of damage to the chip caused by the programming high voltage.
In the embodiment, the data packet is used as a unit to be transmitted between the recording device and the microcontroller, the data packet is stored in the static memory of the microcontroller, the data packet cached in the static memory is recorded according to a preset recording unit, and meanwhile, the data packet is received and the data packet is recorded according to a pipeline mode, so that the recording efficiency is effectively improved; the data in the static memory and the data in the chip are subjected to burning verification, and the burning data do not need to be read to the outside of the chip for verification, so that the verification efficiency is improved; in the process of programming and checking, the programming high voltage is only turned on when the data packet is programmed, and the programming high voltage is turned off when the data packet is checked, so that frequent switching of a programming high voltage switch is avoided, and the probability of damage of a chip due to the programming high voltage is reduced; errors possibly occurring in the transmission process of the data packet are avoided through transmission verification, so that the reject rate caused by error burning is reduced.
Embodiment III:
fig. 3 is a schematic diagram of a device for chip burning according to the third embodiment of the present invention, and for convenience of explanation, only the parts related to the embodiment of the present invention are shown. The apparatus for chip burning illustrated in fig. 3 may be an execution body of the method for chip burning provided in the first embodiment, which may be a microcontroller or a functional module in the microcontroller. The device for chip burning illustrated in fig. 3 mainly includes: the buffer module 31 and the burning module 32, each function module is described in detail as follows:
the buffer module 31 is configured to receive a data packet to be burned sent by the burning device, and buffer the data packet in the static memory of the microcontroller;
the recording module 32 is configured to record the data packet buffered in the static memory in the target memory according to a preset recording unit.
In the device for burning a chip in this embodiment, the process of implementing the respective functions by each module is referred to the description of the embodiment shown in fig. 1 and is not repeated here.
As can be seen from the device for chip recording illustrated in fig. 3, in this embodiment, the data packet is used as a unit to be transmitted between the recording device and the microcontroller, and the data packet is stored in the static memory of the microcontroller, and the data packet cached in the static memory is recorded according to a preset recording unit, so that the recording efficiency is effectively improved.
Embodiment four:
fig. 4 is a schematic diagram of a device for chip burning according to the fourth embodiment of the present invention, and for convenience of explanation, only the portions related to the embodiments of the present invention are shown. The apparatus for chip burning illustrated in fig. 4 may be an execution body of the method for chip burning provided in the second embodiment, which may be a microcontroller or a functional module in the microcontroller. The device for chip burning illustrated in fig. 4 mainly includes: the buffer module 41, the burning module 42, the burning verification module 43 and the transmission verification module 44 are described in detail as follows:
the buffer module 41 is configured to receive a data packet to be burned sent by the burning device, and buffer the data packet in the static memory of the microcontroller;
the burning module 42 is configured to burn the data packet cached in the static memory into the target memory according to a preset burning unit;
the writing check module 43 is configured to read the data written in the target memory and perform writing check with the data packet cached in the static memory;
and the transmission verification module 44 is configured to perform transmission verification on the received data packet, send acknowledgement information to the recording device when the transmission verification is successful, so that the recording device sends the next data packet to be recorded, and send non-acknowledgement information to the recording device when the transmission verification is failed, so that the recording device retransmits the data packet.
Specifically, the data packet includes a packet sequence number, and the buffer module 41 includes:
a first buffer sub-module 411, configured to buffer the data packet in a first storage area of the static memory of the microcontroller if the packet sequence number of the data packet is an odd number;
the second buffering sub-module 412 is configured to buffer the data packet in the second storage area of the static memory of the microcontroller if the packet number of the data packet is even.
Specifically, the data packet includes a packet check word, and the transmission check module 44 is further configured to perform parity check on the data packet according to the packet check word.
In the device for burning a chip in this embodiment, the process of implementing the respective functions by each module is referred to the description of the embodiment shown in fig. 2 and is not repeated here.
As can be seen from the device for chip recording illustrated in fig. 4, in this embodiment, the data packet is used as a unit to be transmitted between the recording device and the microcontroller, and the data packet is stored in the static memory of the microcontroller, and the data packet cached in the static memory is recorded according to a preset recording unit, and meanwhile, the data packet is received and the data packet is recorded according to a pipeline manner, so that the recording efficiency is effectively improved; the data in the static memory and the data in the chip are subjected to burning verification, and the burning data do not need to be read to the outside of the chip for verification, so that the verification efficiency is improved; in the process of programming and checking, the programming high voltage is only turned on when the data packet is programmed, and the programming high voltage is turned off when the data packet is checked, so that frequent switching of a programming high voltage switch is avoided, and the probability of damage of a chip due to the programming high voltage is reduced; errors possibly occurring in the transmission process of the data packet are avoided through transmission verification, so that the reject rate caused by error burning is reduced.
Fifth embodiment:
fig. 5 is a schematic diagram of the components of the microcontroller provided in the fifth embodiment of the present invention, and only the parts related to the embodiment of the present invention are shown for convenience of explanation. The microcontroller illustrated in fig. 5 may be an execution subject of the method for chip burning provided in the first embodiment. The microcontroller illustrated in fig. 5 includes: a burn control module 51, a static memory 52 and a target memory 53.
The static memory 52 and the target memory 53 are electrically connected to the burning control module 51.
The recording control module 51 is configured to receive a data packet to be recorded sent by the recording device, cache the data packet in the static memory 52 of the microcontroller, and record the data packet cached in the static memory 52 in the target memory 53 according to a preset recording unit.
In the microcontroller in this embodiment, the process of implementing the respective functions of each part is referred to the description of the embodiment shown in fig. 1, and is not repeated here.
As can be seen from the microcontroller illustrated in fig. 5, in this embodiment, the data packet is used as a unit to be transmitted between the recording device and the microcontroller, and the data packet is stored in the static memory of the microcontroller, and the data packet buffered in the static memory is recorded according to a preset recording unit, so that the recording efficiency is effectively improved.
Example six:
fig. 6 is a schematic diagram of the components of a microcontroller provided in the sixth embodiment of the present invention, and only the parts related to the embodiment of the present invention are shown for convenience of explanation. The microcontroller illustrated in fig. 6 may be an execution subject of the method for chip burning provided in the second embodiment. The microcontroller illustrated in fig. 6 includes: a burn-in control module 61, a static memory 62, a target memory 63 and a transmission verification module 64.
The static memory 62, the target memory 63 and the transmission checking module 64 are all electrically connected with the burning control module 61.
The recording control module 61 is configured to receive a data packet to be recorded sent by the recording device, cache the data packet in the static memory 62 of the microcontroller, and record the data packet cached in the static memory 62 in the target memory 63 according to a preset recording unit.
Specifically, the data packet includes a packet number, the static memory 62 includes a first storage area 621 and a second storage area 622, and the burning control module 61 is further configured to buffer the data packet in the first storage area 621 of the static memory of the microcontroller if the packet number of the data packet is odd, and buffer the data packet in the second storage area 621 of the static memory of the microcontroller if the packet number of the data packet is even.
The recording control module 61 is further configured to read the data recorded in the target memory 63, and perform recording verification with the data packet cached in the static memory 62.
The programming control module 61 controls the on and off of the enable signal (VPEN) of the programming high voltage (Vp), and when the data packet is programmed, VPEN is turned on, and when the data packet is programmed and verified, VPEN is turned off, so that the switching frequency of the programming high voltage is reduced, and the probability of damage to the chip caused by the programming high voltage is reduced.
The transmission verification module 64 includes: check word register 641, accumulation check register 642, check byte counter 643, first comparator 644, and second comparator 645.
The check word register 641 and the accumulation check register 642 are electrically connected to the second comparator 645;
the check byte counter 643 is electrically connected to the first comparator 644;
the first comparator 644 is electrically connected to the second comparator 645.
An accumulation check register 642 for receiving data of the data packet from the burning control module 61, accumulating the data into a buffer value of the accumulation check register 642, and triggering the check byte counter 643 to accumulate and count;
a first comparator 644 for comparing the value of the check byte counter 643 with the data amount of the data packet, and driving the second comparator 645 to perform transmission check when the value of the check byte counter 643 is the same as the data amount of the data packet;
the second comparator 645 is configured to compare the buffered value of the accumulation check register 642 with the value of the check word register 641, perform transmission check, send a result of successful transmission check to the recording control module 61 when the buffered value of the accumulation check register 642 is the same as the value of the check word register 641, notify the recording control module 61 to send acknowledgement information to the recording device, so that the recording device sends the next data packet to be recorded, and notify the recording control module 61 to send non-acknowledgement information to the recording device when the buffered value of the accumulation check register 642 is not the same as the value of the check word register 641, so that the recording device retransmits the data packet.
Specifically, the process of the transmission check module 64 for transmission check is described in detail as follows:
the transfer verification of the data packet is in parallel with the buffering of the data packet to the first storage area 621 and the second storage area 622 of the static memory 62. After receiving the data packet sent by the recording device through the serial communication interface, the recording control module 61 sends the data (wdata) of the data packet to the static memory 62 for buffering, and simultaneously sends the same data wdata to the transmission checking module 64.
When the data (wdata) to be buffered is ready, the write enable signal (wen) is asserted, and the burn-in control module 61 buffers wdata to the memory address (waddr) corresponding to the first memory area 621 or the second memory area 622 of the static memory 62, and wen is also used as the input enable signal (enable) of the transfer verification module 64. When the wen signal is valid, the transmission check module 64 triggers an accumulation check action to accumulate the wdata and the buffered value of the accumulation check register 642, the accumulated result is updated to the accumulation check register 642, and meanwhile triggers the check byte counter 643 to increment by 1, and the accumulated result is updated to the check byte counter 643. Taking 128 bytes as an example, when the data of the entire data packet is stored in the static memory 62, the value of the check byte counter 643 is 128, and at this time, the first comparator 644 outputs the valid enable signal (cmp_enable) to drive the second comparator 645, so that the second comparator 645 compares the buffered value of the accumulation check register 642 with the value of the check word register 641, and if the buffered value of the accumulation check register 642 is equal to the value of the check word register 641, the transmission check is successful, otherwise the transmission check fails.
The second comparator 645 feeds back the transmission check result (vrf _result) to the recording control module 61, and the recording control module 61 performs corresponding operations according to the transmission check result of the data packet. If the transmission check is successful, the confirmation information is sent to the recording device, so that the recording device sends the next data packet to be recorded, and if the transmission check is failed, the non-confirmation information is sent to the recording device, so that the recording device starts the data packet retransmission.
In the microcontroller in this embodiment, the process of implementing the respective functions of each part is referred to the description of the embodiment shown in fig. 2, and will not be repeated here.
As can be seen from the microcontroller illustrated in fig. 6, in this embodiment, the data packet is used as a unit to be transmitted between the recording device and the microcontroller, and the data packet is stored in the static memory of the microcontroller, and the data packet cached in the static memory is recorded according to a preset recording unit, and meanwhile, the data packet is received and the data packet is recorded according to a pipeline manner, so that the recording efficiency is effectively improved; the data in the static memory and the data in the chip are subjected to burning verification, and the burning data do not need to be read to the outside of the chip for verification, so that the verification efficiency is improved; in the process of programming and checking, the programming high voltage is only turned on when the data packet is programmed, and the programming high voltage is turned off when the data packet is checked, so that frequent switching of a programming high voltage switch is avoided, and the probability of damage of a chip due to the programming high voltage is reduced; errors possibly occurring in the transmission process of the data packet are avoided through transmission verification, so that the reject rate caused by error burning is reduced.
It should be noted that, in the present specification, each embodiment is described in a progressive manner, and each embodiment is mainly described as different from other embodiments, and the same or similar parts between the embodiments are referred to each other. For the device class and system class embodiments, the description is relatively simple as it is substantially similar to the method embodiments, as relevant points are found in the partial description of the method embodiments.
It should be noted that, in the above embodiment of the apparatus, each module and unit included are only divided according to the functional logic, but not limited to the above division, so long as the corresponding function can be implemented; in addition, the specific names of the functional modules and units are also only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present invention.
It will be appreciated by those skilled in the art that all or part of the steps of the methods of the embodiments described above may be implemented by a program to instruct related hardware, and the corresponding program may be stored in a computer readable storage medium, such as a ROM/RAM, a magnetic disk or an optical disk, etc.
The foregoing description of the preferred embodiments of the invention is not intended to be limiting, but rather is intended to cover all modifications, equivalents, and alternatives falling within the spirit and principles of the invention.
The foregoing description of the preferred embodiments of the invention is not intended to be limiting, but rather is intended to cover all modifications, equivalents, and alternatives falling within the spirit and principles of the invention.
Claims (3)
1. A method for burning a chip, comprising:
the method comprises the steps that a microcontroller receives a data packet to be burned, which is sent by burning equipment, and caches the data packet in a static memory of the microcontroller;
the data packet cached in the static memory is burnt in a target memory according to a preset burning unit;
said caching said data packets in a static memory of said microcontroller comprises:
the data packet consists of a packet header, data and a packet check word, wherein the packet header consists of a data packet start identifier and a packet sequence number, and if the packet sequence number of the data packet is an odd number, the data packet is cached in a first storage area of a static memory of the microcontroller;
if the packet sequence number of the data packet is even, the data packet is cached in a second storage area of a static memory of the microcontroller;
the packet head consists of a data packet start identifier and a packet sequence number; equally dividing the data length behind the packet head, and sending a confirmation bit to the burning device after the microcontroller receives the equally divided data each time, wherein the confirmation bit indicates that the data is received;
after receiving the data packet to be burned sent by the burning device, the microcontroller further comprises: performing transmission verification on the received data packet;
when the transmission verification is successful, sending confirmation information to the recording equipment, so that the recording equipment sends the next data packet to be recorded;
when the transmission verification fails, sending non-acknowledgement information to the recording equipment, so that the recording equipment retransmits the data packet;
the microcontroller controls the on and off of the high-voltage programming enabling signal, the enabling signal is turned on when the data packet is burnt, and the enabling signal is turned off when the data packet is burnt and checked;
after the step of burning the data packet cached in the static memory in the target memory according to a preset burning unit, the method further includes:
and reading the data burnt in the target memory, and carrying out burning verification with the data packet cached in the static memory.
2. A device for burning a chip, comprising:
the buffer module is used for receiving the data packet to be burnt sent by the burning equipment and buffering the data packet in the static memory of the microcontroller;
the burning module is used for burning the data packet cached in the static memory into a target memory according to a preset burning unit;
the burning verification module is used for reading the data burnt in the target memory and carrying out burning verification with the data packet cached in the static memory;
the transmission verification module is used for carrying out transmission verification on the received data packet, sending confirmation information to the recording equipment when the transmission verification is successful, enabling the recording equipment to send the next data packet to be recorded, and sending non-confirmation information to the recording equipment when the transmission verification is failed, enabling the recording equipment to retransmit the data packet;
the data packet consists of a packet head, data and a packet check word;
the cache module comprises:
the first buffer sub-module is used for buffering the data packet in a first storage area of the static memory of the microcontroller if the packet sequence number of the data packet is odd;
the second buffer sub-module is used for buffering the data packet in a second storage area of the static memory of the microcontroller if the packet sequence number of the data packet is even;
the packet head consists of a data packet start identifier and a packet sequence number; equally dividing the data length behind the packet head, and sending a confirmation bit to the burning device after the microcontroller receives the equally divided data each time, wherein the confirmation bit indicates that the data is received;
the microcontroller controls the on and off of the enable signal of the programming high voltage, the enable signal is turned on when the data packet is burnt, and the enable signal is turned off when the data packet is burnt and checked.
3. A microcontroller, the microcontroller comprising:
the system comprises a burning control module, a static memory and a target memory;
the static memory and the target memory are electrically connected with the burning control module;
the burning control module is used for receiving a data packet to be burned sent by the burning equipment, caching the data packet in the static memory, and burning the data packet cached in the static memory in the target memory according to a preset burning unit;
the static memory comprises a first storage area and a second storage area, wherein the data packet consists of a packet header, data and a packet check word, the packet header consists of a data packet starting identifier and a packet sequence number;
the burning control module is further configured to buffer the data packet in a first storage area of the static memory of the microcontroller if the packet sequence number of the data packet is odd, and
if the packet sequence number of the data packet is even, the data packet is cached in a second storage area of a static memory of the microcontroller;
the burning control module is also used for reading the data burnt in the target memory and carrying out burning verification with the data packet cached in the static memory;
the microcontroller further comprises: the transmission verification module is electrically connected with the burning control module, and comprises: the device comprises a check word register, an accumulated check register, a check byte counter, a first comparator and a second comparator;
the check word register and the accumulation check register are electrically connected with the second comparator;
the check byte counter is electrically connected with the first comparator;
the first comparator is electrically connected with the second comparator;
the accumulation check register is used for receiving the data of the data packet from the burning control module, accumulating the data into the cache value of the accumulation check register, and triggering the check byte counter to accumulate and count;
the first comparator is used for comparing the value of the check byte counter with the data volume of the data packet, and when the value of the check byte counter is the same as the data volume of the data packet, the second comparator is driven to carry out transmission check;
the second comparator is configured to compare the buffer value of the accumulation check register with the value of the check word register to perform transmission check, and when the buffer value of the accumulation check register is the same as the value of the check word register, the transmission check is successful, send a result of the successful transmission check to the recording control module, notify the recording control module to send acknowledgement information to the recording device, so that the recording device sends the next data packet to be recorded, and when the buffer value of the accumulation check register is different from the value of the check word register, the transmission check fails, notify the recording control module to send non-acknowledgement information to the recording device, so that the recording device retransmits the data packet;
the microcontroller controls the on and off of the enable signal of the programming high voltage, the enable signal is turned on when the data packet is burnt, and the enable signal is turned off when the data packet is burnt and checked.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511016315.6A CN106933603B (en) | 2015-12-29 | 2015-12-29 | Chip burning method, device and microcontroller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511016315.6A CN106933603B (en) | 2015-12-29 | 2015-12-29 | Chip burning method, device and microcontroller |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106933603A CN106933603A (en) | 2017-07-07 |
CN106933603B true CN106933603B (en) | 2024-03-05 |
Family
ID=59442278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511016315.6A Active CN106933603B (en) | 2015-12-29 | 2015-12-29 | Chip burning method, device and microcontroller |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106933603B (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107967144B (en) * | 2017-12-08 | 2021-10-22 | 京东方科技集团股份有限公司 | Data burning method and device |
CN108363579B (en) * | 2018-02-08 | 2021-06-29 | 深圳创维-Rgb电子有限公司 | Data burning method, device, equipment and storage medium |
CN111260366B (en) * | 2018-11-30 | 2024-02-20 | 广州众诺微电子有限公司 | Burning method, system and storage medium |
CN111381837B (en) * | 2018-12-28 | 2023-07-18 | 广州众诺微电子有限公司 | Burning method, system and readable storage medium |
CN110119373A (en) * | 2019-05-28 | 2019-08-13 | 深圳市博巨兴微电子科技有限公司 | Single-chip microcontroller and its adjustment method and method for burn-recording |
CN110399143A (en) * | 2019-07-29 | 2019-11-01 | Oppo广东移动通信有限公司 | Brush machine method, apparatus, computer storage medium and the system of terminal device |
CN110609690A (en) * | 2019-08-30 | 2019-12-24 | 珠海泰芯半导体有限公司 | Burning acceleration method of burner |
CN110767188B (en) * | 2019-10-12 | 2022-05-31 | Tcl华星光电技术有限公司 | Display panel driving system |
CN113312065B (en) * | 2021-06-06 | 2022-10-21 | 深圳市昂科技术有限公司 | Data burning method, device, terminal and storage medium |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4443865A (en) * | 1981-10-26 | 1984-04-17 | Allen-Bradley Co. | Processor module for a programmable controller |
WO2001053915A1 (en) * | 2000-01-19 | 2001-07-26 | Codex Technologies Incorporated | Security system involving creation and auto-burning of a digital signature in an electronic device and intelligent token device |
CN102508732A (en) * | 2011-10-25 | 2012-06-20 | 深圳芯邦科技股份有限公司 | Method and device for improving one-time programmable memory use performance |
CN103577211A (en) * | 2012-08-08 | 2014-02-12 | 上海赤炫信息科技有限公司 | Novel packaging and burning as well as updating methods for Android ROM (read only memory) system |
CN104102530A (en) * | 2014-07-30 | 2014-10-15 | 广东小天才科技有限公司 | Method and system for improving burning speed of electronic product |
CN105045626A (en) * | 2015-07-21 | 2015-11-11 | 珠海格力电器股份有限公司 | Program burning method, program burning equipment and controller |
CN105117236A (en) * | 2015-06-30 | 2015-12-02 | 无锡华润矽科微电子有限公司 | Automatic verified programming e-writing method |
CN205282100U (en) * | 2015-12-29 | 2016-06-01 | 深圳市博巨兴实业发展有限公司 | Microcontroller |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI247293B (en) * | 2001-05-03 | 2006-01-11 | Via Tech Inc | Method of continuous burn for storage medium |
TWI315516B (en) * | 2004-05-28 | 2009-10-01 | Mediatek Inc | Method and related apparatus for generating fixed packets while writing data into cds |
US8015460B2 (en) * | 2008-04-07 | 2011-09-06 | Micron Technology, Inc. | Test mode for parallel load of address dependent data to enable loading of desired data backgrounds |
US8826035B2 (en) * | 2009-12-23 | 2014-09-02 | Intel Corporation | Cumulative integrity check value (ICV) processor based memory content protection |
TWI516927B (en) * | 2013-06-14 | 2016-01-11 | 群聯電子股份有限公司 | Data writing method, memory controller and memory storage apparatus |
-
2015
- 2015-12-29 CN CN201511016315.6A patent/CN106933603B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4443865A (en) * | 1981-10-26 | 1984-04-17 | Allen-Bradley Co. | Processor module for a programmable controller |
WO2001053915A1 (en) * | 2000-01-19 | 2001-07-26 | Codex Technologies Incorporated | Security system involving creation and auto-burning of a digital signature in an electronic device and intelligent token device |
CN102508732A (en) * | 2011-10-25 | 2012-06-20 | 深圳芯邦科技股份有限公司 | Method and device for improving one-time programmable memory use performance |
CN103577211A (en) * | 2012-08-08 | 2014-02-12 | 上海赤炫信息科技有限公司 | Novel packaging and burning as well as updating methods for Android ROM (read only memory) system |
CN104102530A (en) * | 2014-07-30 | 2014-10-15 | 广东小天才科技有限公司 | Method and system for improving burning speed of electronic product |
CN105117236A (en) * | 2015-06-30 | 2015-12-02 | 无锡华润矽科微电子有限公司 | Automatic verified programming e-writing method |
CN105045626A (en) * | 2015-07-21 | 2015-11-11 | 珠海格力电器股份有限公司 | Program burning method, program burning equipment and controller |
CN205282100U (en) * | 2015-12-29 | 2016-06-01 | 深圳市博巨兴实业发展有限公司 | Microcontroller |
Also Published As
Publication number | Publication date |
---|---|
CN106933603A (en) | 2017-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933603B (en) | Chip burning method, device and microcontroller | |
US10445016B2 (en) | Techniques for storage command processing | |
US8880970B2 (en) | Error detection method and a system including one or more memory devices | |
KR102393427B1 (en) | Semiconductor device and semiconductor system | |
US10049005B2 (en) | Flash memory control apparatus utilizing buffer to temporarily storing valid data stored in storage plane, and control system and control method thereof | |
CN101800071B (en) | Solid state disk device and program fail processing method thereof | |
US8020068B2 (en) | Memory system and command handling method | |
CN205282100U (en) | Microcontroller | |
US20090248942A1 (en) | Posted Memory Write Verification | |
US20060036897A1 (en) | Data storage device | |
US8392794B2 (en) | Non-volatile memory device and data processing method thereof | |
CN101329916A (en) | Flash memory device error correction code controllers and related methods and memory systems | |
KR20070076849A (en) | Apparatus and method for accomplishing copy-back operation in memory card | |
US9348692B2 (en) | Flash memory apparatus, memory controller and method for controlling flash memory | |
CN101685381A (en) | Data streaming of solid-state large-capacity storage device | |
CN104969193A (en) | Reduced uncorrectable memory errors | |
CN102257573A (en) | Error detection method and a system including one or more memory devices | |
CN102103558A (en) | Multi-channel NANDflash controller with write retransmission function | |
TWI534607B (en) | Memory control circuit unit, data transmitting method and memory storage apparatus | |
US20040250177A1 (en) | Flash memory device with fast reading rate | |
CN104184543A (en) | Data transmission method, device and system | |
WO2020107301A1 (en) | Encoding method, decoding method, and storage controller | |
TWI732642B (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN106571914B (en) | Secret key management device based on OTP device | |
US9600363B2 (en) | Data accessing method, memory controlling circuit unit and memory storage apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 Shenzhen Nanshan District, Guangdong Province, Guangdong Province, Yuehai Street High-tech Zone Community Science and Technology South Road 18 Shenzhen Bay Science and Technology Eco-Park 12 Skirt Building 732 Applicant after: Shenzhen Bojuxing Microelectronics Technology Co.,Ltd. Address before: 518000 Shenzhen City, Nanshan District Province, a new high tech park, No. 1,, new materials, building D, room four, building Applicant before: SHENZHEN BOJUXING INDUSTRIAL DEVELOPMENT Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |