JP2004094820A - Electronic device - Google Patents

Electronic device Download PDF

Info

Publication number
JP2004094820A
JP2004094820A JP2002258094A JP2002258094A JP2004094820A JP 2004094820 A JP2004094820 A JP 2004094820A JP 2002258094 A JP2002258094 A JP 2002258094A JP 2002258094 A JP2002258094 A JP 2002258094A JP 2004094820 A JP2004094820 A JP 2004094820A
Authority
JP
Japan
Prior art keywords
program
electronic device
group
update
updating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002258094A
Other languages
Japanese (ja)
Inventor
Yoshio Takei
武井 良雄
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.)
Canon I Tech Inc
Original Assignee
Canon I Tech 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 Canon I Tech Inc filed Critical Canon I Tech Inc
Priority to JP2002258094A priority Critical patent/JP2004094820A/en
Publication of JP2004094820A publication Critical patent/JP2004094820A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To suppress the occurrence of troubles due to updating when updating a program. <P>SOLUTION: A start processing program group and a functioning program group are recorded in a ROM 2 in the order of the starting processing program group and the functioning program group. The functioning program group is a program group for achieving various functions of an electronic device, while the start processing program group includes an initializing program for initializing the electronic device, a starting program for processing the start of the functioning program and an updating program for updating the functioning program group in the ROM 2, which are recorded in the ROM 2 in the order of the initializing program, the starting program and the updating program. The updating program updates the functioning program group in the ROM 2. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、各種電子機器に組み込まれるファームウエアプログラムなどのプログラムを、バージョンアップなどのために更新する技術に関するものであり、特に、当該更新による障害の発生を抑止する技術に関するものである。
【0002】
【従来の技術】
たとえば、各種電子機器には、ROMなどの可書換型の不揮発性メモリに格納された形態で組み込まれるファームウエアプログラムを、バージョンアップのために適時更新する機能が予め組み込まれていることが多い。
そして、従来は、このようなファームウエアプログラムの更新は、単に、ROM上のファームウエアプログラムを、新しいファームウエアプログラムに書き換えることにより行われてきた。
【0003】
【発明が解決しようとする課題】
従来のファームウエアプログラム更新の技術によれば、更新作業途中で電源のオフ等の障害が発生した場合、ROM上のファームウエアプログラムが不完全な形で書き換えられてしまい、その後、ファームウエアプログラムを正常に実行できないために、その電子機器を正常に起動することができなくなったり、ファームウエアプログラムの再更新を行えなくなってしまうことがある。
【0004】
そこで、本発明は、プログラムの更新の際に、当該更新による障害の発生を抑止する自己更新プログラムを提供することを課題とする。
【0005】
【課題を解決するための手段】
前記課題達成のために、本発明は、プログラムを実行することにより機能を果たす電子機器の、前記プログラムを格納した可書換型の不揮発性のメモリ上に、電子機器に前記機能を遂行させるための第1のプログラム群と、電子機器を初期化し前記第1のプログラム群のプログラムを起動する起動処理プログラムと前記第1のプログラム群のプログラムを新たなプログラムに更新するための更新プログラムとを含む第2のプログラム群とを、各々のプログラム群を独立に書き換え可能なように分割配置して記憶し、前記更新プログラムを、前記第1のプログラム群のプログラムを新たなプログラムに更新する処理を前記電子機器に実行させるプログラムとしたものである。
【0006】
このように、第1のプログラム群と第2のプログラム群を分割して記録し、第1のプログラム群の更新を行うので、第1のプログラム群の更新処理中に障害が発生した場合であっても、その障害によって、第2のプログラム群が損傷を受けてしまうことがない。
【0007】
したがって、もし、更新処理によって障害が起きた場合であっても、再起動によって第2のプログラム群に属する各プログラムの機能を利用することができるので、たとえば第2のプログラム群に属する更新処理プログラムを用いて、プログラムの再更新などを行うことができるようになる。
なお、このような電子機器においては、前記更新プログラムを、前記第1のプログラム群のプログラムの更新の正常性を検証し、正常性の検証が失敗した場合に、第1のプログラム群のプログラムを再更新する処理を前記電子機器に実行させるプログラムとしてもよく、このようにすることにより、より確実に第1のプログラム群のプログラムの更新を行うことができるようになる。
【0008】
ここ前記更新プログラムは、前記第1のプログラム群のプログラムと前記第2のプログラム群のプログラムとを、相互に独立した前記不揮発性メモリの書き換えシーケンスによって更新する処理を前記電子機器に実行させるプログラムとしても良い。このように揮発性メモリの書き換えシーケンスを、第1のプログラム群と、通常第1のプログラム群のプログラムに比べ容量が小さい第2のプログラム群について独立に行うことにより、第2のプログラム群のプログラムの更新処理中に障害が発生する確率を低く抑えることができ、これにより更新処理後に第2のプログラム群のプログラムが稼働しないことにより電子機器の動作がフリーズ等したり、更新プログラムによる再更新を行えなくなってしまうことを抑止することができる。
【0009】
また、この場合において、前記更新プログラムは、前記第2のプログラム群のプログラムの更新の際に、前記起動処理プログラムを最初に更新するプログラムとするのが良い。これによって起動処理プログラムに対して更新処理によって障害が発生する確率を低く抑え、更新処理後に起動処理プログラムが稼働しないことにより電子機器の動作がフリーズ等してしまい、その後に問題を克服するための処置をとることができなくなってしまうことを抑止することができる。
【0010】
【発明の実施の形態】
以下、本発明の実施形態について電子機器のファームウエアプログラムの更新への適用を例にとり説明する。
図1に、本実施形態においてファームウエアプログラム更新の対象とする電子機器の構成例を示す。
図示するように、この電子機器は、CPU1、フラッシュメモリなどの可書換型のROM2、CPU1の主記憶として使用されるRAM3、過般型のメモリカードなどの外部記憶媒体5を装着可能な外部記憶媒体インタフェース4、入力インタフェース6を介して接続された、キースイッチなどの入力装置7、表示インタフェース8を介して接続されたLCDなどの表示装置9、当該電子機器の機能を提供する機能部10、他装置と接続するための外部入出力インタフェース11とを有する。なお、ROM2は、ブロックを単位にデータの消去や書き込みを行うことのできる可書換型の不揮発性メモリである。
【0011】
ここで、電子機器はたとえばプリンタなどであり、この場合、機能部10は印刷機能を提供するものとなり、外部入出力インタフェース11でパーソナルコンピュータやデジタルカメラなどのプリンタのホストとなる装置に接続することになる。
【0012】
さて、本実施形態においては、図2に示すように、ROM2に、起動処理プログラム群、機能プログラム群を、起動処理プログラム群と機能プログラム群でROM2のブロックを共用しないように、起動処理プログラム群、機能プログラム群の順番に記録する。ここで、機能プログラム群は、電子機器の各種機能を実現するための機能プログラムの群である。一方、起動処理プログラム群は、電子機器の初期化を行う初期化プログラムと、機能プログラムの起動処理を行う起動プログラムと、ROM2の機能プログラム群を更新するための更新プログラムをまとめたものであり、これらは、初期化プログラム、起動プログラム、更新プログラムの順の順番にROM2に記録される。
【0013】
さて、このような電子機器の構成において、オペレータは、ROM2の機能プログラム群の更新を、新しい機能プログラム群(以下、便宜上「更新後プログラム」と記す)を格納した外部記憶媒体5を、外部記憶媒体インタフェース4に装着し、入力装置7を介して更新指示を入力することにより行う。
【0014】
更新指示が入力されると、CPU1は、更新プログラムをRAM3にロードし実行することにより、以下に示す更新処理を行う。
図3に、この更新処理の手順を示す。
図示するように、この更新処理では、まず、更新中フラグをセットする(ステップ302)。この更新中フラグは、不揮発性のメモリにセットする。この不揮発性のメモリとしてはROM2を用いることもできるが、別途、不揮発性のレジスタを備えるようにしてもよい。
【0015】
次に、iを0に設定し(ステップ304)、ROM2のSt+i番目のブロックを消去する(ステップ306)。ここで、Stは、ROM2上において機能プログラム群を記録している先頭のブロックの番号である。
そして、外部記憶媒体5から更新後プログラムの先頭からiブロックサイズ進んだアドレスからデータを1ブロック分読み出し、ROM2のSt+i番目のブロックにコピーする(ステップ308)。
そして、ROM2に記憶したデータを読み出し、先に外部記憶媒体5から読み出したデータとの一致性を検証する(ステップ310)。そして、検証が成功したかどうかを調べ(ステップ312)、検証が失敗したならば、ステップ308に戻り、もう一度データのコピーを行う。ただし、ROM2の同じブロックについて所定回数以上検証が失敗した場合には、所定のエラー処理を行うようにしてもよい。
【0016】
一方、検証が成功した場合には、外部記憶媒体5の更新後プログラムの最後のデータまで、ROM2へのコピーが完了したかどうかを調べ(ステップ314)、完了していれば、更新中フラグをクリアし(ステップ316)処理を終了する。
一方、まだ、記憶媒体の更新後プログラムの最後のデータまで、ROM2へのコピーが完了していない場合には、iを1進め(ステップ318)、ステップ306に戻り、次のROM2のブロックへの外部記憶媒体5からの更新後プログラムのデータのコピーを行う。
【0017】
ここで、以上のようなROM2上への各プログラムの配置と更新処理によれば、起動処理プログラム群と機能プログラム群を分割してROM2に記録し、機能プログラム群の更新を行うので、更新処理中に障害が発生した場合であっても、その障害によって、起動処理プログラム群が損傷を受けてしまうことがない。
【0018】
したがって、更新処理によって障害が起きた場合であっても、再起動によって起動処理プログラム群に属する各プログラムの機能を利用することができるようになり、たとえば、起動処理プログラム群に属する更新処理プログラムを用いて、ROM2上のプログラムの再更新などを行うことができるようになる。
【0019】
ところで、電子機器起動時に起動プログラムにおいて、前述した更新フラグがセットされている場合には自動的に更新処理プログラムを実行するようにすれば、自動的に上述のようなROM2上のプログラムの再更新を行うことができるようになる。
【0020】
さて、以上のような電子機器において、起動処理プログラム群の更新を行う場合には、図2に示すように、以上の更新処理と同様な処理により、起動処理プログラム群の更新を行う起動処理プログラム群更新用の更新プログラムを機能プログラム群に含め、このプログラムをCPUが実行することにより起動処理プログラム群の更新を行うようにすればよい。
【0021】
この場合において、前述のように起動処理プログラム群内においては、初期化プログラム、起動処理プログラムがROM2の先頭に記録されており、これらが最初に更新されるようにしているので、起動プログラム群の更新処理において発生した障害によって、初期化プログラム、起動処理プログラムが損傷する確率を低く抑えることができ、これによって更新処理後に電子機器の動作がフリーズ等してしまい、その後に問題を克服するための処置をとることができなくなってしまうことを抑止することができる。
【0022】
以上のように本実施形態によれば、プログラムの更新処理を行っている際に、電源オフや、更新後プログラムの不具合や、外部記憶媒体5の抜き取りなどの影響により、プログラムメモリに書き込んだプログラムに問題が生じた場合でも、その問題を克服するための処理を継続することができる確率を高めることができる。
【0023】
ところで、以上の実施形態の図3に示した更新処理においては、前記Stを0に設定することにより、起動処理プログラム群と機能プログラム群の双方を更新するように構成することもできる。このようにした場合においても、起動処理プログラム群をROM2の先頭に記録し、最初に更新されるようにしているので、更新処理において発生した障害によって起動処理プログラム群が損傷する確率を低く抑えることができ、これによって更新処理後に電子機器の動作がフリーズ等してしまい、その後に問題を克服するための処置をとることができなくなってしまうことを抑止することができる。
【0024】
または、図3に示した更新処理に代えて、図4に示す更新処理を行うように更新プログラムを構成することにより、更新プログラムにより起動処理プログラム群と機能プログラム群の双方を更新するように構成してもよい。
すなわち、更新処理において、まず、更新中フラグをセットする(ステップ402)。次に、対象を起動処理プログラム群に設定し(ステップ304)、ROM2の起動処理プログラム群記録ブロックを消去する(ステップ406)。
そして、外部記憶媒体5から対象として設定した起動処理プログラム群のデータを読み出し、ROM2にコピーする(ステップ408)。
そして、ROM2に記憶したデータを読み出し、先に外部記憶媒体5から読み出したデータとの一致性を検証する(ステップ410)。そして、検証が成功したかどうかを調べ(ステップ412)、検証が失敗したならば、ステップ408に戻り、もう一度データのコピーを行う。
【0025】
一方、検証が成功した場合には、更新が終了したかどうかを(ステップ414)、完了していれば、更新中フラグをクリアし(ステップ416)処理を終了する。ここで、更新は、その時点で対象として機能プログラム群が設定されていれば終了したものと判定する。
【0026】
一方、まだ、更新が終了していない場合には、対象を機能プログラム群に設定し(ステップ418)、ステップ406に戻り、対象として設定した機能プログラム群のデータのコピーを行う。
ここで、以上のようなROM2上への各プログラムの配置と更新処理によれば、起動処理プログラム群と機能プログラム群を分割してROM2に記録し、ROM2のデータ書き換えの為の消去ー書き込みのシーケンスを、プログラム群単位に、起動処理プログラム群と機能プログラム群とで独立に行う。ここで、起動処理プログラム群は、機能プログラム群に比べ容量が小さいので、以上の更新処理によれば、起動処理プログラム群と機能プログラム群に対して一括して消去ー書き込みのシーケンスを適用する場合に比べ、更新処理中に起動処理プログラム群に障害が発生する確率を低く抑えることができる。
【0027】
【発明の効果】
以上のように、本発明によれば、プログラムの更新の際に、当該更新による障害の発生を抑止することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るプログラム更新の対象となる電子機器の構成例を示すブロック図である。
【図2】本発明の実施形態に係る電子機器におけるROM上のプログラムの配置を示す図である。
【図3】本発明の実施形態に係る更新処理の手順を示すフローチャートである。
【図4】本発明の実施形態に係る更新処理の他の手順を示すフローチャートである。
【符号の説明】
1:CPU、2:ROM、3:RAM、4:外部記憶媒体インタフェース、5:外部記憶媒体、6:入力インタフェース、7:入力装置、8:表示インタフェース、10:機能部、11:外部入出力インタフェース。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technology for updating a program such as a firmware program incorporated in various electronic devices for version upgrade, and more particularly to a technology for suppressing occurrence of a failure due to the update.
[0002]
[Prior art]
For example, various electronic devices often have a function of updating a firmware program incorporated in a form stored in a rewritable nonvolatile memory such as a ROM in a timely manner in order to upgrade the firmware.
Conventionally, such a firmware program has been updated simply by rewriting the firmware program on the ROM with a new firmware program.
[0003]
[Problems to be solved by the invention]
According to the conventional firmware program update technology, if a failure such as power-off occurs during the update work, the firmware program in the ROM is rewritten in an incomplete form. Since the electronic device cannot be executed normally, the electronic device may not be able to be started normally, or the firmware program may not be updated again.
[0004]
Therefore, an object of the present invention is to provide a self-update program that suppresses the occurrence of a failure due to the update when the program is updated.
[0005]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides an electronic device that performs a function by executing a program, and causes the electronic device to perform the function on a rewritable nonvolatile memory storing the program. A first program group, a start processing program that initializes the electronic device and starts the programs of the first program group, and an update program that updates the program of the first program group with a new program. And the second program group is divided and stored so that each program group can be independently rewritten, and the update program is updated by updating the program of the first program group to a new program. This is a program to be executed by the device.
[0006]
As described above, the first program group and the second program group are divided and recorded, and the first program group is updated. Therefore, when a failure occurs during the update processing of the first program group, it is difficult to execute the update. However, the failure does not damage the second program group.
[0007]
Therefore, even if a failure occurs due to the update processing, the function of each program belonging to the second program group can be used by restarting, so that, for example, the update processing program belonging to the second program group Can be used to update the program again.
In such an electronic device, the update program is verified by checking the normality of the update of the program of the first program group. If the verification of the normality fails, the program of the first program group is updated. The re-updating process may be performed by a program that causes the electronic device to execute the process. By doing so, the program of the first program group can be more reliably updated.
[0008]
Here, the update program is a program that causes the electronic device to execute a process of updating a program of the first program group and a program of the second program group by a rewrite sequence of the nonvolatile memory that is independent of each other. Is also good. As described above, the rewriting sequence of the volatile memory is performed independently for the first program group and the second program group whose capacity is smaller than that of the first program group. The probability that a failure will occur during the update process can be kept low, whereby the operation of the electronic device freezes due to the inoperability of the programs in the second program group after the update process, and the update by the update program cannot be performed again. It is possible to suppress that the operation cannot be performed.
[0009]
In this case, it is preferable that the update program is a program that first updates the activation processing program when updating the program of the second program group. As a result, the probability that a failure occurs in the boot processing program due to the update processing is reduced, and since the boot processing program does not operate after the update processing, the operation of the electronic device freezes and the like. It is possible to prevent a situation in which a measure cannot be taken.
[0010]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described by taking an example of application to a firmware program update of an electronic device.
FIG. 1 illustrates a configuration example of an electronic device to be updated with a firmware program in the present embodiment.
As shown in the figure, the electronic apparatus includes a CPU 1, a rewritable ROM 2 such as a flash memory, a RAM 3 used as a main memory of the CPU 1, and an external storage medium to which an external storage medium 5 such as a general-purpose memory card can be mounted. An input device 7 such as a key switch connected via an interface 4 and an input interface 6; a display device 9 such as an LCD connected via a display interface 8; a function unit 10 for providing functions of the electronic device; It has an external input / output interface 11 for connecting to a device. The ROM 2 is a rewritable nonvolatile memory capable of erasing and writing data in units of blocks.
[0011]
Here, the electronic device is, for example, a printer. In this case, the function unit 10 provides a printing function, and is connected to a device that is a host of the printer, such as a personal computer or a digital camera, via the external input / output interface 11. become.
[0012]
In the present embodiment, as shown in FIG. 2, the boot processing program group and the function program group are stored in the ROM 2 so that the blocks of the ROM 2 are not shared by the boot processing program group and the function program group. Are recorded in the order of the function program group. Here, the function program group is a group of function programs for realizing various functions of the electronic device. On the other hand, the startup processing program group includes an initialization program for initializing the electronic device, a startup program for performing startup processing of the function program, and an update program for updating the function program group in the ROM 2. These are recorded in the ROM 2 in the order of the initialization program, the startup program, and the update program.
[0013]
Now, in such a configuration of the electronic device, the operator updates the functional program group in the ROM 2 to the external storage medium 5 storing the new functional program group (hereinafter referred to as “updated program” for convenience). The update is performed by attaching to the medium interface 4 and inputting an update instruction through the input device 7.
[0014]
When an update instruction is input, the CPU 1 performs the following update processing by loading the update program into the RAM 3 and executing the update program.
FIG. 3 shows the procedure of the updating process.
As shown in the drawing, in the updating process, first, an updating flag is set (step 302). This updating flag is set in the nonvolatile memory. Although the ROM 2 can be used as the nonvolatile memory, a nonvolatile register may be separately provided.
[0015]
Next, i is set to 0 (step 304), and the St + i-th block in the ROM 2 is erased (step 306). Here, St is the number of the first block in the ROM 2 where the functional program group is recorded.
Then, one block of data is read from the external storage medium 5 from the address advanced by i block size from the beginning of the updated program, and copied to the St + i-th block of the ROM 2 (step 308).
Then, the data stored in the ROM 2 is read, and the consistency with the data previously read from the external storage medium 5 is verified (step 310). Then, it is checked whether the verification has succeeded (step 312). If the verification has failed, the process returns to step 308 to copy the data again. However, if the verification of the same block in the ROM 2 has failed a predetermined number of times or more, a predetermined error process may be performed.
[0016]
On the other hand, if the verification is successful, it is checked whether or not copying to the ROM 2 has been completed up to the last data of the post-update program of the external storage medium 5 (step 314). Clear (step 316) and the process ends.
On the other hand, if the copying to the ROM 2 has not yet been completed up to the last data of the updated program in the storage medium, i is incremented by 1 (step 318), the process returns to step 306, and the next block of the ROM 2 is read. The data of the updated program is copied from the external storage medium 5.
[0017]
Here, according to the above-described arrangement of the programs on the ROM 2 and the update processing, the startup processing program group and the function program group are divided and recorded in the ROM 2, and the function program group is updated. Even if a failure occurs, the startup processing program group will not be damaged by the failure.
[0018]
Therefore, even if a failure occurs due to the update processing, the functions of the programs belonging to the boot processing program group can be used by restarting. For example, the update processing program belonging to the boot processing program group can be used. With this, the program on the ROM 2 can be updated again.
[0019]
By the way, when the above-mentioned update flag is set in the startup program at the time of starting the electronic device, the update processing program is automatically executed, so that the program on the ROM 2 is automatically updated again as described above. Will be able to do.
[0020]
Now, in the case of updating the boot processing program group in the electronic device as described above, as shown in FIG. 2, a boot processing program that updates the boot processing program group by the same processing as the update processing described above. An update program for updating the group may be included in the function program group, and the CPU may execute the program to update the startup processing program group.
[0021]
In this case, as described above, in the boot processing program group, the initialization program and the boot processing program are recorded at the top of the ROM 2, and these are updated first. The probability that the initialization program and the start-up processing program are damaged due to a failure that occurs in the update processing can be reduced, which causes the operation of the electronic device to freeze after the update processing, and to overcome the problem thereafter. It is possible to prevent a situation in which a measure cannot be taken.
[0022]
As described above, according to the present embodiment, when the program update process is being performed, the program written in the program memory is affected by the power off, a defect in the program after the update, the removal of the external storage medium 5, and the like. If a problem occurs, the probability that processing for overcoming the problem can be continued can be increased.
[0023]
By the way, in the update processing shown in FIG. 3 of the above embodiment, by setting St to 0, both the startup processing program group and the function program group can be updated. Even in such a case, the startup processing program group is recorded at the top of the ROM 2 and is updated first, so that the probability that the startup processing program group is damaged by a failure that occurs in the update processing is reduced. As a result, it is possible to prevent a situation in which the operation of the electronic device freezes after the update process, and it becomes impossible to take measures for overcoming the problem thereafter.
[0024]
Alternatively, by configuring the update program to perform the update processing shown in FIG. 4 instead of the update processing shown in FIG. 3, the update program updates both the activation processing program group and the functional program group. May be.
That is, in the updating process, first, an updating flag is set (step 402). Next, the target is set to the startup processing program group (step 304), and the startup processing program group recording block in the ROM 2 is deleted (step 406).
Then, the data of the startup processing program group set as a target is read from the external storage medium 5 and copied to the ROM 2 (step 408).
Then, the data stored in the ROM 2 is read, and the consistency with the data previously read from the external storage medium 5 is verified (step 410). Then, it is checked whether or not the verification has succeeded (step 412). If the verification has failed, the process returns to step 408 to copy the data again.
[0025]
On the other hand, if the verification is successful, it is determined whether the update has been completed (step 414). If completed, the updating flag is cleared (step 416), and the process ends. Here, it is determined that the update has been completed if a functional program group is set as a target at that time.
[0026]
On the other hand, if the update has not been completed yet, the target is set to the functional program group (step 418), and the process returns to step 406 to copy the data of the functional program group set as the target.
Here, according to the above-described arrangement and update processing of each program on the ROM 2, the startup processing program group and the function program group are divided and recorded in the ROM 2, and the erasing-writing for rewriting data in the ROM 2 is performed. The sequence is performed independently for each program group by the activation processing program group and the function program group. Here, since the startup processing program group has a smaller capacity than the function program group, according to the update processing described above, a case where the erase-write sequence is applied to the startup processing program group and the function program group collectively The probability that a failure occurs in the startup processing program group during the update processing can be reduced as compared with the case of the update processing.
[0027]
【The invention's effect】
As described above, according to the present invention, when a program is updated, occurrence of a failure due to the update can be suppressed.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration example of an electronic device to be updated according to an embodiment of the present invention.
FIG. 2 is a diagram showing an arrangement of programs on a ROM in the electronic device according to the embodiment of the present invention.
FIG. 3 is a flowchart illustrating a procedure of an update process according to the embodiment of the present invention.
FIG. 4 is a flowchart illustrating another procedure of the update process according to the embodiment of the present invention.
[Explanation of symbols]
1: CPU, 2: ROM, 3: RAM, 4: external storage medium interface, 5: external storage medium, 6: input interface, 7: input device, 8: display interface, 10: functional unit, 11: external input / output interface.

Claims (5)

プログラムを実行することにより機能を果たす電子機器であって、
前記プログラムを格納した可書換型の不揮発性のメモリを備え、
前記不揮発性のメモリ上には、電子機器に前記機能を遂行させるための第1のプログラム群と、電子機器を初期化し前記第1のプログラム群のプログラムを起動する起動処理プログラムと前記第1のプログラム群のプログラムを新たなプログラムに更新するための更新プログラムとを含む第2のプログラム群とが、各々のプログラム群を独立に書き換え可能なように分割配置されており、
前記更新プログラムは、前記第1のプログラム群のプログラムを新たなプログラムに更新する処理を前記電子機器に実行させるプログラムであることを特徴とする電子機器。
An electronic device that functions by executing a program,
A rewritable nonvolatile memory storing the program,
On the non-volatile memory, a first program group for causing an electronic device to perform the function, a start processing program for initializing the electronic device and starting a program of the first program group, And a second program group including an update program for updating a program in the program group to a new program is divided and arranged so that each program group can be independently rewritten.
The electronic device, wherein the update program is a program that causes the electronic device to execute a process of updating a program of the first program group to a new program.
請求項1記載の電子機器であって、
前記更新プログラムは、前記第1のプログラム群のプログラムを新たなプログラムに更新し、更新の正常性を検証し、正常性の検証が失敗した場合に、第1のプログラム群のプログラムを再更新する処理を前記電子機器に実行させるプログラムであることを特徴とする電子機器。
The electronic device according to claim 1,
The update program updates the program of the first program group with a new program, verifies the normality of the update, and renews the program of the first program group when the verification of the normality fails. An electronic device, which is a program for causing the electronic device to execute a process.
請求項1または2記載の電子機器であって、
前記更新プログラムは、前記第1のプログラム群のプログラムと前記第2のプログラム群のプログラムとを、相互に独立した前記不揮発性メモリの書き換えシーケンスによって更新する処理を前記電子機器に実行させるプログラムであることを特徴とする電子機器。
The electronic device according to claim 1 or 2,
The update program is a program that causes the electronic device to execute a process of updating a program of the first program group and a program of the second program group by a rewrite sequence of the nonvolatile memory that is independent of each other. Electronic equipment characterized by the above.
請求項3記載の電子機器であって、
前記更新プログラムは、前記第2のプログラム群のプログラムの更新の際に、前記起動処理プログラムを最初に更新する処理を前記電子機器に実行させるプログラムであることを特徴とする電子機器。
The electronic device according to claim 3,
The electronic device, wherein the update program is a program that causes the electronic device to execute a process of first updating the activation processing program when a program of the second program group is updated.
プログラムを実行することにより機能を果たす電子機器のプログラムを更新するプログラム更新方法であって、
前記電子機器の可書換型の不揮発性のメモリに、電子機器に前記機能を遂行させるための第1のプログラム群と、電子機器を初期化し前記第1のプログラム群のプログラムを起動する起動処理プログラムと前記第1のプログラム群のプログラムを新たなプログラムに更新するための更新プログラムとを含む第2のプログラム群とを、各々のプログラム群を独立に書き換え可能なように分割配置して記録するステップと、
前記更新プログラムを電子機器に実行させることにより、前記電子機器において、前記第1のプログラム群のプログラムを新たなプログラムに更新し、更新の正常性を検証し、正常性の検証が失敗した場合に、第1のプログラム群のプログラムを再更新する処理を実行するステップとを有することを特徴とするプログラム更新方法。
A program updating method for updating a program of an electronic device that performs a function by executing the program,
A first program group for causing the electronic device to perform the function in a rewritable nonvolatile memory of the electronic device, and a start-up processing program for initializing the electronic device and starting the program of the first program group And a second program group including an update program for updating a program of the first program group to a new program is divided and arranged so that each program group can be independently rewritten, and recorded. When,
By causing the electronic device to execute the update program, the electronic device updates the program of the first program group to a new program, verifies the normality of the update, and when the verification of the normality fails. Executing a process of updating the programs of the first program group again.
JP2002258094A 2002-09-03 2002-09-03 Electronic device Pending JP2004094820A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002258094A JP2004094820A (en) 2002-09-03 2002-09-03 Electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002258094A JP2004094820A (en) 2002-09-03 2002-09-03 Electronic device

Publications (1)

Publication Number Publication Date
JP2004094820A true JP2004094820A (en) 2004-03-25

Family

ID=32062850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002258094A Pending JP2004094820A (en) 2002-09-03 2002-09-03 Electronic device

Country Status (1)

Country Link
JP (1) JP2004094820A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007013191A1 (en) * 2005-07-29 2007-02-01 Matsushita Electric Industrial Co., Ltd. Device for writing into memory
JP2013257690A (en) * 2012-06-12 2013-12-26 Canon Inc Firmware updating method, image forming apparatus, and computer program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007013191A1 (en) * 2005-07-29 2007-02-01 Matsushita Electric Industrial Co., Ltd. Device for writing into memory
JP2013257690A (en) * 2012-06-12 2013-12-26 Canon Inc Firmware updating method, image forming apparatus, and computer program

Similar Documents

Publication Publication Date Title
JP4668416B2 (en) Protecting boot block code when enabling write access to the boot block
US20110004871A1 (en) Embedded electronic device and firmware updating method thereof
TWI515660B (en) Firmware variable update method
US8914702B2 (en) Bit error repair method and information processing apparatus
JP4031190B2 (en) MEMORY CARD, NONVOLATILE MEMORY, NONVOLATILE MEMORY DATA WRITE METHOD AND DATA WRITE DEVICE
JP2009134692A (en) Auto repair method of system configuration using single key control
JP2001195241A (en) Computer
JP2008533574A (en) Method and apparatus for rewriting semiconductor memory means erasable in sector units into first sector
JP2010170197A (en) Firmware management program, storage device, and firmware management method
JP6359980B2 (en) Information processing system
CN102308287B (en) Replicated file system for electronic devices
JP2004094820A (en) Electronic device
JP3805195B2 (en) Program rewriting apparatus and program rewriting method
CN110262916B (en) System code management device and management method thereof
JP4602387B2 (en) MEMORY CARD, NONVOLATILE MEMORY, NONVOLATILE MEMORY DATA WRITE METHOD AND DATA WRITE DEVICE
JP2008077474A (en) Firmware update method, electronic device and firmware update program
JP2001344156A (en) Device with flash memory and data rewriting method
JPH09305395A (en) Electronic equipment
JP2004110220A (en) Method for updating program
JP2011150383A (en) Firmware writing method
JP2009139997A (en) Firmware integration method, firmware integration device, and firmware integration program
JP2006127287A (en) Information processor
JP2005242930A (en) Information processor, program updating method, program updating program, and computer-readable storage medium recording program updating program
JP2004094628A (en) Memory rewriting control system for flash memory, memory rewriting control method, and program allowing execution of each process of memory rewriting control method
JP2023020590A (en) Information processing apparatus and monitoring method