CN105117354A - Firmware programming method, apparatus and system - Google Patents

Firmware programming method, apparatus and system Download PDF

Info

Publication number
CN105117354A
CN105117354A CN201510438363.8A CN201510438363A CN105117354A CN 105117354 A CN105117354 A CN 105117354A CN 201510438363 A CN201510438363 A CN 201510438363A CN 105117354 A CN105117354 A CN 105117354A
Authority
CN
China
Prior art keywords
firmware
programming
flashburn tools
instruction
flashburn
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
CN201510438363.8A
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.)
Beijing Xiaomi Technology Co Ltd
Xiaomi Inc
Original Assignee
Xiaomi Inc
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 Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201510438363.8A priority Critical patent/CN105117354A/en
Publication of CN105117354A publication Critical patent/CN105117354A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Embodiments of the present invention provide a firmware burning method, apparatus and system. The method comprises: monitoring whether an instruction of programming firmware is received, wherein the instruction of programming the firmware is used for indicating to carry out an operation of programming the firmware in parallel on at least two chips; when receiving the instruction of programming the firmware, downloading each to-be-programmed firmware from a preset download address of each firmware; and by means of each pre-established process associated with each programming tool, sending the firmware corresponding to each chip and the instruction of programming the firmware to each associated programming tool, so that each programming tool programs the corresponding firmware in parallel into the connected chip. A plurality of programming tools connected to a plurality of chips can implement programming of the corresponding firmware into the connected chip in parallel, so that an operation of carrying out firmware programming on the plurality of chips in parallel is implemented and the overall efficiency of firmware programming is improved.

Description

The programming method of firmware, Apparatus and system
Technical field
The disclosure relates to technical field of integrated circuits, particularly relates to programming method, the Apparatus and system of firmware.
Background technology
Traditional firmware programming method utilizes flashburn tools such as JLINK to realize, JLINK is the debugging of a kind of MCU chip and flashburn tools, when programming, JLINK one end is connected on computer USB interface, the other end is connected to MCU programming interface, user specifies firmware to be downloaded on the client software of PC, sends programming instruction and just can start firmware programming.
Traditional one-to-one programming scheme, can only complete the firmware typing one being treated to programming chip, efficiency is not high at every turn.
Summary of the invention
Disclosure embodiment provides a kind of programming method, Apparatus and system of firmware, and described technical scheme is as follows:
According to the first aspect of disclosure embodiment, provide a kind of programming method of firmware, for firmware programming client, comprising:
The instruction whether receiving programming firmware is monitored; The instruction of described programming firmware is used to indicate the operation at least two chips being performed concurrently to programming firmware;
When receiving the instruction of described programming firmware, download from the download address of each firmware preset each firmware treating programming;
By each process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools, so that each flashburn tools is concurrently by the firmware programming of correspondence to the chip that connects.
In the above-described embodiments, can realize in the chip concurrently corresponding firmware programming extremely connected with multiple flashburn tools that multiple chip connects, thus realize the operation concurrently multiple chip being carried out to firmware programming, improve the whole efficiency of firmware programming.
In one embodiment, each process that each flashburn tools is corresponding, set up in advance by following manner:
For each flashburn tools creates corresponding process, the corresponding one or more flashburn tools of each process;
The mark of described process is associated with the mark of the process of described flashburn tools and preserves.
In the above-described embodiments, for multiple flashburn tools creates corresponding process respectively, programming client can be realized controlled flashburn tools by multiple process, make flashburn tools perform the operation of programming concurrently, for present disclose provides the convenient specific embodiments implemented.
In one embodiment, described is that each flashburn tools creates corresponding process, comprising:
When the corresponding flashburn tools of each process, create n process, n is the quantity of flashburn tools;
When the multiple flashburn tools of existence process context, create m process, m < n, n are the quantity of flashburn tools, and the multiple flashburn tools serials presetting the same process of association complete the operation of programming firmware.
In the above-described embodiments, can be that a flashburn tools creates a corresponding process, also a process can be created, for multiple flashburn tools is served, but see on the whole, or multiple process is each flashburn tools service, so that programming client will treat that each flashburn tools issued by the firmware of programming, perform programming operation concurrently, above-described embodiment is for present disclose provides abundant, specific embodiments flexibly.
In one embodiment, when the multiple flashburn tools of existence process context, for the process being associated with multiple flashburn tools, by the process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for chip and programming firmware is sent to the step of associated flashburn tools, comprises:
By the described process being associated with multiple flashburn tools, the instruction of the firmware that each transmission flashburn tools is corresponding and programming firmware is to described flashburn tools; And judge whether the response that the programming receiving described flashburn tools feedback completes;
When receive state flashburn tools feedback programming complete response time, by the described process being associated with multiple flashburn tools, give described next flashburn tools by the instruction of firmware corresponding for associated next flashburn tools and programming firmware, until described in be associated with multiple flashburn tools all flashburn tools associated by process all complete the operation of programming firmware.
When a process is the service of multiple flashburn tools, the process of serving for multiple flashburn tools can be serial, from multiple flashburn tools on the whole, is controlled, achieve parallel processing by multiple process, improve the efficiency of programming.
In one embodiment, for after the process that each flashburn tools establishment is corresponding, also comprise:
The each process controlling to create is loaded into the Driver Library of corresponding each flashburn tools, and described Driver Library comprises the driver of flashburn tools.
How the process above mentioned embodiment provided by creating controls the embodiment of flashburn tools.
According to the second aspect of disclosure embodiment, a kind of programming method of firmware is provided, at least two flashburn tools, comprises:
Described at least two flashburn tools, respectively from least two processes associated with described flashburn tools set up in advance, the instruction of the firmware that the described flashburn tools that reception firmware programming client sends is corresponding and programming firmware; The instruction of described programming firmware is used for the operation described at least two chips being performed concurrently to programming firmware;
Described at least two flashburn tools, respectively according to the instruction of described programming firmware, in the chip firmware programming of correspondence extremely connected concurrently.
In the above-described embodiments, from the angle of multiple flashburn tools, can realize in the chip concurrently the firmware programming of correspondence extremely connected, thus realize the operation concurrently multiple chip being carried out to firmware programming, improve the whole efficiency of firmware programming.
In one embodiment, by the firmware programming of correspondence in the chip connected, comprising:
CPU in the chip connected by driving or bus, write the storage space preset in described chip by the firmware that firmware programming client sends; Or
Be loaded into the firmware of the execution programming operation preset to described chip, the firmware of described execution programming operation is used for the storage space preset write by the firmware that described firmware programming client sends in described chip.
Above-described embodiment is how firmware is write in chip that provide can the technical scheme of convenient enforcement by each flashburn tools.
According to the third aspect of disclosure embodiment, a kind of programming device of firmware is provided, comprises:
Monitoring modular, for monitoring the instruction whether receiving programming firmware; The instruction of described programming firmware is used for the operation at least two chips being performed concurrently to programming firmware;
Firmware downloads module, for when receiving the instruction of Client-initiated programming firmware, according to the mark treating each firmware of programming of carrying in described instruction, downloads from the download address of each firmware preset each firmware treating programming;
Sending module, for each process associated with each flashburn tools by setting up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools, so that each flashburn tools is concurrently by the firmware programming of correspondence to the chip that connects.
In one embodiment, the programming device of above-mentioned firmware, also comprises:
Process creation module, for creating corresponding process for each flashburn tools, the corresponding one or more flashburn tools of each process;
Memory module, preserves for the mark of described process being associated with the mark of the process of described flashburn tools.
In one embodiment, described process creation module, comprising:
First creates submodule, and for when an each process correspondence flashburn tools, create n process, n is the quantity of flashburn tools;
Second creates submodule, and for when the multiple flashburn tools of existence process context, creates m process, m < n, n are the quantity of flashburn tools, and the default multiple flashburn tools serials associating same process complete the operation of programming firmware.
In one embodiment, when the multiple flashburn tools of existence process context, described sending module, comprising:
Send submodule, for being associated with the process of multiple flashburn tools described in passing through, each instruction sending firmware corresponding to flashburn tools and programming firmware is to described flashburn tools; And when receive state flashburn tools feedback programming complete response time, by the described process being associated with multiple flashburn tools, give described next flashburn tools by the instruction of firmware corresponding for associated next flashburn tools and programming firmware, until described in be associated with multiple flashburn tools all flashburn tools associated by process all complete the operation of programming firmware;
Judge submodule, for judging the response that the programming whether reception submodule receives described flashburn tools feedback completes;
Receive submodule, the response that the programming for receiving described flashburn tools feedback completes.
The programming device of the firmware that disclosure embodiment provides, also comprises:
Control module, for being after each flashburn tools creates corresponding process in process creation module, each process controlling to create is loaded into the Driver Library of corresponding each flashburn tools, and described Driver Library comprises the driver of flashburn tools.
According to the fourth aspect of disclosure embodiment, a kind of programming system of firmware is provided, comprises: firmware programming client and at least two flashburn tools;
Described firmware programming client, for monitoring the instruction of Client-initiated programming firmware; The instruction of described programming firmware is used for the operation at least two chips being performed concurrently to programming firmware; When receiving the instruction of Client-initiated programming firmware, download each firmware treating programming according to the firmware address of presetting; According to the mark of each flashburn tools carried in described instruction, by each process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools;
At least two flashburn tools, for respectively from the process associated with described flashburn tools set up in advance, receive the instruction of firmware corresponding to described flashburn tools that firmware programming client sends and programming firmware; Respectively according to the instruction of described programming firmware, in the chip concurrently the firmware programming of correspondence extremely connected.
According to the 5th aspect of disclosure embodiment, a kind of programming device of firmware is provided, comprises:
Processor;
For the storer of storage of processor executable instruction;
Wherein, described processor is configured to:
The instruction whether receiving programming firmware is monitored; The instruction of described programming firmware is used to indicate the operation at least two chips being performed concurrently to programming firmware;
When receiving the instruction of described programming firmware, download from the download address of each firmware preset each firmware treating programming;
By each process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools, so that each flashburn tools is concurrently by the firmware programming of correspondence to the chip that connects.
The technical scheme that embodiment of the present disclosure provides can comprise following beneficial effect:
The programming method of the firmware that disclosure embodiment provides, the technical scheme of Apparatus and system, receive be used to indicate concurrently for multiple chip carry out the instruction of firmware programming time, download the firmware that each chip is corresponding, by each process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools, like this, can realize in the chip concurrently corresponding firmware programming extremely connected with multiple flashburn tools that multiple chip connects, thus realize the operation concurrently multiple chip being carried out to firmware programming, improve the whole efficiency of firmware programming.
Should be understood that, it is only exemplary and explanatory that above general description and details hereinafter describe, and can not limit the disclosure.
Accompanying drawing explanation
Accompanying drawing to be herein merged in instructions and to form the part of this instructions, shows and meets embodiment of the present disclosure, and is used from instructions one and explains principle of the present disclosure.
Fig. 1 is the process flow diagram of the programming method of a kind of firmware according to an exemplary embodiment.
Fig. 2 is the signal wiring schematic diagram of the programming method of firmware according to an exemplary embodiment.
Fig. 3 is the process flow diagram of the step S13 in the programming method of firmware according to an exemplary embodiment.
Fig. 4 is the another process flow diagram of the programming method of firmware according to an exemplary embodiment.
Fig. 5 is the block diagram of the programming device of firmware according to an exemplary embodiment.
Fig. 6 is the block diagram of the process creation module 54 according to an exemplary embodiment.
Fig. 7 is the block diagram of the sending module 53 according to an exemplary embodiment.
Fig. 8 is the block diagram of the programming device of firmware according to an exemplary embodiment.
Embodiment
Here will be described exemplary embodiment in detail, its sample table shows in the accompanying drawings.When description below relates to accompanying drawing, unless otherwise indicated, the same numbers in different accompanying drawing represents same or analogous key element.Embodiment described in following exemplary embodiment does not represent all embodiments consistent with the disclosure.On the contrary, they only with as in appended claims describe in detail, the example of apparatus and method that aspects more of the present disclosure are consistent.
Disclosure embodiment provides a kind of programming method of firmware, can be used for firmware programming client, and as shown in Figure 1, the method can comprise the steps S11-S13:
In step s 11, the instruction whether receiving programming firmware is monitored.
The instruction of the programming firmware in above-mentioned steps S11 is the operation for performing programming firmware concurrently at least two chips that user sends.
In step s 12, when receiving the instruction of programming firmware, download from the download address of each firmware preset each firmware treating programming.
In step s 13, by each process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools, so that each flashburn tools is concurrently by the firmware programming of correspondence to the chip that connects.
The programming method of the above-mentioned firmware that disclosure embodiment provides, receive be used to indicate concurrently for multiple chip carry out the instruction of firmware programming time, download the firmware that each chip is corresponding, by each process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools, like this, can realize in the chip concurrently corresponding firmware programming extremely connected with multiple flashburn tools that multiple chip connects, thus realize the operation concurrently multiple chip being carried out to firmware programming, improve the whole efficiency of firmware programming.
Respectively above steps is described in detail below.
Before the flow process performing above-mentioned steps S11-S13, can first build corresponding hardware environment, signal wiring schematic diagram such as shown in Fig. 2, PC end is provided with firmware programming client, multiple flashburn tools connects PC end respectively and treats the chip of programming, each flashburn tools one end connects PC end by such as USB interface, controls by firmware programming client, and the other end connects the programming interface of chip.
Each flashburn tools can by the mark of each flashburn tools such as sequence number (SerialNumber, SN) or other can the identification marking of this flashburn tools of unique identification distinguish, so that the firmware of correspondence is sent to flashburn tools by firmware programming client, so that firmware programming is entered connected chip by flashburn tools.
Chip can be multiple, such as micro-control unit (MicrocontrollerUnit, MCU), digital signal processor (DigitalSignalProcessing, DSP) etc., and the disclosure does not limit this.
In one embodiment, because need to carry out programming operation to multiple chip concurrently, therefore, at firmware programming client-side, each chip can be preserved in advance and treat the mark of programming firmware, the mark of flashburn tools that this firmware is corresponding, the mark of chip that each flashburn tools connects and the download address of each firmware, the such as example of following table 1:
Table 1
In above-mentioned steps S11, the instruction of programming firmware is used to indicate the operation at least two chips being performed concurrently to programming firmware, therefore, in this instruction, the mark of each chip needing programming can be carried, or the mark of each firmware needing programming can be carried.
Firmware programming client is after the instruction receiving this programming firmware, according to the mark needing each firmware of programming of carrying in this instruction, each firmware treating programming is downloaded from the download address of each firmware preset, or according to the mark needing each chip of programming of carrying in this instruction, according to the corresponding relation between each chip preserved in advance and the firmware of programming, can know and need to download which or which firmware, just can perform the download address download firmware of each firmware that follow-up basis is preset, and firmware be issued the step of corresponding flashburn tools.
In step s 12, based on the mark of each chip carried in above-mentioned instruction, and above-mentioned firmware, the mark of flashburn tools, the mark of chip and firmware downloads address correspondence table, find and need the download address of the firmware of programming to download corresponding firmware.Or
Directly based on the mark of each firmware carried in above-mentioned instruction, from the download address of correspondence, download corresponding firmware.
In one embodiment, each process associated with each flashburn tools in above-mentioned steps S13, can be set up in advance by following process:
For each flashburn tools creates corresponding process, the corresponding one or more flashburn tools of each process;
The mark of process is associated with the mark of the process of flashburn tools and preserves.
In one embodiment, above-mentioned is that each flashburn tools creates corresponding process, may be embodied as:
When the corresponding flashburn tools of each process, create n process, n is the quantity of flashburn tools;
When the multiple flashburn tools of existence process context, create m process, m < n, n are the quantity of flashburn tools, and the multiple flashburn tools serials presetting the same process of association complete the operation of programming firmware.
In other words, the quantitative relation of the process of flashburn tools and establishment can be man-to-man relation, is a flashburn tools and distributes a process, like this, the quantity of the process created is equal with the quantity of flashburn tools, has how many flashburn tools, just creates how many processes.
In the embodiment that another is outer, flashburn tools can be many-to-one relation with the quantitative relation of the process created, that is, the process created can be multiple flashburn tools service.
Based on this, in all created processes, it is a flashburn tools service that part can be had to be a process, and having an other part can be a process be multiple flashburn tools services.
When a process is the service of multiple flashburn tools, a process can be a flashburn tools service a moment, after firmware programming completes by this flashburn tools, this process is next flashburn tools service again, that is, be serial with the programming process of multiple flashburn tools of same process context.
Suppose that one has 8 flashburn tools, then a kind of mode to create 8 processes, and each process associates respectively at a flashburn tools, is the programming operate services of the flashburn tools of correspondence.
Another kind of mode can create to be less than 8 such as 6 processes, then, wherein has 4 processes to be respectively 4 flashburn tools services, have 2 processes to be respectively 2 flashburn tools services in addition.
Based on this, need the mark of the flashburn tools of each process context such as SN etc. to associate with the mark of this process to preserve.
For the situation of a multiple flashburn tools of process context, also need the sequencing of the service preset between multiple flashburn tools.
An above-mentioned process is the situation of one or more flashburn tools service, owing to creating multiple process, the process firmware programming of correspondence being entered chip is completed concurrently by the flashburn tools of multiple process context, even if part flashburn tools may need the mode of part-serial to perform programming process, but compared with the scheme of one-to-one programming in correlation technique, improve the efficiency of the entirety of programming.
Create multiple process, various ways can be adopted, such as, CreateThread function under the instrument such as Windows system of the establishment process adopting operating system to provide, or the pthread_create function etc. under linux operating system, this no longer describes in detail concrete constructive process again.
In one embodiment, when a process context flashburn tools, in step s 13 above-mentioned, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools, like this, firmware, just according to this programming instruction, by the firmware that received by process by the connecting interface with chip, is write in the storage space that chip presets (in the flash of such as chip) by flashburn tools.
In one embodiment, when the multiple flashburn tools of existence process context, in step s 13 above-mentioned, by the process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for chip and programming firmware is sent to the step of associated flashburn tools, in the specific implementation, as shown in Figure 3, following step can be comprised:
In step S31, by the described process being associated with multiple flashburn tools, the instruction of the firmware that each transmission flashburn tools is corresponding and programming firmware is to flashburn tools.
In step s 32, the response that the programming receiving flashburn tools feedback completes is judged whether; When receive state flashburn tools feedback programming complete response time, perform following step S33.
In step S33, judge all to have sent corresponding firmware and the instruction of programming firmware to all flashburn tools of this process context; If so, perform step S34, if not, turn to the step repeating above-mentioned S31, described in namely passing through, be associated with the process of multiple flashburn tools, give described next flashburn tools by the instruction of firmware corresponding for associated next flashburn tools and programming firmware.
In step S34, process ends.
For example, suppose process 1 is associated with flashburn tools 1, process 2 is associated with flashburn tools 2, process 3 is associated with flashburn tools 3, flashburn tools 4 and flashburn tools 5, when programming client receives the instruction of programming firmware 1 ~ firmware 5 that user sends, programming client is according to the incidence relation between each flashburn tools pre-set and process 1 ~ 3, firmware 1 and this programming instruction are sent to flashburn tools 1 by process 1, firmware 2 and this programming instruction are sent to flashburn tools 2 by process 2, firmware 3 and this programming instruction are first sent to flashburn tools 3 by process 3, each flashburn tools starts to perform this programming instruction, so, firmware 1 is write connected chip by flashburn tools 1, meanwhile, firmware 2 is write connected chip by flashburn tools 2, firmware 3 programming is entered connected chip by flashburn tools 3, after flashburn tools 3 programming completes, the response that programming completes is fed back by programming process 3, firmware 4 and programming instruction are sent to flashburn tools 4 by programming process 3 by following programming client again, flashburn tools 4 performs the work of firmware programming, until programming completes return response, and then by programming process 3, firmware 5 and programming instruction are sent to flashburn tools 5, flashburn tools 5 is according to this programming instruction, also the programming process of firmware 5 is completed.The time experienced due to the programming process of each flashburn tools differs, therefore, and the time order and function order that said process is not strict.
In one embodiment, above-mentioned be, after each flashburn tools creates the step of corresponding process, following step can also be performed:
The each process controlling to create is loaded into the Driver Library of corresponding each flashburn tools, comprises the driver of flashburn tools at this Driver Library.
Each process is loaded with the Driver Library of corresponding flashburn tools, is convenient to by the control of this process realization to flashburn tools.
Based on same inventive concept, the disclosure implements a kind of programming method additionally providing firmware, at least two flashburn tools, as shown in Figure 4, comprises the steps:
In step S41, at least two flashburn tools, respectively from the process associated with flashburn tools set up in advance, the instruction of the firmware that the described flashburn tools that reception firmware programming client sends is corresponding and programming firmware; The instruction of this programming firmware is used for the operation described at least two chips being performed concurrently to programming firmware;
In step S42, at least two flashburn tools, respectively according to the instruction of described programming firmware, in the chip firmware programming of correspondence extremely connected concurrently.
In above-mentioned steps S41, flashburn tools from set up in advance with associate at least two processes of flashburn tools, the process of the instruction of the firmware that the described flashburn tools that reception firmware programming client sends is corresponding and programming firmware, see the detailed implementation process of aforementioned S11 ~ S13, can not repeat them here.
In one embodiment, in step S42, by the firmware programming of correspondence in the chip connected, can be realized by one of following two kinds of modes:
First kind of way:
CPU in the chip that flashburn tools is connected by Direct driver or bus, write the storage space (flash of such as chip) preset in described chip by the firmware that firmware programming client sends.
The second way:
Flashburn tools is loaded into the firmware (but not firmware of the chip to be written of firmware programming client transmission) of the execution programming operation preset to chip, the firmware of this execution programming operation is used for the storage space preset write by the firmware that firmware programming client sends in described chip.Such as, be loaded into the firmware of the execution programming operation preset in the random access memory (RAM) of chip after, the flash that the various firmwares (such as application firmware) that firmware programming client sends just automatically can be write chip by this firmware has suffered.
The said method that corresponding disclosure embodiment provides, the disclosure embodiment still provides a kind of programming device of firmware, for firmware programming client, as shown in Figure 5, comprising:
Monitoring modular 51, the instruction be configured to whether receiving programming firmware is monitored; The instruction of programming firmware is used for the operation at least two chips being performed concurrently to programming firmware;
Firmware downloads module 52, is configured to when receiving the instruction of Client-initiated programming firmware, according to the mark treating each firmware of programming of carrying in described instruction, downloads from the download address of each firmware preset each firmware treating programming;
Sending module 53, be configured to each process associated with each flashburn tools by setting up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools, so that each flashburn tools is concurrently by the firmware programming of correspondence to the chip that connects.
In one embodiment, the programming device of above-mentioned firmware, also can comprise:
Process creation module 54, for creating corresponding process for each flashburn tools, the corresponding one or more flashburn tools of each process;
Memory module 55, preserves for the mark of described process being associated with the mark of the process of described flashburn tools.
In one embodiment, above-mentioned process creation module 54, as shown in Figure 6, can comprise:
First creates submodule 541, and for when an each process correspondence flashburn tools, create n process, n is the quantity of flashburn tools;
Second creates submodule 542, for when the multiple flashburn tools of existence process context, create m process, m < n, n is the quantity of flashburn tools, and the multiple flashburn tools serials presetting the same process of association complete the operation of programming firmware.
When the multiple flashburn tools of existence process context, above-mentioned sending module 53, as shown in Figure 7, comprising:
Send submodule 531, for being associated with the process of multiple flashburn tools described in passing through, each instruction sending firmware corresponding to flashburn tools and programming firmware is to described flashburn tools; And when receive state flashburn tools feedback programming complete response time, by the described process being associated with multiple flashburn tools, give described next flashburn tools by the instruction of firmware corresponding for associated next flashburn tools and programming firmware, until described in be associated with multiple flashburn tools all flashburn tools associated by process all complete the operation of programming firmware;
Judge submodule 532, for judging the response that the programming whether reception submodule receives described flashburn tools feedback completes;
Receive submodule 533, the response that the programming for receiving described flashburn tools feedback completes.
In one embodiment, the programming device of above-mentioned firmware, also can comprise:
Control module 56, for being after each flashburn tools creates corresponding process in process creation module, each process controlling to create is loaded into the Driver Library of corresponding each flashburn tools, and described Driver Library comprises the driver of flashburn tools.
The disclosure embodiment still provides a kind of programming system of firmware, comprising: firmware programming client and at least two flashburn tools;
Firmware programming client, for monitoring the instruction of Client-initiated programming firmware; The instruction of described programming firmware is used for the operation at least two chips being performed concurrently to programming firmware; When receiving the instruction of Client-initiated programming firmware, download each firmware treating programming according to the firmware address of presetting; According to the mark of each flashburn tools carried in described instruction, by each process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools;
At least two flashburn tools, for respectively from the process associated with described flashburn tools set up in advance, receive the instruction of firmware corresponding to described flashburn tools that firmware programming client sends and programming firmware; Respectively according to the instruction of described programming firmware, in the chip concurrently the firmware programming of correspondence extremely connected.
In one embodiment, any one at least two flashburn tools, for by driving CPU in the chip that connects or bus, writes the storage space preset in described chip by the firmware that firmware programming client sends; Or be loaded into the firmware of the execution programming operation preset to chip, the firmware of this execution programming operation is used for the storage space preset write by the firmware that described firmware programming client sends in described chip.
The disclosure embodiment still provides a kind of programming device of firmware, comprising:
Processor;
For the storer of storage of processor executable instruction;
Wherein, described processor is configured to:
The instruction whether receiving programming firmware is monitored; The instruction of described programming firmware is used to indicate the operation at least two chips being performed concurrently to programming firmware;
When receiving the instruction of described programming firmware, according to the mark treating each firmware of programming of carrying in described instruction, download from the download address of each firmware preset each firmware treating programming;
By each process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools, so that each flashburn tools is concurrently by the firmware programming of correspondence to the chip that connects.
A kind of non-transitory computer-readable recording medium, when the instruction in described storage medium is performed by the processor of mobile terminal, make mobile terminal can perform a kind of programming method of firmware, described method comprises:
The instruction whether receiving programming firmware is monitored; The instruction of described programming firmware is used to indicate the operation at least two chips being performed concurrently to programming firmware;
When receiving the instruction of described programming firmware, according to the mark treating each firmware of programming of carrying in described instruction, download from the download address of each firmware preset each firmware treating programming;
By each process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools, so that each flashburn tools is concurrently by the firmware programming of correspondence to the chip that connects.
Fig. 8 is the block diagram of a kind of programming device 1200 for firmware according to an exemplary embodiment, and this device is applicable to terminal device.Such as, device 1200 can be mobile phone, computing machine, digital broadcast terminal, messaging devices, game console, tablet device, Medical Devices, body-building equipment, personal digital assistant etc.
With reference to Fig. 8, device 1200 can comprise following one or more assembly: processing components 1202, storer 1204, power supply module 1206, multimedia groupware 1208, audio-frequency assembly 1210, the interface 1212 of I/O (I/O), sensor module 1214, and communications component 1216.
The integrated operation of the usual control device 1200 of processing components 1202, such as with display, call, data communication, camera operation and record operate the operation be associated.Treatment element 1202 can comprise one or more processor 1220 to perform instruction, to complete all or part of step of above-mentioned method.In addition, processing components 1202 can comprise one or more module, and what be convenient between processing components 1202 and other assemblies is mutual.Such as, processing element 1202 can comprise multi-media module, mutual with what facilitate between multimedia groupware 1208 and processing components 1202.
Storer 1204 is configured to store various types of data to be supported in the operation of equipment 1200.The example of these data comprises for any application program of operation on device 1200 or the instruction of method, contact data, telephone book data, message, picture, video etc.Storer 1204 can be realized by the volatibility of any type or non-volatile memory device or their combination, as static RAM (SRAM), Electrically Erasable Read Only Memory (EEPROM), Erasable Programmable Read Only Memory EPROM (EPROM), programmable read only memory (PROM), ROM (read-only memory) (ROM), magnetic store, flash memory, disk or CD.
The various assemblies that electric power assembly 1206 is device 1200 provide electric power.Electric power assembly 1206 can comprise power-supply management system, one or more power supply, and other and the assembly generating, manage and distribute electric power for device 1200 and be associated.
Multimedia groupware 1208 is included in the screen providing an output interface between described device 1200 and user.In certain embodiments, screen can comprise liquid crystal display (LCD) and touch panel (TP).If screen comprises touch panel, screen may be implemented as touch-screen, to receive the input signal from user.Touch panel comprises one or more touch sensor with the gesture on sensing touch, slip and touch panel.Described touch sensor can the border of not only sensing touch or sliding action, but also detects the duration relevant to described touch or slide and pressure.In certain embodiments, multimedia groupware 1208 comprises a front-facing camera and/or post-positioned pick-up head.When equipment 1200 is in operator scheme, during as screening-mode or video mode, front-facing camera and/or post-positioned pick-up head can receive outside multi-medium data.Each front-facing camera and post-positioned pick-up head can be fixing optical lens systems or have focal length and optical zoom ability.
Audio-frequency assembly 1210 is configured to export and/or input audio signal.Such as, audio-frequency assembly 1210 comprises a microphone (MIC), and when device 1200 is in operator scheme, during as call model, logging mode and speech recognition mode, microphone is configured to receive external audio signal.The sound signal received can be stored in storer 1204 further or be sent via communications component 1216.In certain embodiments, audio-frequency assembly 1210 also comprises a loudspeaker, for output audio signal.
I/O interface 1212 is for providing interface between processing components 1202 and peripheral interface module, and above-mentioned peripheral interface module can be keyboard, some striking wheel, button etc.These buttons can include but not limited to: home button, volume button, start button and locking press button.
Sensor module 1214 comprises one or more sensor, for providing the state estimation of various aspects for device 1200.Such as, sensor module 1214 can detect the opening/closing state of equipment 1200, the relative positioning of assembly, such as described assembly is display and the keypad of device 1200, the position of all right pick-up unit 1200 of sensor module 1214 or device 1200 assemblies changes, the presence or absence that user contacts with device 1200, the temperature variation of device 1200 orientation or acceleration/deceleration and device 1200.Sensor module 1214 can comprise proximity transducer, be configured to without any physical contact time detect near the existence of object.Sensor module 1214 can also comprise optical sensor, as CMOS or ccd image sensor, for using in imaging applications.In certain embodiments, this sensor module 1214 can also comprise acceleration transducer, gyro sensor, Magnetic Sensor, pressure transducer or temperature sensor.
Communications component 1216 is configured to the communication being convenient to wired or wireless mode between device 1200 and other equipment.Device 1200 can access the wireless network based on communication standard, as WiFi, 2G or 3G, or their combination.In one exemplary embodiment, communication component 1216 receives from the broadcast singal of external broadcasting management system or broadcast related information via broadcast channel.In one exemplary embodiment, described communication component 1216 also comprises near-field communication (NFC) module, to promote junction service.Such as, can based on radio-frequency (RF) identification (RFID) technology in NFC module, Infrared Data Association (IrDA) technology, ultra broadband (UWB) technology, bluetooth (BT) technology and other technologies realize.
In the exemplary embodiment, device 1200 can be realized, for performing said method by one or more application specific integrated circuit (ASIC), digital signal processor (DSP), digital signal processing appts (DSPD), programmable logic device (PLD) (PLD), field programmable gate array (FPGA), controller, microcontroller, microprocessor or other electronic components.
In the exemplary embodiment, additionally provide a kind of non-transitory computer-readable recording medium comprising instruction, such as, comprise the storer 1204 of instruction, above-mentioned instruction can perform said method by the processor 820 of device 1200.Such as, described non-transitory computer-readable recording medium can be ROM, random access memory (RAM), CD-ROM, tape, floppy disk and optical data storage devices etc.
Those skilled in the art, at consideration instructions and after putting into practice disclosed herein disclosing, will easily expect other embodiment of the present disclosure.The application is intended to contain any modification of the present disclosure, purposes or adaptations, and these modification, purposes or adaptations are followed general principle of the present disclosure and comprised the undocumented common practise in the art of the disclosure or conventional techniques means.Instructions and embodiment are only regarded as exemplary, and true scope of the present disclosure and spirit are pointed out by claim below.
Should be understood that, the disclosure is not limited to precision architecture described above and illustrated in the accompanying drawings, and can carry out various amendment and change not departing from its scope.The scope of the present disclosure is only limited by appended claim.

Claims (15)

1. a programming method for firmware, for firmware programming client, is characterized in that, comprising:
Monitor the instruction whether receiving programming firmware, the instruction of described programming firmware is used to indicate the operation at least two chips being performed concurrently to programming firmware;
When receiving the instruction of described programming firmware, download from the download address of each firmware preset each firmware treating programming;
By each process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools, so that each flashburn tools is concurrently by the firmware programming of correspondence to the chip that connects.
2. the method for claim 1, is characterized in that, each process that each flashburn tools is corresponding, is set up in advance by following manner:
For each flashburn tools creates corresponding process, the corresponding one or more flashburn tools of each process;
The mark of described process is associated with the mark of the process of described flashburn tools and preserves.
3. method as claimed in claim 2, is characterized in that, described is that each flashburn tools creates corresponding process, comprising:
When the corresponding flashburn tools of each process, create n process, n is the quantity of flashburn tools;
When the multiple flashburn tools of existence process context, create m process, m < n, n are the quantity of flashburn tools, and the multiple flashburn tools serials presetting the same process of association complete the operation of programming firmware.
4. method as claimed in claim 3, it is characterized in that, when the multiple flashburn tools of existence process context, for the process being associated with multiple flashburn tools, by the process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for chip and programming firmware is sent to the step of associated flashburn tools, comprises:
By the described process being associated with multiple flashburn tools, the instruction of the firmware that each transmission flashburn tools is corresponding and programming firmware is to described flashburn tools; And judge whether the response that the programming receiving described flashburn tools feedback completes;
When receive state flashburn tools feedback programming complete response time, by the described process being associated with multiple flashburn tools, give described next flashburn tools by the instruction of firmware corresponding for associated next flashburn tools and programming firmware, until described in be associated with multiple flashburn tools all flashburn tools associated by process all complete the operation of programming firmware.
5. the method as described in any one of claim 2 to 4, is characterized in that, for after the process that each flashburn tools establishment is corresponding, also comprises:
The each process controlling to create is loaded into the Driver Library of corresponding each flashburn tools, and described Driver Library comprises the driver of flashburn tools.
6. a programming method for firmware, at least two flashburn tools, is characterized in that, comprising:
Described at least two flashburn tools, respectively from least two processes associated with described flashburn tools set up in advance, the instruction of the firmware that the described flashburn tools that reception firmware programming client sends is corresponding and programming firmware; The instruction of described programming firmware is used for the operation described at least two chips being performed concurrently to programming firmware;
Described at least two flashburn tools, respectively according to the instruction of described programming firmware, in the chip firmware programming of correspondence extremely connected concurrently.
7. method as claimed in claim 6, is characterized in that, by the firmware programming of correspondence in the chip connected, comprising:
CPU in the chip connected by driving or bus, write the storage space preset in described chip by the firmware that firmware programming client sends; Or
Be loaded into the firmware of the execution programming operation preset to described chip, the firmware of described execution programming operation is used for the storage space preset write by the firmware that described firmware programming client sends in described chip.
8. a programming device for firmware, for firmware programming client, is characterized in that, comprising:
Monitoring modular, for monitoring the instruction whether receiving programming firmware; The instruction of described programming firmware is used for the operation at least two chips being performed concurrently to programming firmware;
Firmware downloads module, for when receiving the instruction of Client-initiated programming firmware, according to the mark treating each firmware of programming of carrying in described instruction, downloads from the download address of each firmware preset each firmware treating programming;
Sending module, for each process associated with each flashburn tools by setting up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools, so that each flashburn tools is concurrently by the firmware programming of correspondence to the chip that connects.
9. device as claimed in claim 8, is characterized in that, also comprise:
Process creation module, for creating corresponding process for each flashburn tools, the corresponding one or more flashburn tools of each process;
Memory module, preserves for the mark of described process being associated with the mark of the process of described flashburn tools.
10. device as claimed in claim 9, it is characterized in that, described process creation module, comprising:
First creates submodule, and for when an each process correspondence flashburn tools, create n process, n is the quantity of flashburn tools;
Second creates submodule, and for when the multiple flashburn tools of existence process context, creates m process, m < n, n are the quantity of flashburn tools, and the default multiple flashburn tools serials associating same process complete the operation of programming firmware.
11. devices as claimed in claim 9, is characterized in that, when the multiple flashburn tools of existence process context, described sending module, comprising:
Send submodule, for being associated with the process of multiple flashburn tools described in passing through, each instruction sending firmware corresponding to flashburn tools and programming firmware is to described flashburn tools; And when receive state flashburn tools feedback programming complete response time, by the described process being associated with multiple flashburn tools, give described next flashburn tools by the instruction of firmware corresponding for associated next flashburn tools and programming firmware, until described in be associated with multiple flashburn tools all flashburn tools associated by process all complete the operation of programming firmware;
Judge submodule, for judging the response that the programming whether reception submodule receives described flashburn tools feedback completes;
Receive submodule, the response that the programming for receiving described flashburn tools feedback completes.
12. devices as described in any one of claim 9 to 11, is characterized in that, also comprise:
Control module, for being after each flashburn tools creates corresponding process in process creation module, each process controlling to create is loaded into the Driver Library of corresponding each flashburn tools, and described Driver Library comprises the driver of flashburn tools.
The programming system of 13. 1 kinds of firmwares, is characterized in that, comprising: firmware programming client and at least two flashburn tools;
Described firmware programming client, for monitoring the instruction of Client-initiated programming firmware; The instruction of described programming firmware is used for the operation at least two chips being performed concurrently to programming firmware; When receiving the instruction of Client-initiated programming firmware, download each firmware treating programming according to the firmware address of presetting; According to the mark of each flashburn tools carried in described instruction, by each process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools;
At least two flashburn tools, for respectively from the process associated with described flashburn tools set up in advance, receive the instruction of firmware corresponding to described flashburn tools that firmware programming client sends and programming firmware; Respectively according to the instruction of described programming firmware, in the chip concurrently the firmware programming of correspondence extremely connected.
14. devices as claimed in claim 13, it is characterized in that, any one in described at least two flashburn tools, for by driving CPU in the chip that connects or bus, writes the storage space preset in described chip by the firmware that firmware programming client sends; Or be loaded into the firmware of the execution programming operation preset to described chip, the firmware of described execution programming operation is used for the storage space preset write by the firmware that described firmware programming client sends in described chip.
The programming device of 15. 1 kinds of firmwares, for firmware programming client, is characterized in that, comprising:
Processor;
For the storer of storage of processor executable instruction;
Wherein, described processor is configured to:
The instruction whether receiving programming firmware is monitored; The instruction of described programming firmware is used to indicate the operation at least two chips being performed concurrently to programming firmware;
When receiving the instruction of described programming firmware, according to the mark treating each firmware of programming of carrying in described instruction, download from the download address of each firmware preset each firmware treating programming;
By each process associated with each flashburn tools set up in advance, the instruction of firmware corresponding for each chip and programming firmware is sent to associated flashburn tools, so that each flashburn tools is concurrently by the firmware programming of correspondence to the chip that connects.
CN201510438363.8A 2015-07-23 2015-07-23 Firmware programming method, apparatus and system Pending CN105117354A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510438363.8A CN105117354A (en) 2015-07-23 2015-07-23 Firmware programming method, apparatus and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510438363.8A CN105117354A (en) 2015-07-23 2015-07-23 Firmware programming method, apparatus and system

Publications (1)

Publication Number Publication Date
CN105117354A true CN105117354A (en) 2015-12-02

Family

ID=54665352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510438363.8A Pending CN105117354A (en) 2015-07-23 2015-07-23 Firmware programming method, apparatus and system

Country Status (1)

Country Link
CN (1) CN105117354A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107066301A (en) * 2017-04-27 2017-08-18 北京安控科技股份有限公司 A kind of method for down loading of embedded computer firmware program
CN108205444A (en) * 2017-12-21 2018-06-26 帝晶光电(深圳)有限公司 A kind of efficient CTP burning programs test processes system
CN108829403A (en) * 2018-05-28 2018-11-16 郑州云海信息技术有限公司 A kind of method, apparatus, equipment and the storage medium of solid state hard disk programming
CN109062562A (en) * 2018-07-27 2018-12-21 四川长虹电器股份有限公司 The method for down loading of MCU firmware program
CN109165025A (en) * 2018-08-01 2019-01-08 京信通信系统(中国)有限公司 The offline method for burn-recording of chip, device, system, computer storage medium and equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727416A (en) * 2008-10-21 2010-06-09 英业达股份有限公司 Multichip parallel program burning system
CN102289418A (en) * 2011-09-05 2011-12-21 深圳芯智汇科技有限公司 Built-in device programming system and method
CN103412781A (en) * 2013-08-27 2013-11-27 信利光电股份有限公司 Burning method for one-time programmable (OTP) chips

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727416A (en) * 2008-10-21 2010-06-09 英业达股份有限公司 Multichip parallel program burning system
CN102289418A (en) * 2011-09-05 2011-12-21 深圳芯智汇科技有限公司 Built-in device programming system and method
CN103412781A (en) * 2013-08-27 2013-11-27 信利光电股份有限公司 Burning method for one-time programmable (OTP) chips

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107066301A (en) * 2017-04-27 2017-08-18 北京安控科技股份有限公司 A kind of method for down loading of embedded computer firmware program
CN108205444A (en) * 2017-12-21 2018-06-26 帝晶光电(深圳)有限公司 A kind of efficient CTP burning programs test processes system
CN108829403A (en) * 2018-05-28 2018-11-16 郑州云海信息技术有限公司 A kind of method, apparatus, equipment and the storage medium of solid state hard disk programming
CN109062562A (en) * 2018-07-27 2018-12-21 四川长虹电器股份有限公司 The method for down loading of MCU firmware program
CN109165025A (en) * 2018-08-01 2019-01-08 京信通信系统(中国)有限公司 The offline method for burn-recording of chip, device, system, computer storage medium and equipment

Similar Documents

Publication Publication Date Title
CN105652672A (en) Method and apparatus for controlling intelligent device
CN104461725A (en) Application process starting control method and device
CN105117354A (en) Firmware programming method, apparatus and system
CN104407592A (en) Method and device for regulating running state of smart home device
CN104318741A (en) Bluetooth device control method and device
CN104853136A (en) Video communication method and device
CN105357262A (en) Device control method and device control apparatus
CN105204350A (en) Method and apparatus for displaying household electrical appliance information
CN104618511A (en) Intelligent device detection method and device
CN105094931A (en) Software upgrading method and device
CN104038536A (en) Plug-in communication method and device
CN105094541A (en) Method, device and system for terminal control
CN105100074A (en) Data operation processing method, device and terminal equipment
CN104035662A (en) Interface display method, device and terminal
CN105159523A (en) Target function enabling method, apparatus and system
CN103942047A (en) User instruction execution method and device
CN104536935A (en) Calculation displaying method, calculation editing method and device
CN104484438A (en) Image processing method and device
CN104978113A (en) Dockbar processing method and apparatus
CN104636170A (en) Application acquiring method and device and electronic device
CN104881304A (en) Resource downloading method and device
CN104317647A (en) Application function realizing method, device and terminal
CN105549960A (en) Camera control method and apparatus
CN104111813A (en) Method and device for picture synchronous display, mobile terminal and terminal device
CN105550213A (en) Picture browsing method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20151202