CN1523501A - Firmware updating method and apparatus for inspecting program contents and guaranteeing updating compatibility - Google Patents

Firmware updating method and apparatus for inspecting program contents and guaranteeing updating compatibility Download PDF

Info

Publication number
CN1523501A
CN1523501A CNA03106101XA CN03106101A CN1523501A CN 1523501 A CN1523501 A CN 1523501A CN A03106101X A CNA03106101X A CN A03106101XA CN 03106101 A CN03106101 A CN 03106101A CN 1523501 A CN1523501 A CN 1523501A
Authority
CN
China
Prior art keywords
procedure code
peripheral unit
code
control circuit
firmware
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.)
Granted
Application number
CNA03106101XA
Other languages
Chinese (zh)
Other versions
CN1317641C (en
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.)
MediaTek Inc
Original Assignee
MediaTek 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 MediaTek Inc filed Critical MediaTek Inc
Priority to CNB03106101XA priority Critical patent/CN1317641C/en
Publication of CN1523501A publication Critical patent/CN1523501A/en
Application granted granted Critical
Publication of CN1317641C publication Critical patent/CN1317641C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

The invention provides a method and related device for updating firmware in electron system. The system has a host computer and a peripheral device. There sets a control circuit and a flash memory in the peripheral device, the control circuit executes the first program code recorded in the flash memory to receive the control instruction and control the peripheral device operation. The method tests if the second program code accords with the preset content or not, in order to judge the consistency of the second program code before using the second grogram code to replace the first program code. The testing step can be operated by host computer or control circuit, the step can examine that if part of constant value and word string accord with the preset value or not, or/ and examine that if the instruction, data in preset address of the second program code accord with the preset instruction, data or not, in order to judge the consistency of the second program code.

Description

The scrutiny program content is guaranteed the firmware update and the device of firmware update compatibility
Technical field
The invention provides a kind of method and relevant apparatus of firmware update, refer to a kind of method and the relevant apparatus of content that upgrades with firmware program code of before firmware update, checking especially to judge its compatibility, applicability.
Background technology
In modern information society, information, image, data information all are that the signal with electronic form transmits, stores and handles, and various electronic system, device that is used for the access electronic signal is little to mobile phone, greatly to computing machine, also just becomes the key foundation of information construction.In general, in electronic installation, be provided with the various operations of the unified control of control circuit electronic installation mostly; And in complicated, the various electronic installation of function, because the program more complicated of control will write down correlation step and the process that various control programs carry out with specific procedure code; The control circuit program code just can realize the difference in functionality of electronic installation.Such procedure code promptly is referred to as firmware program code; And firmware program code is stored in the nonvolatile memory (as flash memory) in the electronic installation mostly, makes things convenient for control circuit to read, carry out.In addition, as in the more complicated and diversified electronic system of this function of computer system, the various peripheral units of computing machine itself just have control circuit and corresponding firmware program code; The main frame of computing machine itself only need send the control circuit of high-rise steering order to peripheral unit, and control circuit will be carried out the firmware program code of this peripheral unit itself, the practical operation of control peripheral unit.For instance, the CD player in the computer system itself just has its control circuit and corresponding flash memory, with the firmware program code of stored CD machine itself.When the main frame of computing machine will read data on the discs, only need to specify the address of these data on discs to CD player, the control circuit of CD player will execution itself firmware program code, operation such as motor (spindle), laser read head (pick-up head) or the like electromechanical compo in the coordination CD player (will reach specific rotating speed as motor, read head will move, be locked to certain location, receive laser light reflected or the like on the discs), the actual requirement that realizes main frame.
Please refer to Fig. 1.Fig. 1 is the function block schematic diagram of an exemplary electronic system 10.Electronic system 10 can be a computer system, comprising a main frame 12 and one or more peripheral unit (drawing two peripheral units 14,15 among Fig. 1 as representative) are arranged.Peripheral unit can be flash memory of read-only optical disc machine, CD writer, hard disk, circumscribed or the like; With peripheral unit 14 is that example illustrates the configuration in the typical peripheral unit, is provided with a control circuit 16, a memory buffer 18, a memory 20 and a servo hardware 22 in the peripheral unit 14.If electronic system 10 is a computer system, then the Typical Disposition of main frame 12 just as shown in fig. 1, it is provided with storer 30, drafting card 32A and the display 32B of a central processing unit 26, a north bridge circuit 28A, a south bridge circuit 28B and a volatibility.Central processing unit 26 is used for the operation of master hosts 12, and storer 30 is used for temporary central processing unit essential data, data of 26 operating periods, and drafting card 32A then is used for image data processing, is shown on the display 32B with the situation with main frame 12 operations.And north bridge circuit 28A promptly is used for managing, control the data transmission of central processing unit 26 and drafting card 32A, storer 30; South bridge circuit 28B then is electrically connected in central processing unit 26 by north bridge circuit 28A, as the interface of each peripheral unit 14,15 and main frame 12 swap datas.By being electrically connected (as passing through bus) of 14,15 of south bridge circuit 28B and peripheral units, main frame 12 just can be intercoursed data with each peripheral unit 14,15.On the other hand, in peripheral unit 14, control circuit 16 is used for receiving the steering order that main frame 12 transmits, with the operation of control peripheral unit 14.Servo hardware 22 promptly is to be controlled by control circuit 16, is used for realizing the function of peripheral unit 14.For instance, if peripheral unit 14 is a CD player, servo hardware 22 has promptly comprised the motor that drives discs and rotate, laser read head or the like electromechanical compo, with the data on access one discs.Memory buffer 18,20 operations that are used for supporting control circuit 16 of memory; Wherein memory buffer 18 is the storer (as random access memory) of a volatibility, is used for keeping in control circuit data, the data of 16 operating periods.20 of memories are a non-volatile storer (as flash memory), are used for writing down the procedure code 24 of a firmware; As noted earlier, the control circuit 16 of peripheral unit 14 during peripheral unit 14, can follow specific firmware program code to carry out various control programs in control, and procedure code 24 i.e. firmware program code for this reason, is used for writing down the mode that different control programs carry out.Control circuit 16 is carried out this procedure code 24, just can be according to the steering order of main frame 12, and the operation of control peripheral unit 14.
Certainly, when each peripheral unit dispatches from the factory, all write firmware program code in the memory, as the firmware that presets.After peripheral unit was connected in main frame, the control circuit in the peripheral unit just can be according to the operation of this firmware that presets control peripheral unit.Yet this firmware that presets has the mistake (bug) on some control program, and is just found after peripheral unit dispatches from the factory by the time.In addition, even firmware research and development manufacturer also can continue to research and develop new control program and firmware program code after peripheral unit dispatches from the factory, with the operation usefulness of lifting peripheral unit, or the range of application of expansion peripheral unit.With the CD player is example, adopts different control programs, and CD player may just can lock the position of laser read head quickly, more stably to read the data of specific part on the discs.Perhaps, as discs is when adopting data layout than new spec to come record data, upgrade the mode that the part control program carries out in the firmware program code, CD player may just can read the discs than new data format smoothly, enlarges the discs data layout of its support.Under various situations discussed above, all need to upgrade the firmware program code in the peripheral unit, replace existing firmware program code in the peripheral unit with new firmware program code, could solve mistake, the usefulness that promotes peripheral unit that presets in the firmware program code, the range of application that enlarges peripheral unit like this.In the peripheral unit in modern times, firmware program code all is stored in the nonvolatile storage memory that can repeat to override mostly (as flash memory, or electrically can wipe programmble read only memory PROM EEPROM), as long as the firmware program code that presets original in the memory is wiped, write new firmware program code, just can replace the old firmware program code that presets, finish the renewal of firmware with new firmware program code.When the control circuit in the peripheral unit is carried out new firmware program code in the memory, just can control the operation of peripheral unit with new control program.
In general, upgrade the firmware program code in the peripheral unit, main frame also will carry out corresponding operation.Please refer to Fig. 2 (and in the lump with reference to figure 1).Flow process 100 in Fig. 2 process flow diagram is in the known technology, when electronic system 10 will be carried out firmware update to peripheral unit 14, and the flow process of main frame 12,14 coordinated manipulations of peripheral unit.The step that on behalf of main frame 12, the half of step in Fig. 2 left side carry out, the step that on behalf of peripheral unit 14, right half of step carried out.The following step is arranged in regular turn: step 102 in the known flow process 100: beginning.When beginning to upgrade the firmware program code of peripheral unit 14, central processing unit 26 can begin to carry out the application program 34 of a firmware update, starts the flow process 100 of whole firmware update, and in subsequent step the carrying out of Sustainable Control firmware update flow process.Just as shown in fig. 1, this application program 34 can be loaded on the storer 30 in the main frame 12, by central processing unit 26 executive utilities 34, peripheral unit 14 is carried out firmware update.The purpose of firmware update with a new procedures sign indicating number 36, replaces existing procedure code 24 in the peripheral unit 14.
Step 104: behind main frame 12 executive utilities 34, will carry out device identification to peripheral unit 14 earlier, be and the application program of peripheral unit 14 collocation can correctly control peripheral unit 14 and carry out firmware update to determine application program 34.As previously mentioned, main frame 12 may be connected with a plurality of different peripheral units, and structure, the function of each peripheral unit have nothing in common with each other, and control different peripheral units and carry out firmware update respectively, and the application program that main frame 12 will be carried out also has nothing in common with each other certainly; To correctly carry out firmware update, will use and this peripheral unit corresponding application program a peripheral unit.And this step is exactly to determine that application program 34 is the correct application programs with peripheral unit 14 correspondences.In general, just record a firmware identification code in the firmware program code in each peripheral unit, wherein can include the title (vendor ID) of firmware research and development manufacturer, the model name (model name) of peripheral unit that this firmware program code is suitable for, or the version information of this firmware program code etc.As the existing procedure code 24 in peripheral unit 14, just record a firmware identification code 24I.And when main frame 12 during at executive utility 34, just can install the steering order of 14 issue devices identification according to the indication of application program 34 to the periphery, require peripheral unit 14 that the related data among the firmware identification code 24I (or other can discern data, the signal of peripheral unit 14) is transferred to main frame 12.
Step 106: peripheral unit 14 is responded the requirements of main frame 12 in step 104, and the related data (or other recognition data) of firmware identification code 24I is back to main frame 12.
Step 108: during main frame 12 executive utilities 34, can judge whether peripheral unit 14 is the devices of arranging in pairs or groups with application program 34 according to the recognition data of peripheral unit 14 passbacks.In fact, when main frame 12 and peripheral unit 14 carry out device identification, probably can carry out data for several times, instruction exchange, not influence under the situation that the technology of the present invention discusses the details of the part simplification device identification of the process flow diagram among Fig. 2.Exchanges data according to 12 in peripheral unit 14 and main frame, if main frame 12 is judged application program 34 and can be arranged in pairs or groups mutually with peripheral unit 14 really, main frame 12 can continue the flow process of firmware update, sends steering order inquiry peripheral unit 14 existing modes of operation and whether can carry out firmware update.Because when main frame 12 is carried out the application program 34 of firmware updates, peripheral unit 14 may be carried out some operation (for example the peripheral unit 14 of CD player just the data on the access discs), so just can not carry out firmware update.So in the step, main frame 12 will be inquired the mode of operation that peripheral unit 14 is present.Simultaneously, the new procedures sign indicating number 36 that main frame 12 also can be used with firmware update is loaded in the storer 36, prepares to be transferred to peripheral unit 14.
Step 110: peripheral unit 14 is responded the inquiry of main frame, and peripheral unit 14 present modes of operation are back to main frame 12.
Step 112: if on behalf of it, the mode of operation of peripheral unit 14 passbacks can carry out firmware update, the new procedures sign indicating number 36 that main frame 12 just can will be temporary in the storer 30 transfers to peripheral unit 14.Just as the transmission of typical networking, main frame 12 is when transmission new procedures sign indicating number 36, can carry out a default check code and produce algorithm, calculate a check code (checksum) 36C according to the content of new procedures sign indicating number 36, and transfer to peripheral unit 14 in the lump with new procedures sign indicating number 36.
Step 114: peripheral unit 14 receives new procedures sign indicating number and the check code that main frame 12 transmits, and it is temporary in the memory buffer 18.Being temporary in new procedures sign indicating number 37, check code 37C in peripheral unit 14 memory buffer 18 among Fig. 1, is exactly new procedures sign indicating number and the check code that peripheral unit 14 is received by main frame 12.
Step 116: control circuit 16 equally also can be carried out check code and produce algorithm, calculates another check code 39C according to its received new procedures sign indicating number 37, and compares with this check code 39C with by the check code 37C that main frame 12 transmits.It is the same with main frame 12 according to the check code generation algorithm that new procedures sign indicating number 36 produces check code 36C that the check code that control circuit 16 uses produces algorithm; As if the mistake that data transmission does not take place in the process that transfers to peripheral unit 14 at new procedures sign indicating number, check code by main frame 12, the new procedures sign indicating number 37 that peripheral unit 14 receives should just equal the new procedures sign indicating number 36 that main frame 12 will transmit, and the check code 39C that control circuit 16 is calculated should also can equal the check code 37C that it receives.Otherwise,, just represent main frame 12 transmission new procedures sign indicating number/check codes that the mistake of data transmission has taken place to the process of peripheral unit 14 if its check code 37C that receives of check code 39C of calculating of control circuit 16 is inconsistent.If comparing check code 39C in this step is consistent with check code 37C, just can proceed to step 118; Otherwise,, will proceed to step 120 if two check codes are inconsistent.
Step 118: in known technology, after control circuit 16 judges that in step 116 transmission of new procedures sign indicating number 37 is errorless, procedure code existing in the memory 20 24 will be wiped (erase), and the new procedures sign indicating number 37 that will be temporary in the memory buffer 18 overrides to memory 20; So also just finished the firmware update of peripheral unit 14.Next control circuit 16 just can be carried out the new procedures sign indicating number 37 that is written into memory 20, with the operation of control peripheral unit 14.Certainly, after the firmware update success, peripheral unit 14 also can be back to main frame 12 with upgrading case of successful; And main frame 12 also can require the firmware identification code in the peripheral unit 14 transmission new procedures sign indicating numbers successful with the affirmation firmware update to main frame 12 once more.Under the situation that does not influence the technology of the present invention discussion, the details of having omitted aforesaid operations among Fig. 2.Step 120:, just can carry out necessary fault processing if control circuit 16 finds that relatively check code 37C, 39C are inconsistent in step 116.For instance, control circuit 16 can require main frame 12 with new procedures sign indicating number 36 transmission primaries again, and the check code in carry out step 116 again relatively; Or situation about making a mistake is back to main frame 12, by the follow-up operation of main frame 12 decisions.
Step 122: the flow process that finishes firmware update.
In summary, when carrying out firmware update with the known flow process among Fig. 2 100, after main frame 12,14 state, peripheral units 14 in the affirmation interconnection of peripheral unit can carry out firmware update, main frame 12 just transfers to peripheral unit 14 with the new procedures sign indicating number 36 of firmware update merely, and peripheral unit 14 will carry out firmware update after the check code that carries out step 116 relatively confirms that the transmission of new procedures sign indicating number is errorless.One of major defect of above-mentioned known flow process can't guarantee exactly whether the content of the new procedures sign indicating number that firmware update is used really is to conform with the firmware program code that peripheral unit 14 is used.In general, the new procedures sign indicating number 36 of firmware update is that the user by main frame 12 obtains (as being downloaded by the networking), is loaded in the storer 30 of main frame 12 by application program 34 in the process of firmware update again.Yet, in obtaining the process of new procedures sign indicating number 36, the user just might make mistakes, and make 36 of new procedures sign indicating numbers as not meeting the firmware program code that peripheral unit 14 is used.For instance, the user of main frame 12 is downloaded and is obtained new procedures sign indicating number 36 by the networking, but the mistake of networking transmission may take place in the process of downloading of networking, makes that new procedures sign indicating number 36 itself is incomplete.Perhaps, the user also may judge the version of firmware program code by accident.As previously mentioned, the firmware program code of redaction may constantly be disengaged in firmware research and development manufacturer, peripheral unit 14 may be built-in when dispatching from the factory the initialize program sign indicating number of more recent version, but the user is under situation about not discovering, and the new procedures sign indicating number of desiring to have obtained than legacy version 36 will come to carry out firmware update for peripheral unit 14; In other words, in the case, the existing procedure code 24 among Fig. 1 is newer version, and new procedures sign indicating number 36 itself is older version on the contrary.Can demote firmware program code on the contrary if carry out firmware " renewal " this moment.In addition, the user also obtains to possible errors and does not conform with firmware program code that peripheral unit 14 uses as new procedures sign indicating number 36.For instance, the new procedures sign indicating number 36 obtained of user may not be the firmware program code that is applicable to peripheral unit 14.Especially in technical development modern society fast, same manufacturer may release multiple different model, the different peripheral unit of the same type of function.As in this common computer system peripheral unit of CD player, just have various differences to read the doubly CD player of speed, or some CD player only can read the data of discs, some CD player then can also be with data carving to discs; Some CD player is then supported the data read of more different-format discs.Though different renewal firmware program codes can be disengaged at the peripheral unit of different model in research and development manufacturer, the user may not examine for the moment, obtains the new procedures sign indicating number 36 that does not conform to fully with peripheral unit 14 and comes to carry out firmware update for peripheral unit 14.In addition, have the saboteur of some malice in addition, the firmware program code that mistake deliberately is provided is as new procedures sign indicating number 36, and intention is implanted the firmware program code of mistake in the peripheral unit 14 with the flow process of firmware update, with the normal running of paralysis peripheral unit 14.
Under above-mentioned various situations, main frame 12 will be used for carrying out the new procedures sign indicating number 36 of firmware update, does not conform with the application of peripheral unit 14 in fact; But in known firmware update flow process 100, can't check but whether the procedure code 36 that makes new advances is suitable for.In known flow process 100, though main frame 12 can carry out device identification in step 104, check the firmware identification code 24I of existing procedure code 24 by peripheral unit 14, but main frame 12 is checked is peripheral unit 14 firmware program code in operation (the existing procedure code 24 of peripheral unit 14 just), can not check whether new procedures sign indicating number 36 conforms with the application of peripheral unit 14.In addition, the control circuit 16 of peripheral unit 14 can be checked the check code relevant with new procedures sign indicating number 36 in step 116, but this step can only be checked the procedure code 36 that makes new advances whether the mistake of data transmission takes place when main frame 12,14 transmission of peripheral unit, can not check whether the procedure code 36 that makes new advances is suitable for.Even the new procedures sign indicating number is inapplicable firmware program code, as long as problem does not take place the data transmission of 14 in main frame 12, peripheral unit, flow process 100 still can be passed through step 116, and inapplicable new procedures sign indicating number is write in the memory.In other words, in step 116, even check code meets, also only representing main frame 12 is correctly to transfer to peripheral unit 14 and become new procedures sign indicating number 37 (see figure 2)s inapplicable new procedures sign indicating number 36 is complete, new procedures sign indicating number 37 inapplicable essence still can not change, can not be by checking in the step 116.Though control circuit 16 can calculate check code 39C according to new procedures sign indicating number 37 in step 116, make check code 39C can reflect the content of new procedures sign indicating number 37, but being used for another check code 37C of audit by comparison sign indicating number 39C in the step 116 is also still calculated according to new procedures sign indicating number 36, can not represent " being suitable for " firmware program code the check code (especially when new procedures sign indicating number 36 itself is exactly inapplicable firmware program code) that should have.In other words, when known flow process 100 when carrying out step 116, control circuit 16 itself can not learn " being suitable for " the firmware program code correspondence check code why, just can not check in step 116 also certainly whether compare new procedures sign indicating number 37 is suitable for.If mistake is implanted to mistake, inapplicable firmware program code in the peripheral unit 14 in the firmware update flow process, not only can't reach the purpose of firmware update, also can cause the serious consequence that peripheral unit 14 can not proper operation.
Summary of the invention
Whether therefore, fundamental purpose of the present invention is to provide a kind of new firmware update and relevant apparatus, can filter out the new firmware program code that upgrades usefulness and really be suitable for, to overcome the shortcoming of known technology.
In known technology, no matter be in host side or at the device end of peripheral unit, can't check out all whether the used new procedures sign indicating number of firmware update conforms with the practical application of peripheral unit, therefore also can't avoid inapplicable new procedures sign indicating number in known firmware update flow process, to be implanted peripheral unit by mistake.
In the present invention, then can in the flow process of a peripheral unit being carried out firmware update, add host side and check step and/or device end inspection step, a partial content and a content of presetting of upgrading the new firmware program code of usefulness are compared, judge with reality whether new firmware program code is suitable for.When reality is implemented, can check the firmware identification code (title that comprises firmware research and development manufacturer in the new firmware program code, and the model name of the peripheral unit that is suitable for of this firmware program code) whether conforms to, also can check whether include specific instruction, constant in the new firmware program code with the firmware identification code of existing firmware program code in this peripheral unit.In addition, whether instruction, the data that also can check particular address in the new firmware program code conform with instruction, data as expected, or whether the address of searching specific instruction, data in the new firmware program code is positioned at default address, whether conforms with the correct firmware that peripheral unit is used to judge the used new firmware program code of firmware update.Above-mentioned inspection step can independently be carried out respectively at host side, device end, guarantees the firmware program code of the used new firmware program code of firmware update for being suitable for, and avoids inapplicable firmware program code being implanted in the peripheral unit in the firmware update flow process by mistake.
Description of drawings:
Fig. 1 is the synoptic diagram of main frame and peripheral unit configuration in the exemplary electronic system.
The schematic flow sheet that Fig. 2 carries out firmware update for electronic system among Fig. 1 with a known flow process.
Fig. 3 is the synoptic diagram of main frame in the electronic system of the present invention and peripheral unit configuration.
Fig. 4 carries out firmware update for electronic system among Fig. 3 with flow process of the present invention schematic flow sheet.
Fig. 5 A to 5E is respectively the synoptic diagram that host side among Fig. 4/device end is checked the different embodiment of step.
Graphic symbol description:
10,50 electronic systems, 12,52 main frames
14-15,54-55 peripheral unit
16,56 control circuits, 18,58 memory buffer
20,60 memories, 22,62 servo hardware
24,64 procedure codes
24I, 64I, 76I, 77I firmware identification code
26,66 central processing units
28A, 68A north bridge circuit 28B, 68B south bridge circuit
30,70 storer 32A, 72A drafting card
32B, 72B display 34,74 application programs
36-37,76-77,84 new procedures sign indicating numbers
36C, 37C, 39C, 76C, 77C, 79C check code
56B checks module
80,82 preset contents, 86 source codes
88,89 firmware program code 90A-90D usability of program fragments
92A-92C, 92D1,92D2 partial content
94 order codes, 95 data
100,200 flow processs
102-122,202-224 step
Embodiment
Please refer to Fig. 3.Fig. 3 is the function block schematic diagram of electronic system 50 configurations of the present invention.Be provided with the peripheral unit (drawing two peripheral units 54,55 among Fig. 3) of a main frame 52 and one or more collocation operation in the electronic system 50, to expand the function of main frame 52 itself as representative.Electronic system 50 can be a computer system; In the case, can be provided with central processing unit 66, north bridge circuit 68A, south bridge circuit 68B, storer 70, drafting card 72A and display 72B in the main frame 52; 54,55 of peripheral units can be CD player, CD writer, Winchester disk drive or the like.With peripheral unit 54 is that example illustrates the configuration in the peripheral unit; Be provided with servo hardware 62, one that a control circuit 56, is used for realizing peripheral unit 54 functions in the peripheral unit 54 and be used for memory buffer 58 (as random access memory) with volatibility mode temporal data, and a memory 60 (as flash memory) that is used for storing in non-volatile mode data; Then have one to check module 56B in the control circuit 56.In main frame 12, central processing unit 66 is used for the operation of master hosts 52, and drafting card 72A can change the state and the result of main frame 52 operations into picture signal, and shows in display 72B.Essential procedure code and related data, data when the storer 70 (as random access memory) of volatibility is used for temporary central processing unit 66 operations.North bridge circuit 68A promptly is used for managing the data transmission between central processing unit 66, storer 70 and drafting card 72A.By being electrically connected in the south bridge circuit 68B of north bridge circuit 68A, main frame 12 is energy and each peripheral unit 54,55 exchange instruction, data just; Wherein can interconnect with bus (as buses such as IDE, EIDE) between south bridge circuit 68B and each peripheral unit.Aspect peripheral unit 54, just as discussed earlier, carry out multiple operation in the peripheral unit 54 in order to control, also can write down the method that various control programs are carried out with a firmware program code; The existing procedure code 64 that is stored among Fig. 3 in the memory 60 is exactly this firmware program code.After the steering order that control circuit 56 reception main frames 52 transmit, the procedure code 64 that just can carry out in the memory 60 is controlled servo hardware 62, with the function that realizes that main frame 52 requires.Memory buffer 58 then is used for keeping in the peripheral unit data of 54 operating periods.For instance, if peripheral unit 54 is a CD writer, servo hardware 62 can include motor, optically read first-class electromechanical compo; Main frame 52 wants imprinting to the data on the discs can be temporary in earlier in the memory buffer 58, again by servo hardware 62 reality with these data carvings that are temporary in memory buffer 58 to discs; And servo hardware 62 also can be temporary in the memory buffer 58 by the data of reading on the discs, is arranged by control circuit 56 again, and these data are back to main frame 52.
Just cross as previously discussed, peripheral unit has the needs of firmware update.Please refer to Fig. 4 (and in the lump with reference to figure 3).The present invention of being shown in Figure 4 carries out the flow process 200 of firmware update in electronic system 50; Step in Fig. 4 drawing left is to carry out at main frame 52 these ends, and right-hand step is to be undertaken by peripheral unit 54.Be provided with the following step in the flow process 200:
Step 202: beginning.When electronic system 50 will be carried out firmware update to peripheral unit 54, central processing unit 66 in the main frame 52 will be loaded into the application program 74 of a firmware update (please in the lump with reference to figure 3) in the storer 70, and beginning executive utility 74, with the flow process 200 that starts whole firmware update, and in subsequent step the carrying out of Sustainable Control flow process 200.The purpose of firmware update will replace existing firmware program code 64 in the peripheral unit 54 with a new procedures sign indicating number 76.
Step 204: main frame 52 requires peripheral unit 54 to carry out device identification.As previously mentioned, in the firmware program code of each peripheral unit, all record a firmware identification code, the title (vendorID) of recording firmware research and development manufacturer, and the model name (model name) of the peripheral unit that is suitable for of this firmware program code.Just as shown in Figure 3, the existing procedure code 64 of peripheral unit 54 before firmware update also records the firmware identification code 64I of corresponding procedure code 64.When carrying out device identification, main frame 52 can send steering order, requiring the related data of peripheral unit 54 passback firmware identification code 64I, is and the correct procedure of peripheral unit 54 collocation correctly to cooperate to carry out firmware update with peripheral unit 54 in subsequent step to confirm application program 74.
Step 206: the control circuit 56 in the peripheral unit 54 will be back to main frame 52 with data relevant with firmware identification code 64I in the firmware program code 64 receive the steering order that main frame 52 transmits in step 204 after.
Step 208: main frame 52 just can judge that according to the firmware identification code 64I data (or recognition data of other main frames 52 requirements) of peripheral unit 54 passbacks can application program 74 cooperate the firmware update of peripheral unit 54.Really can arrange in pairs or groups with peripheral unit 54 if main frame 52 is confirmed application program 74, main frame 52 will continue executive utility 74, to carry out the subsequent step of peripheral unit 54 firmware updates.At the same time, the new procedures sign indicating number 76 that also firmware update can be used of central processing unit 66 is loaded into (just as shown in Figure 3) in the storer 70.In the process of device for carrying out said identification, main frame 52, peripheral unit 54 may carry out exchanges data for several times; Do not influencing under the disclosed situation of the technology of the present invention, suitably omitting the details of device identification among Fig. 4.
Except carrying out device identification, for the content of further confirming new procedures sign indicating number 76 is to be fit to the firmware program code that peripheral unit 54 is used, the present invention also can additionally carry out a host side and check step, with the content of foundation new procedures sign indicating number 76, judge whether new procedures sign indicating number 76 is the firmware program code that is suitable for.Host side checks that the mode that step is carried out can have several embodiment.For instance,, wherein also put down in writing a firmware identification code 76I (please in the lump with reference to figure 3) certainly, the firmware identification code 64I of a correspondence has also been arranged just as the existing procedure code 64 in the peripheral unit 54 since new procedures sign indicating number 76 is a firmware program code.And check in the step in this host side, main frame 12 just can check that whether the firmware identification code 76I in the new procedures sign indicating number 76 conforms to firmware identification code 64I in the existing procedure code 64, research and develop manufacturer by same firmware and researched and developed so that whether checking new procedures sign indicating number 76 is the same with existing procedure code 64 in the peripheral unit 54, or be applicable to the peripheral unit of same model.In addition, firmware research and development manufacturer is the steering order preset of the record of the fixed address in firmware program code or word string, data in advance also, form a preset content 80 (see figure 3)s; When carrying out host side inspection step, just can check whether new procedures sign indicating number 76 has preset content 80 (as schematically shown in Figure 3) in this fixed address, to judge the applicability of new procedures sign indicating number 76 in main frame 52.Perhaps, main frame 52 also can be searched the part that has preset content in the new procedures sign indicating number 76, and whether the address that reexamines this part is in the default address of firmware research and development manufacturer, to judge the applicability of new procedures sign indicating number 76.Host side is checked variety of way and the principle that step is carried out, and can further discuss after a while.
Check that step aft engine 52 judgement new procedures sign indicating numbers 76 are a correct procedure sign indicating number that is suitable for if carry out host side, just can continue the flow process of firmware update.Next whether main frame 52 state that can send instruction query peripheral unit 54 can carry out firmware update.
Step 210: peripheral unit 54 is responded the inquiry of main frame in step 208, and peripheral unit 54 present states are back to main frame 52.
Step 212: main frame 52 receives the signal that peripheral unit 54 is responded in step 210; If peripheral unit 54 is in the state that can carry out firmware update, main frame 52 just can begin loaded new procedures sign indicating number 74 to storer 70 is transferred to peripheral unit 54.As the identification of the device in the step 204,206, the unit state inspection to peripheral unit 54 in the step 210,212 also may be transmitted in the data contact that main frame 52,54 of peripheral units carry out for several times; Not influencing under the disclosed situation of the technology of the present invention, suitably simplify correlative detail among Fig. 4.Just anticipate as shown in Figure 3, before main frame 52 will transfer to peripheral unit 54 with new procedures sign indicating number 76, also can produce algorithm with a default check code, content according to new procedures sign indicating number 76 calculates a check code 76C, and it is additional to check code 76, transfer to peripheral unit 54 together with check code 76.
Step 214: peripheral unit 54 receives new procedures sign indicating number and the additional check code that main frame 52 transmits, and it is temporary in the memory buffer 58, just new procedures sign indicating number 77 shown in Fig. 3 and check code 77C.Step 216: the control circuit 56 of peripheral unit 54 can utilize check code to produce algorithm, content according to new procedures sign indicating number 77 calculates a check code 79C (see figure 3), and whether checking check code 79C is identical by the check code 77C that main frame 52 places receive with peripheral unit 54.If both are identical, represent main frame 52 in the process that the new procedures sign indicating number is transferred to peripheral unit 54, data transmission fault not to take place.
After the new procedures sign indicating number that definite firmware update is used has intactly transferred to peripheral unit 54 by main frame 52, the present invention also can carry out a device end in addition and check step in peripheral unit 54, by the function of control circuit 56 realization inspection module 56B, whether the new procedures sign indicating number 77 that is temporary in the memory buffer 58 with inspection is the firmware program code that is suitable for.For instance, control circuit 56 can relatively be temporary in the memory buffer 58 new procedures sign indicating number 77 whether with memory 60 in existing procedure code 64 have identical firmware identification code.Because new procedures sign indicating number 77 by main frame 52 transmission in the past, under the errorless situation of data transmission, new procedures sign indicating number 77 also has the firmware identification code 77I identical with firmware identification code 76I; Whether the firmware program code 64I that control circuit 56 compares firmware identification code 77I and existing firmware program code 64 conforms to, and just can judge whether new procedures sign indicating number 77 is the firmware program code that is applicable to peripheral unit 54.Be similar to host side and check step, the device end that carries out in peripheral unit 58 inspection step can check also whether the partial content that is positioned at specific default address in the new procedures sign indicating number 77 meets a predetermined content 82 (anticipating as shown in Figure 3); Whether or searching some preset content in new procedures sign indicating number 77 exists, or is not positioned at some particular address.Check details, the principle that step is carried out as for apparatus of the present invention end, will be described further in the back.
Certainly, if before carrying out apparatus of the present invention end inspection step, control circuit 56 finds that the check code 79C that check code 77C and control circuit 56 calculate does not meet, and represents the new procedures sign indicating number to be transferred to the mistake of generation data transmission in the process of peripheral unit 54 again by main frame 52.This moment, control circuit 56 can be back to the situation of mistake main frame 52, or required main frame 52 to transmit the new procedures sign indicating number again,, was carried out device end of the present invention again and checked step by the complete peripheral unit 54 that transfers to up to the new procedures sign indicating number.
Step 218: if control circuit 56 carries out judging that new procedures sign indicating number 77 is applicable to peripheral unit 54 really, just can proceed to step 220 after device end is checked step; If not, then proceed to step 222.
Step 220: passed through the checking of check code, and apparatus of the present invention end is checked the checking of step, peripheral unit 54 can affirmation itself correctly receive the new procedures sign indicating number 77 that is transmitted by main frame 52 on the one hand, also can confirm the firmware program code that new procedures sign indicating number 77 is suitable for for peripheral unit 54 on the other hand, this moment, control circuit 56 just can will originally be wiped as the procedure code 64 of firmware program code in the memory 60, new procedures sign indicating number 77 is write in the memory 60, to replace original procedure code 64, finish firmware update.Next control circuit 60 just can be carried out the new procedures sign indicating number 77 in the memory 60, with the operation of new control program control peripheral unit 54.Certainly, after firmware update is finished, peripheral unit 54 also can be repaid the situation that firmware updates are finished to main frame 52, and main frame 52 also can require peripheral unit 54 once again with the relevant information passback of firmware identification code in the new firmware program code, and the affirmation firmware update is finished or the like.Do not influencing under the disclosed situation of the technology of the present invention, the details flow process of this part is omitted in Fig. 4.
Step 222: if carry out device end of the present invention when checking step in step 216, find that new procedures sign indicating number 77 is not suitable firmware program code, control circuit 56 will carry out fault processing.Control circuit 56 can be back to main frame 52 with the inapplicable situation of new procedures sign indicating number, determines follow-up step by the user of main frame 52.The most important thing is, this moment, control circuit 56 can not override inapplicable new procedures sign indicating number to memory 60, make control circuit 56 in follow-up process, can not control peripheral unit 54, and the operation of peripheral unit 54 can be not influenced because of the inapplicable firmware program code in the firmware update flow process yet according to inapplicable new procedures sign indicating number.
Step 224: the flow process that finishes firmware update of the present invention.
By above description to firmware update flow process of the present invention as can be known, flow process 200 of the present invention has also been carried out host side extraly and has been checked that step and device end check step except the affirmation of having carried out device identification, check code in the process of firmware update.The former can check earlier whether new procedures sign indicating number 76 is the firmware program code that is applicable to peripheral unit 54 at main frame 52 before the new procedures sign indicating number 76 with firmware update transfers to peripheral unit 54.In that new procedures sign indicating number 76 is transferred to peripheral unit 54 smoothly after becoming new procedures sign indicating number 77, peripheral unit 54 also can carry out a device end and check step, so that with procedure code 77 actual write to memory 60 before, whether scrutiny program sign indicating number 77 is applicable to peripheral unit 54.Via the enforcement of host machine/apparatus end inspection step of the present invention, can confirm further that the firmware update flow process can not be implanted to peripheral unit with inapplicable firmware program code by mistake.Check the mode that step is carried out as for host machine/apparatus end of the present invention, several embodiment can be arranged, below will discuss one by one.
At first, please refer to Fig. 5 A (and in the lump with reference to figure 3).Fig. 5 A checks step for host machine/apparatus end among the present invention and carries out the synoptic diagram of one of mode embodiment.Carried as the front, firmware research and development manufacturer has all defined some data about firmware itself in firmware program code, title (vendor ID) as firmware research and development manufacturer, the model name (model name) of the peripheral unit that this firmware program code is suitable for, sequence number (serial number) or version information are arranged even, form a firmware identification code.Even in the firmware program code of different editions, also all can unify to record these information.Shown in Fig. 5 A, no matter be peripheral unit 54 existing firmware program code 64 before firmware update, or the employed new procedures sign indicating number 76 of firmware update (or new procedures sign indicating number 77), so long as be applicable to the firmware program code of peripheral unit 54 jointly, just should have the firmware identification code of same form.In general, in firmware program code, the coherent signal of firmware identification code is in the one section constant (constant) that is recorded in the firmware program code.As is known to the person skilled in the art, firmware research and development manufacturer writes the various control programs of peripheral unit to a source code (source code) with the program language of higher level, after the compiling (compile) via a compiler (complier) software, become the firmware program code of the executable binary code of control circuit in the peripheral unit again.Firmware research and development manufacturer usually in the source code of firmware program code with a constant array (array) _ pbTBL Inquiry[] compile this firmware identification code content, this content can be directly with numeric representation, 0x05 for example, perhaps edit with character (character), the ASCII character of ' A ' expression known to those skilled in the art for example, after compiler compiling becomes the firmware program code of the executable binary code of control circuit in the peripheral unit, be present in this firmware program code with the binary code constant of a correspondence.So in firmware program code, it is the contents value that is used for defining this constant that partial content is necessarily arranged.For instance, shown in Fig. 5 A, in the firmware identification code 64I of existing procedure code 64, its partial content is exactly to be { 0x05 in the binary code mode with the value defined of constant _ pbTBL Inquiry, 0x80 ..., ' A ', ' b ' ..., ' d ', ' M ' ..., ' k ', ' m ' ... ..., wherein " Abcdefgh " just represents the title of firmware research and development manufacturer, and " Modelikmh " just represents model name, and other data then can be used to represent other data such as firmware version.In like manner, if the firmware program code that the used new procedures sign indicating number of firmware update 76 is suitable for wherein necessarily also has a firmware identification code 76I, similarly be used for defining constant _ pbTBL Inquiry[] value.When carrying out host side of the present invention when checking step, main frame 52 just can be carried out the application program 74 (as Fig. 3) of firmware update and search new procedures sign indicating number 76, whether have partial content to be used for defining constant pbTBLInquiry in the new procedures sign indicating number 76 to check, and this constant is defined as specific value.Simultaneously, main frame 52 also can require the value of its constant _ pbTBL Inquiry in the existing procedure code 64 of peripheral unit 54 passbacks.Certainly, if do not define this constant in the new procedures sign indicating number 76 at all, representing it is normal firmware program code scarcely.If truly having in the new procedures sign indicating number 76 defines this constant, and the value of definition conforms in the value of this constant and the existing procedure code 64 in the new procedures sign indicating number 76, and (title as firmware research and development manufacturer is identical, model name is identical), main frame 52 just can be checked in host side and judge the firmware program code of new procedures sign indicating number 76 for being suitable in the step.In addition, check in the step that main frame 52 also can further judge that according to the version information in the new procedures sign indicating number 76 new procedures sign indicating number 76 (with respect to existing procedure code 64) is the firmware of more recent version in host side; If new procedures sign indicating number 76 versions are older on the contrary, main frame 52 can judge that also new procedures sign indicating number 76 is inapplicable firmware program code.Further promote the notion of this kind comparison, the present invention can check that also the value of certain constant in the new procedures sign indicating number is whether in the particular range of certain preset value.As in above-mentioned example, check that exactly the version that writes down in the new procedures sign indicating number is whether greater than the version of existing procedure code.
Except firmware identification code 76I in the new procedures sign indicating number 76 and the firmware identification code 64I in the existing procedure code 64 are relatively checked the step to carry out host side, firmware research and development manufacturer also can directly write down constant _ due form of pbTBL Inquiry and value (or zone of reasonableness of its value) in application program 74 when disengaging the used application program 74 of firmware update; When carrying out host side inspection step when main frame 52 executive utilities 74, just can according in the application program 74 to the requirement of constant _ pbTBL Inquiry, directly judge whether new procedures sign indicating number 76 is the firmware program code that is suitable for, needn't be benchmark relatively according to the information among the firmware identification code 64I.According to above-mentioned reason, control circuit 56 in the peripheral unit 54 also can be when carrying out device end inspection step, utilize in the existing procedure code 64 definition, check whether the new procedures sign indicating number 77 that is temporary in the memory buffer 58 is the firmware program code that is suitable for constant _ pbTBL Inquiry.In like manner, when peripheral unit 54 dispatches from the factory, firmware manufacturer also can in control circuit 56, preestablish constant _ _ zone of reasonableness of the due standard format of pbTBL Inquiry, contents value or contents value (should be greater than a certain preset value) as start context, when control circuit 56 carries out device end inspection step, just can whether have correct _ pbTBL Inquiry constant definition by independent judgment new procedures sign indicating number 77 in the future.In existing information industry, adding the firmware identification code in firmware program code has been a kind of practice of standard, and whether the new firmware program code that the present invention also can directly utilize the firmware identification code to judge that firmware update is used easily is suitable for.
Please continue with reference to figure 5B (and Fig. 3).Fig. 5 B checks step for host machine/apparatus end among the present invention and carries out the synoptic diagram of another embodiment of mode.General defined firmware identification code is judged the applicability of firmware program code in utilizing firmware program code, firmware research and development manufacturer also can insert word string, the data of special definition in advance in firmware program code, as the foundation of later identification firmware program code applicability.As is known to the person skilled in the art, firmware research and development manufacturer writes the various control programs of peripheral unit to a source code (source code) with the program language of higher level, after the compiling (compile) via a compiler (complier) software, become the firmware program code of the executable binary code of control circuit in the peripheral unit again.Firmware research and development manufacturer can compile word string, the data of a special definition with a constant array (array) in the source code of firmware program code, this content can be directly with numeric representation, 0x06 for example, perhaps edit with character (character), the ASCII character of ' A ' expression known to those skilled in the art for example, after compiler compiling becomes the firmware program code of the executable binary code of control circuit in the peripheral unit, be present in this firmware program code with the binary code constant of a correspondence.As Fig. 5 B embodiment illustrated, firmware research and development manufacturer can additionally add usability of program fragments 90A, 90B in the source code 86 of firmware program code, (its content is ' M ' to define one word string _ pbSpecString respectively, ' e ', ' d ', ' i ', ' a ', ' t ', ' e ', ' k ') and one constant _ pbSpecVaIue.Note that the value that has not only defined constant _ pbSpecValue among the usability of program fragments 90B, also defined this constant value and should have a particular address 0xFFE0 (just sexadesimal system address FFE0) with instruction " _ at_0xFFE0 ".According to this instruction, compiler will place this particular address with this constant value in compilation process.By the time after source code 86 was compiled as the firmware program code 88 of binary code, corresponding to the usability of program fragments 90A in the source code 86, it was the definition value that writes down constant _ pbSpecString with binary code that partial content 92A must be arranged in the firmware program code 88; Corresponding to usability of program fragments 90B, by 0xFFE0 place, the address beginning of firmware program code 88, it is the definition value that writes down constant _ pbSpecValue with binary code that partial content 92B is also arranged.After firmware program code 88 disengages, also just become the new procedures sign indicating number (as the new procedures sign indicating number 76 among Fig. 3) that firmware update is used.Utilize word string, the constant of special definition in the new procedures sign indicating number, the host machine/apparatus end that just can implement among the present invention is checked step.For instance, main frame 52, control circuit 56 are carrying out main frame, when device end is checked step, can check whether record " Mediatek " this word string in the new procedures sign indicating number 76,77 with definition word string _ pbSpecString respectively.Because it is to be used for record " Mediatek " with definition word string _ pbSpecString that the suitable new procedures sign indicating number that firmware research and development manufacturer disengages must have partial content, if check that at the host machine/apparatus end discovery new procedures sign indicating number does not write down " Mediatek " in the step, just representing this new procedures sign indicating number is inapplicable procedure code.In like manner, main frame 52, control circuit 56 also can be checked at the host machine/apparatus end and check in the step whether the new procedures sign indicating number has the correct definition value of constant _ pbSpecValue at address 0xFFE0 place.If in the new procedures sign indicating number address 0xFFE0 record be not the correct definition value of constant _ pbSpecValue, just representing new procedures is not suitable firmware program code.Perhaps, also can when carrying out host machine/apparatus end inspection step, check whether the definition value of constant _ pbSpecValue exists new procedures sign indicating number particular address 0xFFE0 place.Certainly, in the time of will implementing host machine/apparatus end of the present invention in the above described manner and check step, firmware manufacturer is before peripheral unit 54 dispatches from the factory, will preestablish control circuit 56 (Fig. 3), so that control circuit 56 is carrying out device end when checking step in the future, can know the target that will the compare (preset content among Fig. 3 82 just; As will in the new procedures sign indicating number, seeking " Mediatek ", or should there be which particular value) in that particular address of new procedures sign indicating number.In like manner, firmware manufacturer also will be before the application program 74 of disengaging firmware update, record host side device is checked the target that step will compare in application program 74 in advance, allows main frame 52 carry out host side according to above-mentioned comparison principle in executive utility 74 backs and checks step.
Please refer to Fig. 5 C.Fig. 5 C checks step for host machine/apparatus end of the present invention and carries out the synoptic diagram of another embodiment of mode.Carry out the inspection step of the present invention except above-mentioned constant, definite value word string, also can carry out inspection step of the present invention according to instruction specific in the firmware program code with special definition in the firmware program code.Shown in Fig. 5 C, firmware research and development manufacturer can add usability of program fragments 90C when writing the source code 86 of firmware program code, with the instruction of " CSEG AT FF80H " with 94 compilings of one section default order code to address FF80H (just sexadesimal system address FF80).Definition can be control program meaningful, that practical use is arranged in the order code 94, or some there is no the redundant operation (as gaining again after the value exchange with two parameters) of practical use.The order code of illustrating among Fig. 5 C 94, its first row " MOV DRTP, #0800H " promptly are used for allowing a pointer (pointer) DRTP point out an address 0800H (sexadesimal system address 0800) in the memory buffer; Second row " MOVX A , @DRTP " then moves on to the value of storing among the working storage A address that pointer DRTP points to, or the like.After source code 86 was compiled as firmware program code 88, according to the specified address FF80H of usability of program fragments 90C, firmware program code 88 will come recording instruction sign indicating number 94 with the form of binary code in originating in the partial content 92C of address FF80H.Firmware program code 88 is disengaged for behind the used new procedures sign indicating number of firmware update, the partial content 92C (or whether search partial content 92C originates in address FF80H) whether corresponding order code 94 just can be arranged at address FF80H according to the new procedures sign indicating number, whether carry out host machine/apparatus end of the present invention and check step, be the suitable firmware program code that firmware research and development manufacturer is disengaged to judge the new procedures sign indicating number.Be similar to the situation of embodiment among Fig. 5 B, as the binary code of assigned address, order code 94 correspondences why, application program 74, control circuit 56 also will configure the target that will compare () in advance, the convenient host machine/apparatus end that in the future carries out is when checking step, the foundation of carrying out as inspection.
Please refer to Fig. 5 D.Fig. 5 D checks the synoptic diagram of the another embodiment of step for host machine/apparatus end of the present invention.Shown in Fig. 5 D, firmware research and development manufacturer also can add usability of program fragments 90D in the source code 86 of firmware program code, so that add specific value in the particular address in firmware program code 88 after the compiling.For instance, usability of program fragments 90D among Fig. 5 D, " DBE1H " of instruction " CSEG AT 0005H " and next line specify the address 0005H (sexadesimal system address 0005) that the data (content is sexadesimal system E1) of a bit group will be recorded in the firmware program code 88; " the DB E2H " of instruction " CSEG AT FFFEH " and time row then is recorded in address FFFEH with the value E2 of a bit group.After source code 86 was compiled as firmware program code 88, firmware program code 88 will be sentenced binary code and record sexadesimal system numerical value E1 at the partial content 92D1 of address 0005H, record sexadesimal system numerical value E2 at the partial content 92D2 place of address FFFEH.Carrying out host machine/apparatus end of the present invention when checking step, whether can check whether the new procedures sign indicating number records specific value (as whether being numerical value E1 at address 0005H place) at the particular address place, be the suitable firmware program code that firmware research and development manufacturer disengages to judge the new procedures sign indicating number.
Please refer to Fig. 5 E.Fig. 5 E checks step for host machine/apparatus end of the present invention and carries out the synoptic diagram of another embodiment of mode.Except insert specific data, instruction with as judging the foundation whether the new procedures sign indicating number is suitable for usability of program fragments in source code, the present invention also can insert specific data in the firmware program code after compiling, the foundation of carrying out as the inspection step.Shown in Fig. 5 E, in general, when the source code 86 of firmware program code through compiling and after becoming firmware program code 88, firmware program code 88 also can stay some and not use section (unusedsegment) the partial content of recording instruction, data (as constant value) except being used for.These do not use section can be received in specific padding data.Picture is labeled as the part of oblique line at partial content 92E1 to 92E4 in Fig. 5 E, all write down significant program, instructed pairing binary code, so-called procedure code section (code segment); Being received in the part of hexadecimal " F ", promptly is the so-called section that do not use, and is not used for writing down any program, instruction.Picture does not just use section between partial content 92E2,92E3.In addition, because firmware program code 88 most likely is compiled as the procedure code of fixed size (as 512Kbyte), conveniently being recorded in the memory in the peripheral unit, some are unnecessary so firmware program code 88 last necessarily has, be not used for writing down the not use section of any program, instruction.When the control circuit in the peripheral unit when carrying out firmware program code, meeting is intersegmental reading command jumpily in each program area, can not carry out and not use section, so the present invention also can insert specific data as mark by the section that do not use in firmware program code 88, not only do not influence peripheral unit and carry out the operation of firmware program code, and the mark that inserts also can be used as the foundation that host side of the present invention/device end is checked inspection when step is carried out.Shown in Fig. 5 E, the not use section in firmware program code 88 has just become firmware program code 89 after inserting several data 95; And the new procedures sign indicating number that firmware program code 89 firmware research and development just manufacturer formally disengages.When carrying out host machine/apparatus end of the present invention when checking step, just can whether the data of insertion be arranged in the particular address search in the section do not used of new procedures sign indicating number, judge whether the new procedures sign indicating number is suitable.Be similar to the embodiment of the present invention in Fig. 5 B, C, D, firmware research and development manufacturer also will set the application program 74 and the control circuit 56 of firmware update in advance, make main frame 52, peripheral unit 54 when checking step, the target of comparison can be known, which type of data should be had as that address in not using district's end.With respect to the embodiment of Fig. 5 E is that data with mark are inserted into and do not use section, in the embodiment of Fig. 5 A to Fig. 5 D, is used for being used as host side/device end and checks that step carries out the data of foundation and all can be positioned at the procedure code section.
Except above-mentioned method, host side of the present invention/device end checks that step still has following several other the practice.For instance, when checking step, can search the address at a certain specific designation data (as word string, constant) place in the new procedures sign indicating number, by calculating a new address behind one section default translation address of this address translation, reexamine the content of new procedures sign indicating number and whether meet another preset content in this new address.In other words, when firmware is researched and developed manufacturer when disengaging firmware program code, not only in procedure code, add designation data, also will be in the place of this this translation address of designation data address translation, add this preset content, after disengaging at procedure code, fit is carried out host side/device end and is checked step.In addition, when checking step, can check that also the different constants that are positioned at different default addresses in the new procedures sign indicating number after the default computing of process, do not meet a preset value.For instance, can check the constant addition that lays respectively at two different addresses in the new procedures sign indicating number after, be not a predetermined value.Once mentioned in front, the inspection step can check that the numerical values recited of firmware version in the firmware identification code is applicable to foundation not as firmware program code, but the saboteur of malice also may be when altering procedure code, alter the numerical value of firmware version in the lump, intention escapes the inspection of checking step and firmware program code after will altering in the firmware update process is implanted in the peripheral unit.At this situation, firmware research and development manufacturer just can implant another inspection constant, and be a default definite value after this inspection firmware version numerical value addition with constant and new procedures sign indicating number in real new procedures sign indicating number in another default address; In other words, upgrade, in the procedure code that firmware version numerical value is bigger, this inspection also diminishes with constant thereupon.And when carrying out host side/device end when checking step, the host/peripheral device is except the numerical value of checking firmware version whether the numerical value greater than existing firmware version, can also find this inspection to use constant in default address, and check whether this inspection is the definite value of presetting with the numerical value of the firmware program version addition of writing down in constant and the new procedures sign indicating number.So, just can confirm further whether firmware version numerical value itself is correct.
Extended by above-mentioned discussion, host side of the present invention/device end inspection step also can be searched two addresses at the data difference place of two preset contents earlier, and whether the procedure code that reexamines between these two addresses has certain default characteristic.For instance, firmware research and development manufacturer can write down a series of numerical value between two preset content data, and the value after this a succession of numerical value addition is certain value (or according to default rule increasing or decreasing) when disengaging the compatible procss sign indicating number; Or two data between the preset content data after handling through a default algorithm, can obtain a default standard value.So, when carrying out host side/device end when checking step, the host/peripheral device just can check in the new procedures sign indicating number whether the data between these two preset contents data conform with default rule, or the standard value that can not obtain presetting after handling with default algorithm.Under this practice, firmware research and development manufacturer can add different data between two preset content data in the firmware program code of different editions, but the data that add all can obtain same standard value after through default algorithm.So, just can avoid the standard of comparison of compatible procss sign indicating number to be exposed in the procedure code.Because in the compatible procss sign indicating number of different editions, the data between two preset content data all can be different, even malicious sabotage person analyzes the compatible procss sign indicating number of different editions, also is difficult to summarize specific rule to avoid the screening that the present invention checks step.
By the above discussion that host machine/apparatus end of the present invention is checked step as can be known, whether the present invention has the data of preset content (as word string, data) in the comparison new procedures sign indicating number, or whether the data (or whether preset data is in default address) of preset content are arranged in default address, whether be the procedure code that is suitable in the flow process of firmware update, to judge the used new procedures sign indicating number of firmware update.When enforcement is of the present invention (the especially embodiment of Fig. 5 B to Fig. 5 E), firmware research and development manufacturer can draft the overall strategy that the host machine/apparatus end checks that step is carried out earlier, before dispatching from the factory, to disengage the application program of firmware update at peripheral unit, configure the host machine/apparatus end earlier and check comparison object when step is carried out, and when disengaging the firmware program code that upgrades usefulness successively, also in firmware program code, add the relatively data of usefulness accordingly in the future.So, just can be when peripheral unit will upgrade firmware, guarantee that the suitable firmware program code that firmware research and development manufacturer disengages can be by host machine/apparatus end inspection step, and inapplicable firmware program code can be come out by screening in checking step, and inapplicable firmware program code can not implanted in the peripheral unit in the firmware update flow process by mistake.When the comparison object of the control circuit 56 of setting peripheral unit 54, because control circuit 56 is operated according to existing procedure code, so target relatively, device end are checked the mode that step is carried out, also can be recorded in the firmware program code that peripheral unit 54 builds in advance.When enforcement was of the present invention, the various implementation methods of Fig. 5 A to Fig. 5 E can be used separately, or merging several different methods implements together, and host side/device end inspection step also can be used different comparison object.For instance, main frame 52 can use the embodiment among Fig. 5 B, whether check has specific word string to check step to implement host side in the new procedures sign indicating number, control circuit 56 then can utilize the embodiment among Fig. 5 A, coming with the firmware identification code serves as to check step according to carrying out device end, judges whether the new procedures sign indicating number share.Certainly, in the case, the firmware identification code not only to be arranged in the firmware program code that is suitable for, specific word string also will be arranged to support the enforcement of embodiment among Fig. 5 B to support the enforcement of embodiment among Fig. 5 A.Just because host side of the present invention/device end checks that the foundation of step inspection is default by firmware research and development manufacturer, so a comparison object accurately can be provided, positively checks out inapplicable firmware program code.In comparison, though the new procedures sign indicating number that the known flow process 100 among Fig. 2 can be used according to firmware update, utilize check code to produce algorithm and calculate a check code, but because known flow process has no way of learning the check code of suitable firmware program code correspondence at all, so can't utilize check code to check out inapplicable new procedures sign indicating number.
The flow process 200 of Fig. 4 has been carried out host side respectively at main frame, device end, device end is checked step though the present invention is shown in, but the present invention also can only carry out host side by main frame 52 checks step, or only carries out device end with the control circuit in the peripheral unit 54 56 and check step.When carrying out host side inspection step, also not necessarily to as Fig. 4, before the unit state inspection, just carry out host side inspection step, also can after being written into the new procedures sign indicating number, carry out host side and check step in application program 74.Roughly, check step as long as before main frame 52 transfers to peripheral unit 54 with new procedures formula 76, carry out host side, can prevent that inapplicable firmware program code is transferred to peripheral unit 54, prevent that further inapplicable firmware program code from being implanted in the peripheral unit by mistake.On the other hand, in peripheral unit 54, carry out device end and check step, then can bring into play the purpose of finally checking on.As previously mentioned, except the user misapplies the new procedures sign indicating number, also may despiteful saboteur can be intended to the operation of paralysis peripheral unit 54 deliberately with inapplicable new procedures sign indicating number.After implementing the present invention, even inapplicable new procedures sign indicating number is transferred to peripheral unit 54, the device end that carries out in peripheral unit 54 is checked step, can stop that still inapplicable new procedures sign indicating number replaces existing firmware program code.In the present invention, be used for carrying out device end and check that the inspection module 56B (see figure 3) of step can be actual hardware circuit, or carry out the function that (existing) firmware program codes realize checking module 56B by control circuit 56 itself, carry out device end and check step.In addition, as previously mentioned, the device of many independent operations is arranged,, also all carry out firmware program code and operate by control circuit as mobile phone, digital still camera.Though the usual independent operation of these devices in the time of will carrying out firmware update, still will cooperate a main frame (as being connected to personal computer with the USB connecting line) just can obtain the used new procedures sign indicating number of firmware update mostly, carries out firmware update.And the present invention also can be applicable to this situation certainly, the device of protecting these independent operations can be in the process of firmware update implanted inapplicable firmware program code; Especially the device end that carried out voluntarily by device itself in device is checked step, can guarantee initiatively that device itself can not implanted inapplicable firmware program code by mistake.
In known firmware update flow process, can't carry out the inspection of content at the used new procedures sign indicating number of firmware update, so also can't in the flow process of firmware update, avoid inapplicable new procedures sign indicating number to be implanted in the peripheral unit mistakenly.In comparison, the present invention has added the host machine/apparatus end and has checked step in the flow process of firmware update, can judge that whether the new procedures sign indicating number is suitable for, and avoids inapplicable new procedures sign indicating number to be implanted in the peripheral unit by mistake according to the content of new procedures sign indicating number.In addition, the present invention also helps the integration of firmware update flow process between different peripheral units.Because whether available host of the present invention/device end is checked the new procedures sign indicating number that step confirms that firmware update is used and is suitable for, and just can use the interface of the application program of single firmware update as different peripheral firmware renewals in host side.Carry out device when identification at main frame, just can identify the classification that to carry out the peripheral unit of firmware update, and select host side that should peripheral unit is checked step that the new procedures sign indicating number that the affirmation user obtains is the firmware program code that is suitable for by application program; And different peripheral units separately the device end of built-in correspondence check process embodiment, can further confirm the procedure code of new procedures sign indicating number that main frame transmits for being suitable for.So, the flow process of firmware update between different peripheral units is integrated,, still can be managed the firmware update of multiple peripheral unit even use the application program of same firmware update, more simple and easy when allowing the user carry out firmware update, convenient.
The above only is preferred embodiment of the present invention, and all equivalences of making according to claims of the present invention change and revise, and all should belong to covering scope of the present invention.

Claims (34)

1. the method for a refresh routine sign indicating number in an electronic system, wherein this electronic system includes a main frame and a peripheral unit;
This peripheral unit includes:
One control circuit is used for carrying out one first procedure code, controls the operation of this peripheral unit with the steering order that transmits according to this main frame;
And this method includes:
Obtain one second procedure code; And
Before replacing first procedure code of this peripheral unit with this second procedure code, carry out a host side and check step, check to utilize this main frame whether the partial content of this second procedure code meets a preset content.
2. method as claimed in claim 1, wherein this peripheral unit includes a memory in addition, is used for storing this first procedure code in non-volatile mode; And in the time will replacing this first procedure code, this first procedure code is wiped by this memory, and this second procedure code is write in this memory with this second procedure code.
3. method as claimed in claim 1, wherein when before replacing this first procedure code and carry out this host side when checking step with one second procedure code, this control circuit carry out this second procedure code with the operation of controlling this peripheral unit before, carry out this host side and check step.
4. method as claimed in claim 1, wherein this preset content is the partial content of this first procedure code, or is recorded in the constant in this first procedure code; And when carrying out this host side inspection step, check the partial content that whether has this first procedure code in this second procedure code, or whether the value of checking the constant that writes down in this second procedure code be equivalent to the value of this constant in this first procedure code, or whether the value of checking the constant that writes down in this second procedure code is in this first procedure code in the preset range of the value of this constant.
5. method as claimed in claim 1, wherein this preset content is to be convention, makes that this preset content also can not change when this second procedure code changes.
6. method as claimed in claim 1, wherein when carrying out this host side inspection step, read the partial content that is positioned at default address in this second procedure code by this main frame, whether meet this preset content to check this partial content, or search in this second procedure code whether have this preset content.
7. method as claimed in claim 1, it includes in addition:
After carrying out this host side inspection step,, then stop to replace this first procedure code with this second procedure code if the partial content of this second procedure code does not meet this preset content.
8. method as claimed in claim 1, it includes in addition:
After carrying out this host side inspection step, if the partial content of this second procedure code meets this preset content, then replace this first procedure code with this second procedure code, make this control circuit be carried out this second procedure code to control the operation of this peripheral unit.
9. the method for a refresh routine sign indicating number in an electronic system, wherein this electronic system includes a main frame and a peripheral unit;
This peripheral unit includes:
One control circuit is used for carrying out one first procedure code, to control the operation of this peripheral unit;
And this method includes:
One second procedure code is transferred to this peripheral unit by this main frame; And
Before replacing this first procedure code with this second procedure code, carry out a device end and check step, check to utilize this control circuit whether the partial content of this second procedure code meets a preset content.
10. method as claimed in claim 9, wherein this peripheral unit includes a non-volatile memory in addition, is used for storing this first procedure code in non-volatile mode; And in the time will replacing this first procedure code, this first procedure code is wiped by this memory, and this second procedure code is write in this memory with this second procedure code.
11. method as claimed in claim 9, wherein when before replacing this first procedure code and carry out this device end when checking step with one second procedure code, this control circuit carry out this second procedure code with the operation of controlling this peripheral unit before, carry out this device end and check step.
12. method as claimed in claim 9, wherein this preset content is the partial content of this first procedure code, or is recorded in the constant in this first procedure code; And when carrying out this device end inspection step, check the partial content that whether has this first procedure code in this second procedure code, or whether the value of checking the constant that writes down in this second procedure code be equivalent to the value of this constant in this first procedure code, or whether the value of checking the constant that writes down in this second procedure code is in this first procedure code in the preset range of the value of this constant.
13. method as claimed in claim 9, wherein this preset content is to be convention, makes that this preset content also can not change when this second procedure code changes.
14. method as claimed in claim 9, wherein when carrying out this device end inspection step, read the partial content that is positioned at default address in this second procedure code by this control circuit, checking whether this partial content meets a preset content, or search whether there is this this preset content in this second procedure code.
15. method as claimed in claim 9, it includes in addition:
After carrying out this device end inspection step,, then stop to replace this first procedure code with this second procedure code if the partial content of this second procedure code does not meet this preset content.
16. method as claimed in claim 9, it includes in addition:
After carrying out this device end inspection step, if the partial content of this second procedure code meets this preset content, then replace this first procedure code with this second procedure code, make this control circuit be carried out this second procedure code to control the operation of this peripheral unit.
17. method as claimed in claim 9, wherein this peripheral unit includes a memory buffer in addition, is used for storing data in the mode of volatibility; And when carrying out this device end inspection step, this control circuit is that this second procedure code is temporary in this memory buffer, carries out this device end with the partial content that reads this second procedure code and checks step.
18. as the method for claim 17, wherein this peripheral unit includes a non-volatile memory in addition, is used for storing this first procedure code in non-volatile mode; And before will replacing this first procedure code with this second procedure code and carry out this device end when checking step, be not wiped free of as yet and before this second procedure code is not written into this memory as yet, carries out this device end and check step at this first procedure code.
19. method as claimed in claim 9, wherein this peripheral unit is a CD player.
20. a peripheral unit, it includes:
One control circuit is used for carrying out one first procedure code, to control the operation of this peripheral unit;
Check module and be provided with one in this control circuit, this inspection module can check whether the partial content of this second procedure code meets a preset content before this control circuit replaces this first procedure code with one second procedure code.
21. as the peripheral unit of claim 20, it includes a non-volatile memory in addition, is used for storing this first procedure code in non-volatile mode; And when this control circuit replaces this first procedure code with this second procedure code, this first procedure code is wiped by this memory, and this second procedure code is write in this memory.
22. peripheral unit as claim 20, wherein replace before this first procedure code with one second procedure code and when checking when this control circuit by this inspection module, this control circuit carry out this second procedure code with the operation of controlling this peripheral unit before, check by this inspection module.
23. as the peripheral unit of claim 20, wherein this preset content is the partial content of this first procedure code, or is recorded in the constant in this first procedure code; And when this inspection module is checked, check the partial content that whether has this first procedure code in this second procedure code, or whether the value of checking the constant that writes down in this second procedure code be equivalent to the value of this constant in this first procedure code, or whether the value of checking the constant that writes down in this second procedure code is in this first procedure code in the preset range of the value of this constant.
24. as the peripheral unit of claim 20, wherein this preset content can not change with this second procedure code.
25. peripheral unit as claim 20, wherein when this inspection module is checked, read the partial content that is positioned at default address in this second procedure code by this control circuit, so that whether meet a preset content, or search whether there is this this preset content in this second procedure code by this this partial content of inspection module check.
26. as the peripheral unit of claim 20, wherein if the partial content that this inspection module check goes out this second procedure code does not meet this preset content, then this control circuit can stop to replace this first procedure code with this second procedure code.
27. peripheral unit as claim 20, wherein if the partial content that this inspection module check goes out this second procedure code meets this preset content, then this control circuit can replace this first procedure code with this second procedure code, makes this control circuit be carried out this second procedure code to control the operation of this peripheral unit.
28. as the peripheral unit of claim 20, it includes a memory buffer in addition, is used for storing data in the mode of volatibility; And this control circuit is that this second procedure code is temporary in this memory buffer, and is checked by this inspection module behind the partial content that reads this second procedure code.
29. as the peripheral unit of claim 28, it is to use in an electronic system, be provided with a main frame in this electronic system in addition, and this second procedure code is to transfer to this peripheral unit by this main frame.
30. as the peripheral unit of claim 28, it includes a non-volatile memory in addition, is used for storing this first procedure code in non-volatile mode; And when checking before this control circuit will replace this first procedure code with this second procedure code and by this inspection module, be not wiped free of as yet at this first procedure code and before this second procedure code is not written into this memory as yet, check by this inspection module.
31. the method for a refresh routine sign indicating number in an electronic system, wherein this electronic system includes a main frame and a peripheral unit;
This peripheral unit includes:
One control circuit is used for carrying out one first procedure code, controls the operation of this peripheral unit with the steering order that transmits according to this main frame;
And this method includes:
Obtain one second procedure code; And
Before replacing first procedure code of this peripheral unit with this second procedure code, carry out one and check step, obtaining the content character of a correspondence, and check whether this content character meets a preset property according to the content of this second procedure code;
And this preset property can not change with the content changing of this second procedure code.
32. as the method for claim 31, wherein this inspection step is to be undertaken by this main frame.
33. as the method for claim 31, wherein this inspection step is to be undertaken by this control circuit.
34. as the method for claim 31, wherein this content character is the address at preset content place in this second procedure code, and this preset property is a default address; And when carrying out this inspection step, check whether the address at this preset content place in this second procedure code meets this default address.
CNB03106101XA 2003-02-18 2003-02-18 Firmware updating method and apparatus for inspecting program contents and guaranteeing updating compatibility Expired - Fee Related CN1317641C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB03106101XA CN1317641C (en) 2003-02-18 2003-02-18 Firmware updating method and apparatus for inspecting program contents and guaranteeing updating compatibility

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB03106101XA CN1317641C (en) 2003-02-18 2003-02-18 Firmware updating method and apparatus for inspecting program contents and guaranteeing updating compatibility

Publications (2)

Publication Number Publication Date
CN1523501A true CN1523501A (en) 2004-08-25
CN1317641C CN1317641C (en) 2007-05-23

Family

ID=34282678

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB03106101XA Expired - Fee Related CN1317641C (en) 2003-02-18 2003-02-18 Firmware updating method and apparatus for inspecting program contents and guaranteeing updating compatibility

Country Status (1)

Country Link
CN (1) CN1317641C (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101634937B (en) * 2008-07-21 2011-10-19 群联电子股份有限公司 Data access method, storage system using method and controller thereof
CN104615449A (en) * 2013-11-01 2015-05-13 慧荣科技股份有限公司 Firmware loading system and firmware loading method thereof
CN108364384A (en) * 2018-02-05 2018-08-03 中科富创(北京)科技有限公司 Intelligent express delivery cabinet lock control plate restarts method of calibration and storage device, processing equipment
CN111766797A (en) * 2019-04-02 2020-10-13 海盗船存储器公司 Microcontroller, memory module and method for updating firmware of microcontroller

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI571811B (en) * 2015-11-05 2017-02-21 財團法人資訊工業策進會 Variable definition modification device and method for process model integration systems

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6357021B1 (en) * 1999-04-14 2002-03-12 Mitsumi Electric Co., Ltd. Method and apparatus for updating firmware
JP2003005991A (en) * 2001-06-25 2003-01-10 Toshiba Tec Corp Firmware update system and firmware distribution program and electronic equipment

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101634937B (en) * 2008-07-21 2011-10-19 群联电子股份有限公司 Data access method, storage system using method and controller thereof
CN104615449A (en) * 2013-11-01 2015-05-13 慧荣科技股份有限公司 Firmware loading system and firmware loading method thereof
CN104615449B (en) * 2013-11-01 2018-07-24 慧荣科技股份有限公司 Firmware loading system and firmware loading method thereof
CN108364384A (en) * 2018-02-05 2018-08-03 中科富创(北京)科技有限公司 Intelligent express delivery cabinet lock control plate restarts method of calibration and storage device, processing equipment
CN111766797A (en) * 2019-04-02 2020-10-13 海盗船存储器公司 Microcontroller, memory module and method for updating firmware of microcontroller

Also Published As

Publication number Publication date
CN1317641C (en) 2007-05-23

Similar Documents

Publication Publication Date Title
TWI220962B (en) Firmware updating method and related apparatus for checking content of replacing firmware before firmware updating
CN100483346C (en) Method and apparatus for remote modifcation of system configuration
CN1313941C (en) Method for data exchange between data handling equipment and operating system
US6286057B1 (en) Method and arrangement for allowing a computer to communicate with a data storage device
EP0806005B1 (en) Method and arrangement for operating a mass memory storage peripheral computer device connected to a host computer
CN1801032A (en) Method and apparatus providing portable application and data
CN1464387A (en) Hardware equipment drive program installing method and computer therefor
CN1399194A (en) Method and system for creating and using operation system with optional functions
JP2003005921A (en) Method for duplicating host protected data
CN1317641C (en) Firmware updating method and apparatus for inspecting program contents and guaranteeing updating compatibility
CN1516014A (en) Method for testing interconnected bus of external components
CN114691178B (en) Firmware upgrading method and device based on EtherCAT communication driver
CN109240748B (en) Mirror image starting and adapting method and system applied to embedded system
CN1162770C (en) Soft ware installation concerned with hardware
CN107678770B (en) Interface chip upgrading method and device, storage medium and processor
CN1831760A (en) Method and device for quickly developing embedded system using automatic compilation frame
CN1178130C (en) Control method and electronic device thereof
CN116471731A (en) Stage lamp program updating system based on USB
CN114780154B (en) Method compatible with hardware states of master control boards of different manufacturers
CN1248094C (en) Mouse device capable of storing data
CN101189577B (en) Method and device of accessing configuration registers by automatically changing an index
US8595417B2 (en) Memory configuring method, memory controller and memory storage apparatus
CN1282922C (en) Method and device for renewing firmware by storage card
CN1700176A (en) Office automation equipment, method for mounting, repacking and upgrading drive thereof
JP2001117779A (en) Electronic instrument and program rewriting method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070523

Termination date: 20190218