CN115544464A - Firmware burning method, device and system for micro-control chip and storage medium - Google Patents

Firmware burning method, device and system for micro-control chip and storage medium Download PDF

Info

Publication number
CN115544464A
CN115544464A CN202211552692.1A CN202211552692A CN115544464A CN 115544464 A CN115544464 A CN 115544464A CN 202211552692 A CN202211552692 A CN 202211552692A CN 115544464 A CN115544464 A CN 115544464A
Authority
CN
China
Prior art keywords
firmware
control chip
burning
micro
burner
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.)
Pending
Application number
CN202211552692.1A
Other languages
Chinese (zh)
Inventor
刘吉平
陈天
王翔
郑增忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Hangshun Chip Technology R&D Co Ltd
Original Assignee
Shenzhen Hangshun Chip Technology R&D Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Hangshun Chip Technology R&D Co Ltd filed Critical Shenzhen Hangshun Chip Technology R&D Co Ltd
Priority to CN202211552692.1A priority Critical patent/CN115544464A/en
Publication of CN115544464A publication Critical patent/CN115544464A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1011Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses a firmware burning method, a device and a system for a micro-control chip and a storage medium. The method can acquire the initial firmware to be burned, set the access key of the initial firmware, receive the firmware burning request, extract the characteristic parameters of the micro control chip associated in the firmware burning request, encrypt the initial firmware according to the characteristic parameters, send the encrypted target firmware to the burner associated with the micro control chip, and control the burner to burn the firmware of the micro control chip according to the access key and the target firmware. According to the embodiment of the application, the associated micro-control chip characteristic parameters can be acquired through the burner, and the firmware is encrypted according to the parameters, so that firmware burning can be performed only by the corresponding micro-control chip, therefore, firmware leakage can be avoided, and the safety is effectively improved.

Description

Firmware burning method, device and system for micro-control chip and storage medium
Technical Field
The invention relates to the field of chips, in particular to a firmware burning method, a device and a system for a micro-control chip and a storage medium.
Background
A Micro Controller Unit (MCU), also called a single-chip microcomputer or a single-chip microcomputer. The microcontroller chip typically includes a non-volatile memory for storing program instructions and data. In order to update the firmware of the micro control chip of the electronic device, the upper computer is generally connected with a burner to burn the firmware of the micro control chip. With the continuous expansion of the application field of the micro control chip, the consumption of the micro control chip is more and more, and how to ensure that the firmware of the micro control chip is not leaked in the production process is an urgent problem to be solved.
In the prior art, the above problems can be solved by the following two ways: the first is to use the encryption dog to encrypt the firmware, and the corresponding upper computer tool and the specific burning tool are matched to ensure that the cryptograph is transmitted in the burning process of the firmware. However, this approach relies on hardware devices or hardware media, and any modification associated with the firmware will result in re-distribution of the dongle, a cumbersome procedure. Secondly, the cloud server provided by the third party is used, the compiled firmware is placed on the cloud server provided by the burner manufacturer, and the manufacturer can use the parameter access server to obtain the processed firmware.
Disclosure of Invention
The invention provides a firmware burning method, a device and a system for a micro-control chip and a storage medium, wherein the firmware is encrypted according to the unique characteristic parameter of the micro-control chip, so that the firmware leakage can be effectively avoided, and the safety is improved.
In order to achieve the above beneficial effects, the embodiments of the present invention provide the following technical solutions:
in a first aspect, a method for burning firmware of a micro-control chip is provided, where the method includes:
acquiring initial firmware to be burned, and setting an access key of the initial firmware;
receiving a firmware burning request, and extracting the characteristic parameters of the associated micro-control chip in the firmware burning request;
encrypting the initial firmware according to the characteristic parameters, and sending the encrypted target firmware to a burner associated with the micro-control chip;
and controlling the burner to burn the firmware of the micro-control chip according to the access key and the target firmware.
In a second aspect, a firmware burning apparatus for a micro control chip is provided, which includes:
the device comprises an acquisition unit, a storage unit and a processing unit, wherein the acquisition unit is used for acquiring initial firmware to be burned and setting an access key of the initial firmware;
the receiving unit is used for receiving the firmware burning request and extracting the characteristic parameters of the micro-control chip related to the firmware burning request;
the encryption unit is used for encrypting the initial firmware according to the characteristic parameters and sending the encrypted target firmware to a burner associated with the micro-control chip;
and the processing unit is used for controlling the burner to carry out firmware burning on the micro-control chip according to the access key and the target firmware.
In a third aspect, a firmware burning system for a micro control chip is provided, including: the intelligent terminal, the first burner, the at least one second burner and the micro control chip are respectively connected with the at least one second burner;
the first burner acquires initial firmware to be burned and sets an access key of the initial firmware;
the second burner extracts the characteristic parameters of the micro-control chip, generates a firmware burning request according to the characteristic parameters and sends the firmware burning request to the first burner, so that the first burner encrypts the initial firmware according to the characteristic parameters and sends the encrypted target firmware to the second burner, and the second burner burns the firmware of the micro-control chip according to the access key and the target firmware.
In a fourth aspect, a storage medium is provided, where multiple instructions are stored, and the instructions are suitable for being loaded by a processor to perform the steps in the firmware burning method for a micro control chip.
The embodiment provided by the application can acquire the initial firmware to be burned, set the access key of the initial firmware, receive the firmware burning request, extract the characteristic parameters of the micro control chip associated in the firmware burning request, encrypt the initial firmware according to the characteristic parameters, send the encrypted target firmware to the burner associated with the micro control chip, and control the burner to burn the firmware of the micro control chip according to the access key and the target firmware. According to the embodiment of the application, the characteristic parameters of the associated micro control chip can be acquired through the burner, and the firmware is encrypted according to the parameters, so that firmware burning can be performed only by the corresponding micro control chip, therefore, firmware leakage can be avoided, and the safety is effectively improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic flowchart of a firmware burning method for a micro control chip according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a burner according to an embodiment of the present invention;
FIG. 3 is another schematic flow chart of a firmware burning method for a micro control chip according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a firmware burning system for a micro control chip according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a firmware burning apparatus for a micro control chip according to an embodiment of the present invention;
FIG. 6 is a schematic structural diagram of a firmware burning apparatus for a micro control chip according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of an intelligent terminal according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is explicitly and implicitly understood by one skilled in the art that the embodiments described herein can be combined with other embodiments.
The embodiment of the invention provides a firmware burning method for a micro-control chip, wherein an execution main body of the firmware burning method for the micro-control chip can be a firmware burning device for the micro-control chip provided by the embodiment of the invention or a server integrated with the firmware burning device for the micro-control chip, and the firmware burning device for the micro-control chip can be realized in a hardware or software mode.
In this embodiment, the firmware burning apparatus for the micro control chip is specifically a burner, and the burner has a storage unit and is capable of running an application program.
A method of firmware burning for a micro control chip, the method comprising:
acquiring initial firmware to be burned, and setting an access key of the initial firmware;
receiving a firmware burning request, and extracting the characteristic parameters of the associated micro-control chip in the firmware burning request;
encrypting the initial firmware according to the characteristic parameters, and sending the encrypted target firmware to a burner associated with the micro-control chip;
and controlling the burner to burn the firmware of the micro-control chip according to the access key and the target firmware.
Before describing the technical solution of the present invention, the related technical terms are briefly explained:
a micro control chip: the micro-control chip is to reduce the frequency and specification of the Central Processing Unit (CPU) and integrate the peripheral interfaces such as memory, counter, USB, A/D conversion, UART, PLC, DMA, etc. and even LCD drive circuit on a single chip to form a chip-level computer for different combined control in different application occasions.
Firmware: refers to programs written in EPROM (erasable programmable read only memory) or EEPROM (electrically erasable programmable read only memory). Through the firmware, the operating system can realize the operation of a specific machine according to a standard device driver, for example, the optical disc drive, the recorder and the like have internal firmware.
Referring to fig. 1, fig. 1 is a schematic flow chart illustrating a firmware burning method for a micro control chip according to an embodiment of the present invention. The firmware burning method for the micro-control chip comprises the following steps:
step 101, obtaining an initial firmware to be burned, and setting an access key of the initial firmware.
In an embodiment, the server-side burner is taken as an implementation subject to be described in detail, and the server-side burner can obtain the initial firmware by connecting with an upper computer, where the connection mode may include a wired connection mode or a wireless connection mode. For example, the server-side burner is generally located at a firmware development designer, and may be connected to a computer in a wired or wireless manner, and then configure the initial firmware, specifically configure the security policy and access policy thereof, and connect to a network. The initial firmware can be stored on the production upper computer in a binary file form.
Further, the server-side burner can also set an access key of the initial firmware, and the access key can be used for verification in subsequent firmware burning so as to improve the safety.
And 102, receiving the firmware burning request, and extracting the characteristic parameters of the micro-control chip related to the firmware burning request.
In one embodiment, the server-side burner receives a firmware burning request sent by the client-side burner through a network, wherein the client-side burner is connected with the micro-control chip, so that the characteristic parameters of the micro-control chip can be acquired, and the firmware burning request is generated based on the characteristic parameters. The characteristic parameters may include a characteristic code of the micro control chips, wherein the characteristic code is an unmodified code that is present in each micro control chip and is bound to the micro control chip, and has uniqueness, that is, the characteristic codes in any two micro control chips of the same or different types are different.
The characteristic code can select an ID code which is arranged in a Flash memory for storing firmware as the characteristic code, most of the current Flash memories have the ID code which is unique, so that the encryption problem when the main control chip does not have the unique characteristic code can be solved, an additional encryption chip is not needed, a decryption step is not needed, and the scheme cost can be reduced.
And 103, encrypting the initial firmware according to the characteristic parameters, and sending the encrypted target firmware to a burner associated with the micro-control chip.
In an embodiment, an encryption algorithm may be stored in the server-side burner in advance, so that after the characteristic parameters of the micro-control chip are extracted, the initial firmware may be further encrypted according to the characteristic parameters, and the encrypted target firmware is sent to the client-side burner, so that the encrypted target firmware can only be used for the micro-control chip corresponding to the characteristic parameters, and other micro-control chips cannot be burned successfully, thereby further enhancing data security.
In an embodiment, before the server-side burner sends the encrypted target firmware to the client-side burner, the server-side burner may further compress the target firmware by a preset compression algorithm to reduce the amount of data to be transmitted, thereby improving the sending efficiency. For example, the principle of the compression algorithm may be that 13 data items in total are converted from original data { aabbbcccccaaa } into { a2b3c5a3} indicating that the data items are composed of 2 a, 3 b, 5 c, and 3 a, and then the data items are compressed into 8 data items. For another example, the compression algorithm may be based on the obtained n × n array set, and perform compression in a diagonal manner, i.e., the data above the diagonal may be deleted to reduce the amount of data.
In one implementation, a compression algorithm may be randomly selected. Two or more compression algorithms can be randomly selected and randomly combined, namely the execution sequence of the compression algorithms is not required, so that the cracking difficulty is improved. For example, the first compression algorithm, the second compression algorithm, and the third compression algorithm are selected, and the obtained target compression algorithm may be that the third compression algorithm is executed on the file first, then the second compression algorithm is executed on the file, and finally the first compression algorithm is executed on the file.
In an implementation manner, the adopted compression algorithm and the sequence of executing compression by using the compression algorithm may be recorded, so that when the subsequent client-side burner decompresses the compressed file, the decompression operation may be sequentially executed according to the reverse sequence of the compression algorithm arrangement, thereby obtaining the firmware file.
In one implementation, the encryption operation may be performed first and then the compression operation, or the compression operation may be performed first and then the encryption operation. The encryption operation can also be performed separately for each compressed file obtained by using the compression algorithm. For example, a first compressed file and a second compressed file may be obtained in the process of performing a compression operation by using a target compression algorithm, and the first compressed file may be encrypted to obtain a first encrypted compressed file, and then the first encrypted compressed file may be compressed to obtain a second compressed file.
And step 104, controlling the burner to perform firmware burning on the micro-control chip according to the access key and the target firmware.
In an embodiment, the client burner has an autonomous verification function, so that after the client burner receives the target firmware, the access key of the initial firmware can be verified through a private key, and if the verification is passed, firmware burning is further performed on the connected micro control chip.
In one embodiment, the server-side burner can be connected with a plurality of client-side burners through a network, and the plurality of client-side burners are respectively connected with the micro-control chips, so that batch burning of the plurality of micro-control chips can be realized through the scheme.
The batch burning working process of the micro control chip firmware specifically comprises the following steps: the upper computer sends initial firmware to the server-side burner, the server-side burner sends broadcast messages to batch client-side burners through a network to prompt firmware updating or firmware burning, meanwhile, burning requests of the client-side burners are received, equipment IDs of respective associated micro-control chips are carried in the requests of each client-side burner, the server-side burner can encrypt the equipment IDs of different micro-control chips and send the equipment IDs to corresponding client-side burners, and the client-side burners verify whether the equipment IDs in micro-control chip registers connected with the client-side burner are consistent after receiving target firmware; if the data is consistent with the data, the micro-control chip raises the GPIO connected with the switch tube, the burning line is conducted, meanwhile, a confirmation message is sent to the client burner, and the client burner detects whether the confirmation message from the micro-control chip is received; if the confirmation message from the micro-control chip is received, the client-side burner triggers the burning micro-control chip firmware, meanwhile, the client-side burner detects whether the burning of the burning software is finished, and if a character string 'Programming complete' appears, a broadcast message of successful burning of the server-side burner is returned; if the character string does not appear, the client-side burner detects whether the preset burning time is exceeded, and if the preset burning time is exceeded, the client-side burner records the equipment ID of the micro-control chip and feeds back the equipment ID; and if the preset burning time is not exceeded, returning to the step of executing the client burner to detect whether the burning of the burning software is completed. If the confirmation message from the micro control chip is not received, the client-side burner detects whether the preset detection time is exceeded (for example, 5 s); if the preset detection time is not exceeded, returning to the step of executing the client-side burner to detect whether the confirmation message from the micro-control chip is received; and if the preset detection time is exceeded, the client-side burner displays the actual total burning amount, the burning failure amount and the equipment ID of the micro-control chip with the burning failure and feeds back the actual total burning amount, the burning failure amount and the equipment ID.
In this embodiment, the firmware may be encrypted by a symmetric or asymmetric key. The legal micro-control chip product can be stored with a decryption key corresponding to the encryption key in advance. When the client burner burns the encrypted firmware into the micro control chip, the micro control chip can utilize the firmware to normally work after decrypting the encrypted firmware by utilizing a prestored decryption key; otherwise, if the decryption key of the firmware is not stored in the micro control chip, even if the client-side burner burns the firmware into the micro control chip, the micro control chip cannot normally operate the firmware. Therefore, when the authorization code is illegally stolen, the firmware can be protected, and the safety of the firmware is further improved.
It should be noted that, in the embodiment of the present application, the server-side burner and the client-side burner have the same structure, and the difference is that the working modes are different. Referring to fig. 2, the burner can be configured with burning options to achieve the purpose of safe burning by being equipped with a dedicated PC software tool. The burner has three types of interfaces, namely a PC interface, a network interface and a target board interface. The off-line burner is also provided with a network module, a safety module and a debugging module. The PC interface is used for connecting the burner with a PC so that matched PC software can control the burner. The network interface is used for providing a networking function when the burner operates as a firmware server and providing network connection when the burner is connected with a remote server to obtain burning firmware. The target board interface is used for being connected with the target board debugging port and providing debugging and firmware burning functions. The network module is used for providing related functions of two working modes of the server and the client. The safety module provides various encryption algorithm support and provides a plurality of safety burning mechanisms. The debugging module provides all the api for controlling the target micro control chip through the target board interface. It should be noted that a single burner can independently perform firmware burning after the firmware and various parameters are configured by using a PC.
As can be seen from the above, the firmware burning method for the micro control chip provided in the embodiment of the present application can obtain the initial firmware to be burned, set the access key of the initial firmware, receive the firmware burning request, extract the characteristic parameters of the micro control chip associated with the firmware burning request, encrypt the initial firmware according to the characteristic parameters, send the encrypted target firmware to the burner associated with the micro control chip, and control the burner to perform firmware burning on the micro control chip according to the access key and the target firmware. According to the embodiment of the application, the associated micro-control chip characteristic parameters can be acquired through the burner, and the firmware is encrypted according to the parameters, so that firmware burning can be performed only by the corresponding micro-control chip, therefore, firmware leakage can be avoided, and the safety is effectively improved.
The firmware burning method for the micro control chip described in the previous embodiment is further described in detail below by way of example.
In this embodiment, the firmware burning device for the micro control chip is specifically integrated in an intelligent terminal as an example for description.
Referring to fig. 3, fig. 3 is another schematic flow chart of a firmware burning method for a micro control chip according to an embodiment of the present invention. The method flow can comprise the following steps:
step 201, obtaining an initial firmware to be burned, and setting the remaining burning times of the initial firmware and an access key of the initial firmware.
In an embodiment, the server-side burner may obtain the initial firmware by connecting with an upper computer, where the connection mode may include a wired connection or a wireless connection mode, and the server-side burner is generally located at a development designer of the firmware, and may be connected with the computer in a wired or wireless mode, and then configure the initial firmware using corresponding software, specifically, may configure its security policy and access policy, and the like.
In an embodiment, the server-side burner can be configured with the recordable times, and the recordable times can be consistent with the actual production quantity of the micro-control chip products, so that the phenomenon that the burner is illegally used after being used and picked up by other people to cause information leakage can be avoided. The server-side burner can also set an access key of the initial firmware, and the access key can be used for verification in subsequent firmware burning so as to improve the safety.
Step 202, receiving a firmware burning request, and extracting the characteristic parameters of the micro control chip associated with the firmware burning request.
In an embodiment, the server-side burner receives a firmware burning request sent by the client-side burner through a network, wherein the client-side burner is connected with the micro-control chip, so that the characteristic parameters of the micro-control chip, such as an ID code in a Flash memory of the micro-control chip, can be acquired.
In an embodiment, the step of receiving the firmware burning request may include: and receiving authentication information sent by the burner, verifying the authentication information, and if the authentication information passes, establishing connection with the burner and receiving a firmware burning request sent by the burner. The authentication information is, for example, information such as a preset account number and a preset password, which is not further limited in this embodiment.
And 203, encrypting the initial firmware according to the characteristic parameters, and sending the encrypted target firmware to a burner associated with the micro-control chip.
In an embodiment, an encryption algorithm may be stored in the server-side burner in advance, so that after the characteristic parameters of the micro-control chip are extracted, the initial firmware may be further encrypted according to the characteristic parameters, and the encrypted target firmware is sent to the client-side burner, so that the encrypted target firmware can only be used for the micro-control chip corresponding to the characteristic parameters, and other micro-control chips cannot be burned successfully, thereby further enhancing data security.
And step 204, controlling the burner to burn the firmware of the micro-control chip according to the access key and the target firmware.
In an embodiment, the client burner has an autonomous verification function, so that after the client burner receives the target firmware, the access key of the initial firmware can be verified through the private key, and if the verification is passed, firmware burning is further performed on the connected micro-control chip.
In step 205, the firmware burning result of the micro-control chip is obtained by the burner.
In step 206, if the firmware burning result includes the information of successful burning, the remaining burning times are updated according to the firmware burning result.
In one embodiment, whether the firmware burning of the single micro-control chip is finished within the burning time by the client burner can be detected; if the single micro-control chip firmware is burned within the preset burning time, determining that the single micro-control chip firmware is burned successfully; and if the single micro-control chip firmware burning is not finished within the preset burning time, determining that the current single micro-control chip firmware burning fails.
If the client-side burner successfully burns the target firmware, the burning times can be fed back to the server-side burner, and the number of times that the target firmware can be burnt in the server-side burner is reduced by 1. Because the burning times are the same as the actual production quantity of the micro control chip products, the firmware updating of all the micro control chips can be ensured to be completed, and the burning of the firmware of other micro control chips is not carried out, so that the data safety is further improved.
In step 207, if the remaining burning times is detected to be 0, the initial firmware is deleted.
If the number of times of burning in the server-side burner is reduced to 0, the updating of all the firmware of the micro-control chip is completed, and the initial firmware stored in the server-side burner can be deleted and destroyed, so that data leakage is avoided.
As can be seen from the above, the firmware burning method for the micro control chip provided in the embodiment of the present application can obtain the initial firmware to be burned, set the remaining burning times of the initial firmware and the access key of the initial firmware, receive the firmware burning request, extract the characteristic parameters of the micro control chip associated with the firmware burning request, encrypt the initial firmware according to the characteristic parameters, send the encrypted target firmware to the burner associated with the micro control chip, control the burner to burn the micro control chip according to the access key and the target firmware, obtain the firmware burning result of the micro control chip through the burner, update the remaining burning times according to the firmware burning result if the firmware burning result includes information that burning is successful, and delete the initial firmware if it is detected that the remaining burning times is 0. According to the embodiment of the application, the characteristic parameters of the associated micro control chip can be acquired through the burner, and the firmware is encrypted according to the parameters, so that the firmware burning can be performed only by the corresponding micro control chip, therefore, the firmware leakage can be avoided, and the safety is effectively improved.
The present application further provides a firmware burning system for a micro control chip, for example, a one-to-many burning system can be composed of an offline burner working in a server mode and a plurality of offline burners working in a client mode, as shown in fig. 4, fig. 4 describes an entire system for performing secure burning through a network with one to N. The burner working in the server mode is generally located at a design side, and after the burner is connected with a computer in a wired or wireless mode, the burner uses corresponding software to configure firmware to be processed, configure a security policy and an access policy, and is connected to a network. The off-line burner operating in the client mode is usually located in a factory, and the off-line burner at the factory also needs to use PC software to configure its operating parameters and connect to the network before starting to operate.
When the off-line burner at the factory accesses the remote server mode burner, preset access parameters such as a user name and a password are used. When the safe burning is executed each time, the off-line burner in the client mode uses the specific parameters in the target micro-control chip connected with the off-line burner to request specific firmware, and the obtained firmware is ensured to be only used for the current micro-control chip.
In an embodiment, the burner may further have an external key, and when the micro control chip is connected to the client burner and then the key is pressed, the burner may start the burning process of the client burner, and in the remote secure burning mode, the client burner may read the characteristic parameters of the micro control chip and apply for obtaining the firmware from the server burner, and then complete the burning.
In an embodiment, the burner may further include a single color power lamp and a three-color indicator lamp. If no error occurs in the firmware burning process, the blue light flashes all the time to indicate that no error occurs in the burning process. Only the blue light is on for a long time can indicate that the burning process is completed and the burning is successful. If the yellow lamp in the three-color lamp flickers, the firmware acquisition fails. If the red light in the three-color light flickers, the current burning fails. Furthermore, the burner can be provided with a display screen, and information display is carried out through the display screen, so that the current burning process and all state information in the burning process can be clearly displayed.
In order to better implement the firmware burning method for the micro control chip provided by the embodiment of the invention, the embodiment of the invention also provides a device based on the firmware burning method for the micro control chip. The meaning of the noun is the same as that in the firmware burning method for the micro-control chip, and specific implementation details can refer to the description in the method embodiment.
In this embodiment, the firmware burning apparatus for a micro control chip will be described from the perspective of the firmware burning apparatus for a micro control chip, which may be specifically integrated into a system composed of a plurality of intelligent terminals, each of which is an intelligent terminal having a storage unit and a video playing function and mounted with a display screen.
Referring to fig. 5, fig. 5 is a schematic structural diagram of a firmware burning device 300 for a micro control chip according to an embodiment of the present invention. The firmware burning apparatus 300 for the micro control chip may include:
an obtaining unit 301, configured to obtain an initial firmware to be burned, and set an access key of the initial firmware;
a receiving unit 302, configured to receive a firmware burning request, and extract a feature parameter of a micro control chip associated with the firmware burning request;
the encryption unit 303 is configured to encrypt the initial firmware according to the characteristic parameter, and send the encrypted target firmware to a burner associated with the micro control chip;
and the processing unit 304 is configured to control the burner to perform firmware burning on the micro control chip according to the access key and the target firmware.
In an embodiment, please refer to fig. 6, wherein fig. 6 is a schematic structural diagram of a firmware burning apparatus 300 for a micro control chip according to an embodiment of the present invention. The acquiring unit 301 may include:
an obtaining subunit 3011, configured to obtain an initial firmware to be burned;
a setting subunit 3012, configured to set the remaining burning times of the initial firmware and an access key of the initial firmware.
In an embodiment, the firmware burning apparatus 300 for a micro control chip further includes:
a feedback unit 305, configured to obtain a firmware burning result of the micro control chip through the burner;
an updating unit 306, configured to update the remaining burning times according to the firmware burning result when the firmware burning result includes information that burning is successful.
As can be seen from the above, in the embodiment of the present invention, the initial firmware to be burned can be obtained, the access key of the initial firmware is set, the firmware burning request is received, the characteristic parameters of the micro control chip associated with the firmware burning request are extracted, the initial firmware is encrypted according to the characteristic parameters, the encrypted target firmware is sent to the burner associated with the micro control chip, and the burner is controlled to burn the firmware of the micro control chip according to the access key and the target firmware. According to the embodiment of the application, the associated micro-control chip characteristic parameters can be acquired through the burner, and the firmware is encrypted according to the parameters, so that firmware burning can be performed only by the corresponding micro-control chip, therefore, firmware leakage can be avoided, and the safety is effectively improved.
An embodiment of the present invention further provides an intelligent terminal 600, as shown in fig. 7, the intelligent terminal 600 may integrate the burner, and may further include a Radio Frequency (RF) circuit 601, a memory 602 including one or more computer-readable storage media, an input unit 603, a display unit 604, a sensor 605, an audio circuit 606, a Wireless Fidelity (WiFi) module 607, a processor 608 including one or more processing cores, a power supply 609, and other components. Those skilled in the art will appreciate that the intelligent terminal 600 configuration shown in fig. 7 does not constitute a limitation of the intelligent terminal 600 and may include more or less components than those shown, or some components in combination, or a different arrangement of components. Wherein:
the RF circuit 601 may be used for receiving and transmitting signals during a message transmission or communication process, and in particular, for receiving downlink messages from a base station and then processing the received downlink messages by one or more processors 608; in addition, data relating to uplink is transmitted to the base station. In general, the RF circuit 601 includes, but is not limited to, an antenna, at least one Amplifier, a tuner, one or more oscillators, a Subscriber Identity Module (SIM) card, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like. In addition, the RF circuitry 601 may also communicate with networks and other devices via wireless communications. The wireless communication may use any communication standard or protocol, including but not limited to Global System for Mobile communications (GSM), general Packet Radio Service (GPRS), code Division Multiple Access (CDMA), wideband Code Division Multiple Access (WCDMA), long Term Evolution (LTE), email, short Message Service (SMS), and the like.
The memory 602 may be used to store software programs and modules, and the processor 608 executes various functional applications and information processing by operating the software programs and modules stored in the memory 602. The memory 602 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application program required by at least one function (such as a sound playing function, a target data playing function, etc.), and the like; the storage data area may store data (such as audio data, a phonebook, etc.) created according to the use of the smart terminal 600, and the like. Further, the memory 602 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device. Accordingly, the memory 602 may also include a memory controller to provide the processor 608 and the input unit 603 access to the memory 602.
The input unit 603 may be used to receive input numeric or character information and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control. In particular, in one particular embodiment, input unit 603 may include a touch-sensitive surface as well as other input devices. The touch-sensitive surface, also referred to as a touch display screen or a touch pad, may collect touch operations by a user (such as operations by the user on or near the touch-sensitive surface using a finger, a stylus, or any other suitable object or attachment) thereon or nearby, and drive the corresponding connection device according to a predetermined program. Alternatively, the touch sensitive surface may comprise two parts, a touch detection means and a touch controller. The touch detection device detects the touch direction of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch sensing device, converts the touch information into touch point coordinates, sends the touch point coordinates to the processor 608, and can receive and execute commands sent by the processor 608. In addition, the touch sensitive surface can be implemented in various types, such as resistive, capacitive, infrared, and surface acoustic wave. The input unit 603 may include other input devices in addition to a touch-sensitive surface. In particular, other input devices may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, and the like.
The display unit 604 may be used to display information input by or provided to the user and various graphical user interfaces of the smart terminal 600, which may be made up of graphics, text, icons, video, and any combination thereof. The Display unit 604 may include a Display panel, and optionally, the Display panel may be configured in the form of a Liquid Crystal Display (LCD), an Organic Light-Emitting Diode (OLED), or the like. Further, the touch-sensitive surface may overlay the display panel, and when a touch operation is detected on or near the touch-sensitive surface, the touch operation is transmitted to the processor 608 to determine the type of touch event, and the processor 608 then provides a corresponding visual output on the display panel according to the type of touch event. Although in FIG. 7 the touch sensitive surface and the display panel are implemented as two separate components for input and output functions, in some embodiments the touch sensitive surface may be integrated with the display panel for input and output functions.
The smart terminal 600 may also include at least one sensor 605, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor that may adjust the brightness of the display panel according to the brightness of ambient light, and a proximity sensor that may turn off the display panel and/or the backlight when the smart terminal 600 is moved to the ear. As one of the motion sensors, the gravitational acceleration sensor may detect the magnitude of acceleration in each direction (generally, three axes), detect the magnitude and direction of gravity when the mobile phone is stationary, and may be used for applications (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), and the like) for recognizing the posture of the mobile phone, and the intelligent terminal 600 may further be configured with other sensors such as a gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, and the like, which are not described herein again.
Audio circuitry 606, a speaker, and a microphone may provide an audio interface between a user and the smart terminal 600. The audio circuit 606 may transmit the electrical signal converted from the received audio data to a speaker, and convert the electrical signal into a sound signal for output; on the other hand, the microphone converts the collected sound signal into an electrical signal, which is received by the audio circuit 606 and converted into audio data, which is then processed by the audio data output processor 608, and then transmitted to, for example, another intelligent terminal 600 via the RF circuit 601, or the audio data is output to the memory 602 for further processing. The audio circuitry 606 may also include an earbud jack to provide communication of peripheral headphones with the smart terminal 600.
WiFi belongs to short-distance wireless transmission technology, and the intelligent terminal 600 can help a user to receive and send e-mails, browse webpages, access streaming media and the like through the WiFi module 607, and provides wireless broadband internet access for the user. Although fig. 7 shows the WiFi module 607, it is understood that it does not belong to the essential constitution of the smart terminal 600, and can be omitted entirely as needed within a scope not changing the essence of the invention.
The processor 608 is a control center of the smart terminal 600, connects various parts of the entire mobile phone using various interfaces and lines, and performs various functions of the smart terminal 600 and processes data by operating or executing software programs and/or modules stored in the memory 602 and calling data stored in the memory 602, thereby performing overall monitoring of the mobile phone. Optionally, processor 608 may include one or more processing cores; preferably, the processor 608 may integrate an application processor, which primarily handles operating systems, user interfaces, applications, etc., and a modem processor, which primarily handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into the processor 608.
The intelligent terminal 600 also includes a power supply 609 (e.g., a battery) for powering the various components, which may preferably be logically coupled to the processor 608 via a power management system, such that the power management system may manage charging, discharging, and power consumption. The power supply 609 may also include any component of one or more dc or ac power sources, recharging systems, power failure detection circuitry, power converters or inverters, power data indicators, and the like.
Although not shown, the smart terminal 600 may further include a camera, a bluetooth module, and the like, which are not described herein. Specifically, in this embodiment, the processor 608 in the intelligent terminal 600 loads the executable file corresponding to the process of one or more application programs into the memory 602 according to the following instructions, and the processor 608 runs the application programs stored in the memory 602, so as to implement various functions:
acquiring initial firmware to be burned, and setting an access key of the initial firmware;
receiving a firmware burning request, and extracting the characteristic parameters of the associated micro-control chip in the firmware burning request;
encrypting the initial firmware according to the characteristic parameters, and sending the encrypted target firmware to a burner associated with the micro control chip;
and controlling the burner to burn the firmware of the micro-control chip according to the access key and the target firmware.
In the above embodiments, the descriptions of the embodiments are focused on, and parts that are not described in detail in a certain embodiment may refer to the above detailed description of the firmware burning method for the micro control chip, and are not described again here.
As can be seen from the above, the intelligent terminal 600 according to the embodiment of the present invention can obtain the initial firmware to be burned, set the access key of the initial firmware, receive the firmware burning request, extract the characteristic parameters of the micro control chip associated with the firmware burning request, encrypt the initial firmware according to the characteristic parameters, send the encrypted target firmware to the burner associated with the micro control chip, and control the burner to burn the firmware of the micro control chip according to the access key and the target firmware. According to the embodiment of the application, the associated micro-control chip characteristic parameters can be obtained through the burner, and the firmware is encrypted according to the parameters, so that firmware burning can be performed only by the corresponding micro-control chip, firmware leakage can be avoided, and the safety is effectively improved.
It will be understood by those skilled in the art that all or part of the steps of the methods of the above embodiments may be performed by instructions, or by instructions controlling associated hardware, which may be stored in a computer-readable storage medium and loaded and executed by a processor.
Therefore, the embodiment of the present application further provides a storage medium, on which a plurality of instructions are stored, where the instructions are suitable for being loaded by a processor to execute the steps in the firmware burning method for a micro control chip.
The above operations can be implemented in the foregoing embodiments, and are not described in detail herein.
Wherein the storage medium may include: read Only Memory (ROM), random Access Memory (RAM), magnetic or optical disks, and the like.
Since the instructions stored in the storage medium can execute the steps in any firmware burning method for a micro control chip provided in the embodiments of the present invention, the beneficial effects that can be achieved by any firmware burning method for a micro control chip provided in the embodiments of the present invention can be achieved, which are detailed in the foregoing embodiments and will not be described herein again.
The firmware burning method, device, system and storage medium for the micro control chip provided by the embodiment of the invention are described in detail above, a specific example is applied in the text to explain the principle and implementation of the invention, and the description of the above embodiment is only used to help understanding the method and the core idea of the invention; meanwhile, for those skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (10)

1. A firmware burning method for a micro control chip is characterized by comprising the following steps:
acquiring initial firmware to be burned, and setting an access key of the initial firmware;
receiving a firmware burning request, and extracting the characteristic parameters of the micro-control chip associated in the firmware burning request;
encrypting the initial firmware according to the characteristic parameters, and sending the encrypted target firmware to a burner associated with the micro-control chip;
and controlling the burner to carry out firmware burning on the micro-control chip according to the access key and the target firmware.
2. The firmware burning method for the micro control chip according to claim 1, wherein after the initial firmware to be burned is obtained, the method further comprises:
and setting the residual burning times of the initial firmware.
3. The method as claimed in claim 2, wherein after controlling the burner to burn the firmware of the micro control chip according to the access key and the target firmware, the method further comprises:
acquiring a firmware burning result of the micro-control chip through the burner;
and if the firmware burning result contains information of successful burning, updating the residual burning times according to the firmware burning result.
4. The firmware burning method for the micro control chip according to claim 3, further comprising:
and if the residual burning times are detected to be 0, deleting the initial firmware.
5. The method as claimed in claim 1, wherein the receiving a firmware burning request comprises:
receiving authentication information sent by a burner, and verifying the authentication information;
and if the verification is passed, establishing connection with the burner and receiving a firmware burning request sent by the burner.
6. A firmware burning device for a micro control chip is characterized by comprising:
the device comprises an acquisition unit, a storage unit and a processing unit, wherein the acquisition unit is used for acquiring initial firmware to be burned and setting an access key of the initial firmware;
the receiving unit is used for receiving the firmware burning request and extracting the characteristic parameters of the micro-control chip related to the firmware burning request;
the encryption unit is used for encrypting the initial firmware according to the characteristic parameters and sending the encrypted target firmware to a burner associated with the micro-control chip;
and the processing unit is used for controlling the burner to carry out firmware burning on the micro-control chip according to the access key and the target firmware.
7. A firmware burning system for a micro control chip is characterized by comprising: the intelligent terminal, the first burner, the at least one second burner and the micro control chip are respectively connected with the at least one second burner;
the first burner acquires initial firmware to be burned and sets an access key of the initial firmware;
the second burner extracts the characteristic parameters of the micro-control chip, generates a firmware burning request according to the characteristic parameters and sends the firmware burning request to the first burner, so that the first burner encrypts the initial firmware according to the characteristic parameters and sends the encrypted target firmware to the second burner, and the second burner burns the firmware of the micro-control chip according to the access key and the target firmware.
8. The firmware burning system for the micro-control chip according to claim 7, wherein the first burner sets the remaining burning times of the initial firmware after acquiring the initial firmware to be burned.
9. The system of claim 8, wherein the second writer sends the firmware burning result of the micro control chip to the first writer after burning the firmware of the micro control chip, so that the first writer updates the remaining burning times according to the firmware burning result.
10. A storage medium, wherein the storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor to execute the steps in the firmware burning method for the micro control chip according to any one of claims 1 to 5.
CN202211552692.1A 2022-12-06 2022-12-06 Firmware burning method, device and system for micro-control chip and storage medium Pending CN115544464A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211552692.1A CN115544464A (en) 2022-12-06 2022-12-06 Firmware burning method, device and system for micro-control chip and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211552692.1A CN115544464A (en) 2022-12-06 2022-12-06 Firmware burning method, device and system for micro-control chip and storage medium

Publications (1)

Publication Number Publication Date
CN115544464A true CN115544464A (en) 2022-12-30

Family

ID=84721691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211552692.1A Pending CN115544464A (en) 2022-12-06 2022-12-06 Firmware burning method, device and system for micro-control chip and storage medium

Country Status (1)

Country Link
CN (1) CN115544464A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116150818A (en) * 2023-04-17 2023-05-23 杭州利尔达展芯科技有限公司 Method for realizing safety of micro-controller chip writer
CN118413391A (en) * 2024-06-26 2024-07-30 合众新能源汽车股份有限公司 Method, system, equipment and medium for encrypting and decrypting prefabricated file of intelligent driving controller

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109901851A (en) * 2019-02-28 2019-06-18 广州小鹏汽车科技有限公司 A kind of firmware burning system and method
CN110362965A (en) * 2019-06-12 2019-10-22 创芯工坊科技(深圳)有限公司 Firmware processing method, device, system, equipment and the medium of IC chip
CN111262910A (en) * 2020-01-09 2020-06-09 杭州涂鸦信息技术有限公司 Wireless equipment firmware protection method and system
CN114327518A (en) * 2021-12-31 2022-04-12 广州思睿芯科半导体有限公司 Firmware storage method, firmware reading device, chip processor and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109901851A (en) * 2019-02-28 2019-06-18 广州小鹏汽车科技有限公司 A kind of firmware burning system and method
CN110362965A (en) * 2019-06-12 2019-10-22 创芯工坊科技(深圳)有限公司 Firmware processing method, device, system, equipment and the medium of IC chip
CN111262910A (en) * 2020-01-09 2020-06-09 杭州涂鸦信息技术有限公司 Wireless equipment firmware protection method and system
CN114327518A (en) * 2021-12-31 2022-04-12 广州思睿芯科半导体有限公司 Firmware storage method, firmware reading device, chip processor and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116150818A (en) * 2023-04-17 2023-05-23 杭州利尔达展芯科技有限公司 Method for realizing safety of micro-controller chip writer
CN118413391A (en) * 2024-06-26 2024-07-30 合众新能源汽车股份有限公司 Method, system, equipment and medium for encrypting and decrypting prefabricated file of intelligent driving controller

Similar Documents

Publication Publication Date Title
US11057376B2 (en) Method, apparatus, and system for controlling intelligent device, and storage medium
US11488234B2 (en) Method, apparatus, and system for processing order information
WO2017186100A1 (en) Identity authentication method, system and device
WO2017198161A1 (en) Network connection method, apparatus, storage medium, and terminal
CN106534072B (en) user information authorization method, device, equipment and system
WO2015101273A1 (en) Security verification method, and related device and system
CN115544464A (en) Firmware burning method, device and system for micro-control chip and storage medium
CN106776124B (en) Data backup method and device
WO2018045487A1 (en) Data sharing method and terminal
CN105468952A (en) Authentication method and apparatus
CN107154935B (en) Service request method and device
CN104993961A (en) Equipment control methods, devices and system
WO2019061219A1 (en) Screen unlocking method and terminal
CN107423099B (en) Key code programming method, server, terminal, key code programming system and storage medium
CN110393021B (en) Connection method based on wireless communication and terminal
WO2019128179A1 (en) Method and apparatus for data transmission between mobile terminals, and mobile terminal
US20180234235A1 (en) Method and apparatus for generating terminal key
CN106713319B (en) Remote control method, device and system between terminals and mobile terminal
CN108270764B (en) Application login method, server and mobile terminal
WO2016106774A1 (en) Pattern lock unlocking method and terminal
CN109600340B (en) Operation authorization method, device, terminal and server
WO2015051742A1 (en) Method and device for automatically implementing wireless connection between devices
CN113923005B (en) Method and system for writing data
US9621674B2 (en) Method and apparatus for associating online accounts
CN112543493A (en) Wifi connection method, terminal and computer storage medium

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20221230

RJ01 Rejection of invention patent application after publication