JP2004192329A - Program rewriting method and terminal device - Google Patents

Program rewriting method and terminal device Download PDF

Info

Publication number
JP2004192329A
JP2004192329A JP2002359408A JP2002359408A JP2004192329A JP 2004192329 A JP2004192329 A JP 2004192329A JP 2002359408 A JP2002359408 A JP 2002359408A JP 2002359408 A JP2002359408 A JP 2002359408A JP 2004192329 A JP2004192329 A JP 2004192329A
Authority
JP
Japan
Prior art keywords
program
control program
rewriting
area
terminal device
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
JP2002359408A
Other languages
Japanese (ja)
Inventor
Motoshige Asano
元重 浅野
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.)
Fujifilm Holdings Corp
Original Assignee
Fuji Photo Film Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Photo Film Co Ltd filed Critical Fuji Photo Film Co Ltd
Priority to JP2002359408A priority Critical patent/JP2004192329A/en
Publication of JP2004192329A publication Critical patent/JP2004192329A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To rewrite a control program stored in a flash memory in a safe, convenient and economic manner. <P>SOLUTION: An area B for storing the control program, a backup area C and an area A for storing a selection program for selecting the program stored in the area B or the program stored in the area C at the time of booting are provided in the flash memory 20. When booting, the selection program loads the control program to a RAM 30 in the case that the control program is normal, or the selection program loads a program backed up in the area C to the RAM 30 in the case that the control program is not normal. When receiving an instruction to rewrite the control program from a computer 100, the program loaded in the RAM 30 rewrites the control program by clearing the area B after copying a booting program included by the control program stored in the area B to the backup area C. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、制御プログラムを書換え可能な端末装置およびその制御プログラムの書換え方法に関するものである。
【0002】
【従来の技術】
プリンタや、ネットワーク機器などの装置は、内部に備えられた不揮発性メモリに記憶された制御プログラムにより実行される。この制御プログラムは、各種初期化プログラムや、必要なデータなど、装置を実行させるために必要なプログラム群(データも含む。以下同じ)から構成されるものである。装置の電源が入れられたとき、不揮発性メモリに記憶された制御プログラムは、装置に備えられた、RAMと呼ばれる揮発性メモリにコピー(ロード)され、装置を実行させる。
【0003】
不揮発性メモリとは、電源が切れても記憶した内容を保持することができるメモリのことであり、装置の制御プログラムを記憶する不揮発性メモリとしてROMが用いられている。ROMにはマスクROMとPROMに大別され、マスクROMは、LSIの製造過程で記憶内容をチップに焼き付けてなるもので、その記憶内容を書き換えることができないが、PROMはユーザが自由に記憶内容を書き換えることができるものである。
【0004】
従来、大量生産の場合にコストが安いとの利点から、装置の制御プログラムを記憶する不揮発性メモリとしてマスクROMが利用されてきた。しかし、工場出荷時にインプットされている制御プログラムは、バグの排除や、機能の増減や、仕様変更などのために、しばしば出荷後にバージョンアップされる必要がある。マスクROMの場合、制御プログラムをバージョンアップするには、このマスクROMが備えられた装置および関連装置の電源を切り、ROMを装置から外し、新しい制御プログラムのインプットされたROMと交換するようにして制御プログラムのバージョンアップを行うので、メーカ側における新しいマスクROMの製造、発送にかかるコストと煩わしさや、ユーザが交換時に接続ピンを折ってしまうなどの失敗をしてROMを壊してしまうリスクなどがあるため、ユーザによって、記憶内容の書換えが可能なPROMを装置の制御プログラムを保持する不揮発性メモリとして利用することが多くなってきた。
【0005】
PROMには、ROMライターと呼ばれる機械で記憶内容を書き換えることができるEPROMがあり、ユーザは、ROMライターさえあれば、メーカにより提供されるプログラムを何回も書き換えることができる。しかし、装置の開発部門などのユーザ以外にROMライターを有するユーザが少なく、例えば、自宅のプリンタ一台のために、プリンタよりも高価になる可能性のあるROMライターまで購入することは、ユーザにとって本末顛倒であり、抵抗を感じることである。
【0006】
EPROMのうちの特殊なものとして、EEPROMと呼ばれる不揮発性メモリがあり、このEEPROMは、フラッシュメモリとも呼ばれ、電気的に記憶内容の書換えが可能なものである。例えば、LAN、WANなどのネットワークインターフェースや、シリアルインターフェース(IEEE1394)や、パラレルインターフェース(IEEE1284)などの通信手段を利用してコンピュータと電気的に接続し、コンピュータからEEPROMの記憶内容の書換えができる。この場合、コンピュータからプログラムをダウンロードする意味において、EEPROMを装着した装置は、その種類に拘わらずコンピュータの端末装置と称することができる。コンピュータの普及率が高い背景下において、ユーザは新たに機械を購入せずに、コンピュータを用いてプリンタや、ネットワーク機器などの端末装置のEEPROMに記憶された制御プログラムをメーカから提供される新しい制御プログラムに書き換えることができるので、大変便利である。
【0007】
また、近年、開発技術の進歩に伴って、大容量のEEPROMが安価になっているので、装置の制御プログラムを記憶する不揮発メモリとしてEEPROMが利用しやすくなり、脚光を浴びるようになっている。
【0008】
しかし、装置の制御プログラムを記憶する不揮発性メモリとしてフラッシュメモリ、すなわちEEPROMを用いた場合は、制御プログラムをバージョンアップするために、ROMライターの必要もなく、ハードウェア(ROM)を交換する必要もないが、制御プログラムの書換え中に、書込みエラーが発生した場合や、書き換え時の消去処理時にエラーが生じた場合や、書換え中に装置の電源オフなどされた場合には、制御プログラムが消失するか破壊されてしまうので、制御プログラムの書換えは勿論のこと、装置本体の通常動作までもできなくなってしまう危険性がある。
【0009】
そこで、特許文献1には、制御プログラムを記憶する制御プログラム領域を複数のセクションに分割し、書換え時にセクション毎にエラーチェックする書換え方法が提案されている。
【0010】
また、特許文献2には、制御プログラムを格納した2つのフラッシュメモリを装置に装着し、装置のCPUに付属のメモリ選択回路で2つのフラッシュメモリのうちの1つに記憶された制御プログラムを選択して動作させると共に、制御プログラムの書換えの際には、動作していない片方のフラッシュメモリに記憶された制御プログラムを書き換えるようにして不慮の事故への対策を図る方法が提案されている。
【0011】
【特許文献1】
特開平6−259260号公報
【0012】
【特許文献2】
特開平7−200306号
【0013】
【発明が解決しようとする課題】
しかし、特許文献1に提案されている方法は、エラー防止および書換え失敗時に復旧時間の短縮などには効果があるものの、書換え中の電源オフなどの不慮事故の対策にはならない。
【0014】
また、特許文献2に提案された方法は、不揮発性メモリの切替え回路を必要とすると共に、膨大なサイズを有する制御プログラムを夫々格納するフラッシュメモリを複数用いるため、回路の構成が複雑で、装置が高価になるという問題がある。
【0015】
本発明は上記事情に鑑みてなされたものであり、簡単、安全かつ経済的なプログラム書換え方法およびこの方法により制御プログラム書換え可能な端末装置を提供することを目的とするものである。
【0016】
【課題を解決するための手段】
本発明のプログラム書換え方法は、端未装置に備えられたフラッシュメモリに記憶された、該端末装置を実行させるための制御プログラムを、外部処理装置からのプログラム書換え指示に応じて書き換えるプログラム書換え方法において、前記フラッシュメモリに、前記制御プログラムを記憶する制御プログラム記憶領域と異なるバックアップ領域を設け、
前記制御プログラムに含まれた、前記制御プログラムを書き換えるために必要なブートプログラムを前記バックアップ領域に記憶させてから前記制御プログラム記憶領域に記憶された前記制御プログラムの書換えを行うことを特徴とするものである。
【0017】
ここで、「フラッシュメモリ」とは、電源が切れても記憶内容を保持することができ、かつ電気的に記憶内容の消去、更新ができるメモリのことを意味し、EEPROMとすることができる。
【0018】
また、「外部処理装置」とは、本発明における端末装置と通信可能で、前記端末装置のフラッシュメモリに記憶された制御プログラムの書換え指示を与えて書換えを行わせることができる装置のことを意味し、通常コンピュータが用いられる。
【0019】
また、本発明における「端末装置」は、外部処理装置に備え付けられた記憶媒体または外部処理装置からの書換え指示により指定された場所から新しい制御プログラムを取得する意味においての端末装置であり、制御プログラムを記憶するメモリとしてフラッシュメモリが用いられた、外部処理装置と通信可能な装置であればいかなる装置であってもよく、例えばプリンタや、ネットワーク機器などを例として挙げることができる。
【0020】
また、「制御プログラム」とは、本発明における端末装置の全般的な動作を行わせるプログラム(そのためのパラメータなどのデータも含む)のことを意味し、例えば、プリンタの場合、プリンタの印刷を司る部分の動作を行わせるプログラムは勿論、ブート時の各種初期化プログラムや、外部処理装置、例えばコンピュータからの印刷指示、印刷データを受信するための通信用プログラムなども含むものである。また、本発明においては、制御プログラムは、端末装置のフラッシュメモリに記憶された制御プログラムを書き換えるための種々のプログ
ラムも含むものである。
【0021】
「ブートプログラム」とは、制御プログラムに含まれた、制御プログラムの書換えに必要なプログラムを意味し、例えば、書換え指示および新しい制御プログラムのデータを受信するための通信用プログラムや、フラッシュメモリの制御プログラム記憶領域の消去、更新をするためのプログラムなどを含むものとすることができる。なお、フラッシュメモリを節約すると共に、ブートプログラムのバックアップのスピードアップを図る視点から、本発明におけるブートプログラムは、制御プログラムの書換えに必要かつ最小限のプログラムとすることが好ましい。
【0022】
本発明の端末装置は、フラッシュメモリと、外部処理装置からのプログラム書換え指示に応じて前記フラッシュメモリに記憶された制御プログラムを書き換えることが可能なプログラム書換え手段とを備えた端末装置であって、
前記制御プログラムが、前記端末装置を実行させるためのものであり、
前記フラッシュメモリが、前記制御プログラムを記憶した制御プログラム記憶領域、バックアップ領域、および前記端末装置ブート時に前記制御プログラム記憶領域に記憶された前記制御プログラムが正常であるか否かの判断を行うと共に、前記判断の結果に基づいて前記制御プログラムを実行するか前記バックアップ領域に記憶されたプログラムを実行するかを選択する選択プログラムを記憶した選択プログラム記憶領域を備え、
前記プログラム書換え手段が、前記制御プログラムに含まれた、前記制御プログラムを書き換えるために必要なブートプログラムを前記バックアップ領域に記憶させてから前記制御プログラム記憶領域に記憶された前記制御プログラムの書換えを行うものであることを特徴とするものである。
【0023】
ここで、「プログラム書換え手段」は、前記制御プログラム記憶領域に記憶された前記制御プログラムの書換えを行うものであり、たとえば、制御プログラムを書き換えるためのプログラム(書換えプログラムという)とこのプログラムが動作するためのハードウェア(CPUなど)とすることができる。また、書換えプログラムは、前記ブートプログラムに含まれた形でフラッシュメモリに記憶されたものであってもよいし、ブートプログラムに含まれず、マスクROMなどに記憶され、前記ブートプログラムを利用して制御プログラムの書換えを行うものであってもよい。すなわち、前記ブートプログラムは、制御プログラムの書換えを実行する書換えプログラムと、この書換えプログラムが実行するために必要なプログラム(データ受信のための通信用プログラムなど)とからなるものであってもよいし、書換えプログラムが制御プログラムから独立している場合は、書換えプログラムが実行するために必要なプログラムのみであってもよい。
【0024】
【発明の効果】
本発明のプログラム書換え方法および端末装置によれば、端末装置のフラッシュメモリに記憶された、この端末装置を実行させるための制御プログラムを書き換える際に、制御プログラムに含まれた、書換えに必要なブートプログラムをバックアップしてから書換えを行うようにすることによって、書換え中にエラーや、不慮の事故などが生じて書換えが失敗しても、書換えに必要なブートプログラムがバックアップされているので、再度の書換えが可能であり、安全である。
【0025】
また、ブートプログラムのみをバックアップするので、必要なフラッシュメモリの容量も小さいので、経済的である。
【0026】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施形態について説明する。
【0027】
図1は、本発明の実施形態となるプリントシステムの構成を示すブロック図である。図示のように、本実施形態のプリントシステムは、端末装置となるプリンタ1と、プリンタ1とネットワーク(LAN)を介して接続されたコンピュータ100とからなるものであり、コンピュータ100は、プリンタ1に印刷用データを送信して印刷を行わせるためのプリンタドライバと共に、プリンタ1の制御プログラムを書き換えるためのユーティリティも実装されている。
【0028】
図2は、図1に示すプリントシステムにおけるプリンタ1の構成を示すブロック図である。図示のように、本実施形態におけるプリンタ1は、不揮発性メモリであるフラッシュメモリ20と、揮発性メモリRAM30と、コンピュータ100から送信されてきたデータを印刷する印刷実行部50と、コンピュータとの交信などを行うコントローラ10とを備えてなるものである。フラッシュメモリ20は、プリンタ1を動作させるためのプログラム群(データを含む)からなる制御プログラムを記憶した領域Bと、制御プログラムに含まれるブートプログラムをバックアップするための領域Cと、プリンタ1のブート時に領域Aに記憶された制御プログラムをRAM30にロードするか、領域Cに記憶されたブートプログラムをRAM30にロードするかを選択する選択プログラムを記憶した領域Aとからなり、ブートプログラムは、制御プログラムを記憶した領域Bの消去や、更新などを行う書換えプログラムと、書換えプログラムが動作する上に必要な通信プログラムや、初期化プログラムなどからなるものである。領域Bまたは領域Cに記憶されたプログラムは、選択プログラムにより選択されると、RAM30にロードされてプリンタ1を動作させる。
【0029】
次いで、図3、図4を参照して図2に示すプリンタ1の動作を具体的に説明する。なお、フラッシュメモリ20、RAM30上のプログラムが動作するには図1と図2に示してないCPUや、各種ハードウェア的な回路を必要とするが、本発明の主旨を分かりやすくするために、CPU、各種ハードウェア回路の説明は、ここで省略する。
【0030】
図4は、図2に示すプリンタ1の全般的な動作を示すフローチャートであり、図3は、図2に示すプリンタ1の制御プログラムを書換える時の動作を示すプロチャートである。まず、プリンタ1の制御プログラムを書換える時の動作を説明する。
【0031】
図3は、プリンタ1のRAM30上に、既にブートプログラム(ブートプログラムのみまたはブートプログラムを含んだ制御プログラム)がロードされた状態からの書換え動作を示すものである。図示のように、プリンタ1における制御プログラムの書換え動作(図示動作P)は、コントローラ10を介してコンピュータ100から書換え開始コマンドを受信した時から始まる。コンピュータ100から書換え開始コマンドを受信すると(S10)、まず、RAM30上にあるブートプログラムは、フラッシュメモリ20の領域Bから、制御プログラムに含まれたブートプログラムを領域Cにコピーしてバックアップする(S12)。バックアップ作業が終わると、ブートプログラム(ブートプログラムに含まれる書換えプログラム)は、フラッシュメモリ20の領域Bをクリアして既存の制御プログラムを削除する(S14)。次いで、ブートプログラムは、コントローラ10を介して受信したコンピュータ100から順次送信されてきた新しいプログラム内容からなるデータをフラッシュメモリ20の領域Bに書き込む(S16)。書き込む途中に、エラー(書込みエラーや、不意の電源オフなど)が生じる(S18:Yes)と、書き込み動作が中断する。このとき、フラッシュメモリ20の領域Bには、不完全な制御プログラムしか書き込まれていないが、領域Cには、ブートプログラムがバックアップされている。
【0032】
エラーが生じなければ(S18:No)、領域Bへの書込みは、コンピュータ100から書換え終了コマンドを受信するまで繰り返される(S20:No)。一方、コンピュータ100から書換え終了コマンドを受信すると(S20:Yes)、RAM30上のブートプログラムは、領域Bに書き込まれた新しい制御プログラムのSUM値を計算してコントローラ10を介してコンピュータ100に返送する(S22)。コンピュータ100における書換え用のユーティリティは、返送されてきたSUM値と予め計算しておいたSUM値と比較し、一致していれば、リブートコマンドをプリンタ1に送信する。ブートプログラムはコントローラ10により、コンピュータ100からリブートコマンドを受信すると(S24:Yes)、プリンタ1をリセットし、再起動させる(S26)ことをもって書換え動作を終了する。この場合、領域Bには新しい制御プログラムが正常に書き込まれている。
【0033】
一方、コンピュータ100側において、プリンタ1から返送されてきたSUM値と、予め計算しておいてSUM値と一致しなければ、リブートコマンドを送信しない(S24:No)ので、RAM30上のブートプログラムは、プリンタ1をリブートさせないまま、書換え動作を終了する。この場合、領域Bに書き込まれた新しい制御プログラムは正常ではないこととなる。
【0034】
書込み途中でエラーが生じた場合や、書込みが終了したものの正常ではない場合において、ユーザによるプリンタ1の電源の入れ直しを必要とする。
【0035】
図4は、プリンタ1の電源が入れられた(通常の電源オンや、図3のステップS26に示す書換え正常終了時のリブートや、書込み途中に失敗したときにユーザによる電源の入れ直しなど)時からの動作を示すフローチャートである。図示のように、プリンタ1の電源が入れられると、まず、フラッシュメモリ20の領域Aに記憶された選択プログラムは、領域Bにある制御プログラムのSUM値を計算する(S50)。制御プログラムのSUM値が正しければ(工場出荷時状態または正常に書き換えられた状態に相当する)、選択プログラムは、制御プログラムが正常であると判断し、実行するべきプログラムとして領域Bの制御プログラムを選択する(S55:Yes)。一方、制御プログラムのSUM値が正しくなければ(書換えが失敗した状態に相当する)、選択プログラムは、制御プログラムが正常ではないと判断し、実行するべきプログラムとして領域Cにバックアップされたブートプログラムを選択する(S55:No)。選択プログラムは続いて選択した領域のプログラムをRAM30にロードし、そのプログラムに該当するフラグを設定する(S60〜S74)。具体的には、領域Bの制御プログラムが選択されれば(S55:Yes)、領域Bから制御プログラムをRAM30にロードすると共に、制御プログラムのフラグ(本実施形態において、例として81FFFFFFh=0x00とする)を設定する(S60、S64)一方、領域Cのブートプログラムが選択されれば(S55:No)、領域CからブートプログラムをRAM30にロードすると共に、ブートプログラムのフラグ(本実施形態において、例として81FFFFFFh=0x01する)を設定する(S70、S74)。
【0036】
ここまでは、プリンタ1の電源が入れられた後のプログラムロード処理である。
【0037】
プログラムがRAM30ヘロードされれば、プリンタ1の起動処理が始まる。ここで、RAM30上にあるプログラムの種類によって、プリンタ1が異なるモードで起動される。すなわち、RAM30にロードされたプログラムのフラグが制御プログラムであることを示す0であれば(S80:Yes)、該プログラムが実行されることによってプリンタ1は通常モード(印刷と書換え両方可能なモード)で起動される(S82)一方、RAM30にロードされたプログラムのフラグがブートプログラムであることを示す1であれば(S80:No)、該プログラムが実行されることによってプリンタ1はブートモード(書換えのみ可能なモード)で起動される(S90)。
【0038】
通常モードで起動されたプリンタ1は、コンピュータ100からの指示があるまで待機し(S84:No)、コントローラ10を介してコンピュータ100から指示を受信する(S84:Yes)と、RAM30上の制御プログラムは、この指示が印刷指示であるか書き換え指示であるかを確認する(S86)。印刷指示であれば(S86:Yes)、制御プログラムに含まれた、印刷を担うプログラムにより印刷実行部50に印刷を行わせる(S88)が、コンピュータ100からの指示が書換え指示であれば(S86:No)、制御プログラムに含まれたブートプログラムにより図3に示す書換え動作Pを行う。
【0039】
一方、ブートモードで起動されたプリンタ1は、コンピュータ100からの書換え指示があるまで待機し(S95:No)、コンピュータ100から書換え指示を受信する(S95:Yes)と、RAM30にロードされたブートプログラム(このとき、RAM30上にブートプログラムのみロードされている)は図3に示す書換え動作Pを行う。
【0040】
このように、本実施形態のプリントシステムにおいて、プリンタ1において、フラッシュメモリ20に記憶された制御プログラムを書き換える際に、まず制御プログラムに含まれた、書き換え処理に必要最小限のブートプログラムをバックアップ領域となる領域Cにコピーしてバックアップするようにしているので、書換え処理中に何らかのはずみで失敗しても、ブートプログラムが残っているので、プリンタ1の電源を入れ直したりすれば、再度制御プログラムの書換えを行うことができるので、安全である。また、バックアップする領域Cは、制御プログラムを記憶する領域Aと同様のフラッシュメモリ20にある上に、バックアップするプログラムは書換えに必要最小限のブートプログラムであるので、膨大なサイズのフラッシュメモリも、複雑な切替え回路も必要とせず、便利かつ経済的である。
【0041】
本実施形態のプリントシステムにおけるプリンタ1は、本発明のプログラム書換え方法を用いると共に、フラッシュメモリ20の領域Aに選択プログラムを記憶し、この選択プログラムにより、プリンタ1のブート時に領域Bにある制御プログラムが正常か否かの判断を行うと共に、制御プログラムが正常であれば制御プログラムをRAM30にロードさせるようにしてプリンタ1を通常モードで起動させる一方、制御プログラムが正常ではなければ領域CにバックアップされたブートプログラムをRAM30にロードさせるようにしてプリンタ1をブートモードで起動させて制御プログラムの再度の書換えを可能にしているので、安全、便利かつ経済的に制御プログラムの書換えが可能な端末装置を実現している。
【0042】
上述において、本発明の望ましい実施形態について説明したが、本発明のプログラム書換え方法および端末装置は、上述した実施形態に限られるものではなく、本発明の主旨を変えない限り、様々な変更、増減を加えることができる。
【0043】
例えば、図2に示すプリンタ1は、書き換えられた制御プログラムのSUM値に基づいてこの制御プログラムが正常であるか否かを判断するようにしているが、制御プログラムが正常であるか否かの判断基準はSUM値に限られるものではなく、選択プログラムにより正常か否かの判断ができるものであればいかなる情報であってもよい。例えば、制御プログラムの付属情報として付与された、正常か否かを示すデータを用いてもよく、この場合、制御プログラムを書き換える際に、制御プログラムの書換えが正常に終了したときにのみ、制御プログラムに正常を示す付属情報を付与すればよい。
【0044】
また、図1に示す実施形態のプリントシステムにおけるプリンタ1は、制御プログラムを書き換える際に制御プログラム全体を書き換えるようにしているが、制御プログラムに含まれるプログラムを機能別にグループ分けして夫々の領域に記憶し、書き換える際には選択的に書き換えることを可能にしてもよい。この場合、ブートプログラムが含まれたグループを本発明に定義される制御プログラムとし、このグループが書き換えられるときにのみ、ブートプログラムのバックアップを行うようにしてもよい。
【0045】
また、ブートプログラムのバックアップを実行するタイミングも、プログラム書換え指示を受信した時に限らず、制御プログラムを書き換える前、すなわち制御プログラムを記憶した領域の消去を行う前のいかなるタイミングでもよい。
【0046】
また、プリンタ1とコンピュータ100との接続および通信形態も、ネットワークに限らず、シリアルインターフェースや、パラレルインターフェースなどを介して行ってもよい。
【0047】
また、上述した実施形態のプリントシステムにおいて、新しい制御プログラムの内容からなるデータをコンピュータ100から取得するようにしているが、データを記憶した、端末装置からそのデータを取得することができる他のコンピュータのハードディスクや、端末装置自身に備えられた補助記憶装置などから取得するようにしてもよい。
【0048】
また、本発明のプログラム書換え方法および端末装置は、プリンタに限られることがなく、フラッシュメモリに記憶された制御プログラムにより実行されるいかなる装置にも適用することができる。
【図面の簡単な説明】
【図1】本発明の実施形態のプリントシステムの構成を示すブロック図
【図2】図1に示すプリントシステムにおけるプリンタ1の構成を示す図
【図3】図2に示すプリンタ1の制御プログラム書換えの動作を示すチャート
【図4】図2に示すプリンタ1の全般的な動作を示すフローチャート
【符号の説明】
1 プリンタ
10 コントローラ
20 フラッシュメモリ
30 RAM
50 印刷実行部
100 コンピュータ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a terminal device capable of rewriting a control program and a method for rewriting the control program.
[0002]
[Prior art]
Devices such as printers and network devices are executed by a control program stored in a nonvolatile memory provided therein. This control program is composed of a group of programs (including data; the same applies hereinafter) necessary for executing the apparatus, such as various initialization programs and necessary data. When the apparatus is turned on, the control program stored in the non-volatile memory is copied (loaded) into a volatile memory called RAM provided in the apparatus, and the apparatus is executed.
[0003]
The non-volatile memory is a memory that can retain the stored contents even when the power is turned off, and a ROM is used as a non-volatile memory that stores a control program of the apparatus. The ROM is roughly divided into mask ROM and PROM. The mask ROM is obtained by burning the memory contents on the chip during the LSI manufacturing process, and the memory contents cannot be rewritten. Can be rewritten.
[0004]
Conventionally, a mask ROM has been used as a non-volatile memory for storing a control program of the apparatus because of the advantage of low cost in mass production. However, control programs that are input at the time of shipment from the factory often need to be upgraded after shipment in order to eliminate bugs, increase or decrease functions, and change specifications. In the case of a mask ROM, in order to upgrade the control program, turn off the power of the device equipped with the mask ROM and related devices, remove the ROM from the device, and replace the ROM with a new control program input ROM. Since the control program is upgraded, there are risks such as the cost and annoyance of manufacturing and shipping a new mask ROM on the manufacturer side, and the risk of breaking the ROM due to failure such as the user breaking the connection pin at the time of replacement. For this reason, a PROM that can be rewritten by a user is often used as a non-volatile memory that holds a control program for the apparatus.
[0005]
PROM includes an EPROM that can rewrite the stored contents with a machine called a ROM writer. A user can rewrite a program provided by a manufacturer many times as long as the ROM writer is available. However, there are few users who have a ROM writer other than users such as the development department of the device. For example, purchasing a ROM writer that may be more expensive than a printer for one printer at home is a problem for the user. It is an endurance and a sense of resistance.
[0006]
As a special type of EPROM, there is a non-volatile memory called EEPROM, and this EEPROM is also called flash memory, and can rewrite stored contents electrically. For example, the storage contents of the EEPROM can be rewritten from the computer by electrically connecting to the computer using a communication means such as a network interface such as LAN or WAN, a serial interface (IEEE1394), or a parallel interface (IEEE1284). In this case, in the sense of downloading a program from a computer, a device equipped with an EEPROM can be referred to as a computer terminal device regardless of its type. Under the background of the high penetration rate of computers, users do not purchase a new machine, and new control is provided by the manufacturer using a computer to store a control program stored in the EEPROM of a terminal device such as a printer or network device. It can be rewritten into a program, which is very convenient.
[0007]
In recent years, with the advancement of development technology, large-capacity EEPROMs have become cheaper, so that EEPROMs can be easily used as nonvolatile memories for storing device control programs, and have come to the spotlight.
[0008]
However, when a flash memory, that is, an EEPROM is used as the nonvolatile memory for storing the control program of the apparatus, there is no need for a ROM writer and hardware (ROM) must be replaced in order to upgrade the control program. However, if a write error occurs during rewriting of the control program, an error occurs during the erasing process during rewriting, or the device is turned off during rewriting, the control program is lost. Therefore, there is a risk that not only the control program can be rewritten, but also the normal operation of the apparatus main body cannot be performed.
[0009]
Therefore, Patent Document 1 proposes a rewriting method in which a control program area for storing a control program is divided into a plurality of sections and an error check is performed for each section at the time of rewriting.
[0010]
In Patent Document 2, two flash memories storing control programs are mounted on the apparatus, and a control program stored in one of the two flash memories is selected by a memory selection circuit attached to the CPU of the apparatus. In addition, a method has been proposed in which when a control program is rewritten, the control program stored in one of the non-operating flash memories is rewritten to take measures against an unexpected accident.
[0011]
[Patent Document 1]
JP-A-6-259260 [0012]
[Patent Document 2]
JP-A-7-200306 [0013]
[Problems to be solved by the invention]
However, although the method proposed in Patent Document 1 is effective in preventing errors and shortening the recovery time when rewriting fails, it does not prevent accidental accidents such as power-off during rewriting.
[0014]
Further, the method proposed in Patent Document 2 requires a nonvolatile memory switching circuit and uses a plurality of flash memories each storing a control program having a huge size. There is a problem that becomes expensive.
[0015]
The present invention has been made in view of the above circumstances, and an object thereof is to provide a simple, safe and economical program rewriting method and a terminal device capable of rewriting a control program by this method.
[0016]
[Means for Solving the Problems]
The program rewriting method of the present invention is a program rewriting method for rewriting a control program for executing the terminal device, stored in a flash memory provided in a terminal device, in accordance with a program rewriting instruction from an external processing device. The flash memory is provided with a backup area different from the control program storage area for storing the control program,
A boot program included in the control program, which is necessary for rewriting the control program, is stored in the backup area, and then the control program stored in the control program storage area is rewritten. It is.
[0017]
Here, the “flash memory” means a memory that can retain stored contents even when the power is turned off, and can electrically erase and update the stored contents, and can be an EEPROM.
[0018]
In addition, the “external processing device” means a device that can communicate with the terminal device in the present invention and can perform rewriting by giving a rewriting instruction of the control program stored in the flash memory of the terminal device. Usually, a computer is used.
[0019]
The “terminal device” in the present invention is a terminal device in the sense of acquiring a new control program from a storage medium provided in the external processing device or a location designated by a rewrite instruction from the external processing device. Any device may be used as long as it is a device that can communicate with an external processing device using a flash memory as a memory for storing, for example, a printer, a network device, or the like.
[0020]
Further, the “control program” means a program (including data such as parameters for that) that causes the overall operation of the terminal device according to the present invention. For example, in the case of a printer, it controls printing of the printer. As well as programs for performing the operation of the part, various initialization programs at the time of booting, a print instruction from an external processing device such as a computer, a communication program for receiving print data, and the like are included. In the present invention, the control program includes various programs for rewriting the control program stored in the flash memory of the terminal device.
[0021]
The “boot program” means a program included in the control program and necessary for rewriting the control program. For example, a communication program for receiving a rewrite instruction and new control program data, or control of the flash memory A program for erasing and updating the program storage area can be included. From the viewpoint of saving the flash memory and speeding up the backup of the boot program, the boot program according to the present invention is preferably a program that is necessary and minimum for rewriting the control program.
[0022]
The terminal device of the present invention is a terminal device comprising a flash memory and a program rewriting means capable of rewriting a control program stored in the flash memory in response to a program rewriting instruction from an external processing device,
The control program is for causing the terminal device to execute;
The flash memory determines whether the control program storage area storing the control program, the backup area, and the control program stored in the control program storage area at the time of booting the terminal device are normal, A selection program storage area storing a selection program for selecting whether to execute the control program or to execute the program stored in the backup area based on the result of the determination;
The program rewriting means rewrites the control program stored in the control program storage area after storing the boot program included in the control program necessary for rewriting the control program in the backup area. It is characterized by being.
[0023]
Here, the “program rewriting means” rewrites the control program stored in the control program storage area. For example, a program for rewriting the control program (referred to as a rewrite program) and this program operate. Hardware (such as a CPU). The rewrite program may be stored in the flash memory in the form included in the boot program, or not stored in the boot program but stored in a mask ROM or the like, and controlled using the boot program. The program may be rewritten. That is, the boot program may be composed of a rewrite program for rewriting the control program and a program (such as a communication program for data reception) necessary for the rewrite program to execute. When the rewriting program is independent of the control program, only the program necessary for the rewriting program to execute may be used.
[0024]
【The invention's effect】
According to the program rewriting method and the terminal device of the present invention, when the control program for executing the terminal device stored in the flash memory of the terminal device is rewritten, the boot included in the control program and necessary for rewriting By rewriting after the program is backed up, even if an error or an unexpected accident occurs during rewriting and the rewriting fails, the boot program necessary for rewriting is backed up. It can be rewritten and is safe.
[0025]
Further, since only the boot program is backed up, the required flash memory capacity is small, which is economical.
[0026]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0027]
FIG. 1 is a block diagram illustrating a configuration of a print system according to an embodiment of the present invention. As shown in the figure, the printing system of this embodiment includes a printer 1 serving as a terminal device and a computer 100 connected to the printer 1 via a network (LAN). The computer 100 is connected to the printer 1. A utility for rewriting the control program of the printer 1 is mounted together with a printer driver for sending printing data and printing.
[0028]
FIG. 2 is a block diagram showing the configuration of the printer 1 in the printing system shown in FIG. As illustrated, the printer 1 according to the present embodiment includes a flash memory 20 that is a non-volatile memory, a volatile memory RAM 30, a print execution unit 50 that prints data transmitted from the computer 100, and communication with the computer. The controller 10 which performs etc. is provided. The flash memory 20 includes an area B that stores a control program including a group of programs (including data) for operating the printer 1, an area C that backs up a boot program included in the control program, and a boot of the printer 1. The control program stored in the area A is sometimes stored in the RAM 30 or the boot program stored in the area C is loaded with the selection program for selecting whether to load the boot program into the RAM 30. Is composed of a rewrite program for erasing or updating the area B, a communication program necessary for the operation of the rewrite program, an initialization program, and the like. When the program stored in the area B or the area C is selected by the selection program, the program is loaded into the RAM 30 to operate the printer 1.
[0029]
Next, the operation of the printer 1 shown in FIG. 2 will be described in detail with reference to FIGS. In order to operate the programs on the flash memory 20 and the RAM 30, a CPU not shown in FIGS. 1 and 2 and various hardware circuits are required. In order to make the gist of the present invention easier to understand, A description of the CPU and various hardware circuits is omitted here.
[0030]
4 is a flowchart showing the overall operation of the printer 1 shown in FIG. 2, and FIG. 3 is a flowchart showing the operation when the control program of the printer 1 shown in FIG. 2 is rewritten. First, an operation when the control program of the printer 1 is rewritten will be described.
[0031]
FIG. 3 shows a rewriting operation from a state in which a boot program (a boot program alone or a control program including a boot program) has already been loaded on the RAM 30 of the printer 1. As shown in the figure, the control program rewriting operation (illustrated operation P) in the printer 1 starts when a rewrite start command is received from the computer 100 via the controller 10. When a rewrite start command is received from the computer 100 (S10), first, the boot program on the RAM 30 copies the boot program included in the control program from the area B of the flash memory 20 to the area C for backup (S12). ). When the backup operation is completed, the boot program (the rewrite program included in the boot program) clears the area B of the flash memory 20 and deletes the existing control program (S14). Next, the boot program writes data composed of new program contents sequentially transmitted from the computer 100 received via the controller 10 to the area B of the flash memory 20 (S16). If an error (writing error, unexpected power off, etc.) occurs during writing (S18: Yes), the writing operation is interrupted. At this time, only the incomplete control program is written in the area B of the flash memory 20, but the boot program is backed up in the area C.
[0032]
If no error occurs (S18: No), the writing to the area B is repeated until a rewrite end command is received from the computer 100 (S20: No). On the other hand, when the rewrite end command is received from the computer 100 (S20: Yes), the boot program on the RAM 30 calculates the SUM value of the new control program written in the area B and returns it to the computer 100 via the controller 10. (S22). The rewriting utility in the computer 100 compares the returned SUM value with the SUM value calculated in advance, and sends a reboot command to the printer 1 if they match. When the boot program receives a reboot command from the computer 100 by the controller 10 (S24: Yes), the printer 1 is reset and restarted (S26), thereby completing the rewriting operation. In this case, a new control program is normally written in the area B.
[0033]
On the other hand, if the SUM value returned from the printer 1 does not match the SUM value calculated in advance on the computer 100 side, the reboot command is not transmitted (S24: No). Then, the rewriting operation is terminated without rebooting the printer 1. In this case, the new control program written in the area B is not normal.
[0034]
When an error occurs during writing or when writing is completed but it is not normal, the user needs to turn the printer 1 on again.
[0035]
FIG. 4 shows the time from when the printer 1 is turned on (normal power-on, reboot at the end of normal rewriting shown in step S26 in FIG. 3, power-on by the user when failed during writing, etc.). It is a flowchart which shows this operation | movement. As shown in the figure, when the printer 1 is turned on, the selection program stored in the area A of the flash memory 20 first calculates the SUM value of the control program in the area B (S50). If the SUM value of the control program is correct (corresponding to the factory-shipped state or the state that has been normally rewritten), the selection program determines that the control program is normal, and selects the control program in region B as the program to be executed. Select (S55: Yes). On the other hand, if the SUM value of the control program is not correct (corresponding to a state where rewriting has failed), the selection program determines that the control program is not normal, and selects the boot program backed up in the area C as a program to be executed. Select (S55: No). The selection program then loads the program of the selected area into the RAM 30 and sets a flag corresponding to the program (S60 to S74). Specifically, if the control program in the area B is selected (S55: Yes), the control program is loaded from the area B into the RAM 30, and the control program flag (81FFFFFFh = 0x00 as an example in this embodiment) is set. (S60, S64) On the other hand, if the boot program in the area C is selected (S55: No), the boot program is loaded from the area C into the RAM 30 and the flag of the boot program (in this embodiment, an example) As 81FFFFFFh = 0x01) is set (S70, S74).
[0036]
Up to this point, the program loading process is performed after the printer 1 is turned on.
[0037]
When the program is loaded into the RAM 30, the startup process of the printer 1 starts. Here, the printer 1 is activated in a different mode depending on the type of program in the RAM 30. That is, if the flag of the program loaded in the RAM 30 is 0 indicating that it is a control program (S80: Yes), the printer 1 is in a normal mode (a mode in which both printing and rewriting are possible) by executing the program. On the other hand, if the flag of the program loaded in the RAM 30 is 1 indicating that it is a boot program (S80: No), the printer 1 is executed in the boot mode (rewrite) by executing the program. (Mode which can only be performed)) (S90).
[0038]
The printer 1 activated in the normal mode waits for an instruction from the computer 100 (S84: No), and receives an instruction from the computer 100 via the controller 10 (S84: Yes). Confirms whether this instruction is a print instruction or a rewrite instruction (S86). If it is a print instruction (S86: Yes), the print execution unit 50 performs printing by a program responsible for printing included in the control program (S88), but if the instruction from the computer 100 is a rewrite instruction (S86) : No), the rewriting operation P shown in FIG. 3 is performed by the boot program included in the control program.
[0039]
On the other hand, the printer 1 activated in the boot mode waits until there is a rewrite instruction from the computer 100 (S95: No), and receives the rewrite instruction from the computer 100 (S95: Yes), the boot loaded in the RAM 30 The program (at this time, only the boot program is loaded on the RAM 30) performs the rewrite operation P shown in FIG.
[0040]
As described above, in the printing system according to the present embodiment, when the printer 1 rewrites the control program stored in the flash memory 20, first, the minimum boot program necessary for the rewriting process included in the control program is stored in the backup area. Since it is copied and backed up to the area C to be backed up, even if it fails in some way during the rewriting process, the boot program remains, so if the printer 1 is turned on again, the control program It is safe because it can be rewritten. Further, since the area C to be backed up is in the same flash memory 20 as the area A storing the control program, and the program to be backed up is a minimum boot program necessary for rewriting, It does not require a complicated switching circuit and is convenient and economical.
[0041]
The printer 1 in the printing system of the present embodiment uses the program rewriting method of the present invention and stores a selection program in the area A of the flash memory 20, and the control program in the area B when the printer 1 is booted by this selection program. If the control program is normal, the printer 1 is started in the normal mode by loading the control program into the RAM 30. If the control program is not normal, the printer 1 is backed up in the area C. Since the boot program is loaded into the RAM 30 and the printer 1 is started in the boot mode so that the control program can be rewritten again, a terminal device that can safely, conveniently and economically rewrite the control program is provided. Realized.
[0042]
In the above description, the preferred embodiment of the present invention has been described. However, the program rewriting method and the terminal device of the present invention are not limited to the above-described embodiment, and various changes, increases / decreases may be made without changing the gist of the present invention. Can be added.
[0043]
For example, the printer 1 shown in FIG. 2 determines whether or not this control program is normal based on the SUM value of the rewritten control program, but whether or not the control program is normal. The determination criterion is not limited to the SUM value, and may be any information as long as it can be determined whether the selection program is normal or not. For example, data indicating whether the program is normal or not provided as ancillary information of the control program may be used. In this case, when the control program is rewritten, the control program is only rewritten when the control program is normally rewritten. Appropriate information indicating normality may be attached to.
[0044]
The printer 1 in the printing system of the embodiment shown in FIG. 1 rewrites the entire control program when rewriting the control program. However, the programs included in the control program are grouped by function into respective areas. When storing and rewriting, it may be possible to selectively rewrite. In this case, the group including the boot program may be a control program defined in the present invention, and the boot program may be backed up only when this group is rewritten.
[0045]
Also, the timing for executing the backup of the boot program is not limited to when the program rewrite instruction is received, but may be any timing before rewriting the control program, that is, before erasing the area storing the control program.
[0046]
Further, the connection and communication mode between the printer 1 and the computer 100 are not limited to the network, and may be performed via a serial interface, a parallel interface, or the like.
[0047]
In the printing system according to the above-described embodiment, data including the contents of the new control program is acquired from the computer 100. However, other computers that store the data and can acquire the data from the terminal device. You may make it acquire from the hard disk of this, the auxiliary storage device with which the terminal device itself was equipped.
[0048]
The program rewriting method and the terminal device of the present invention are not limited to a printer, and can be applied to any device that is executed by a control program stored in a flash memory.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a printing system according to an embodiment of the present invention. FIG. 2 is a diagram showing a configuration of a printer 1 in the printing system shown in FIG. 1. FIG. FIG. 4 is a flowchart showing the general operation of the printer 1 shown in FIG.
1 Printer 10 Controller 20 Flash memory 30 RAM
50 print execution unit 100 computer

Claims (2)

端末装置に備えられたフラッシュメモリに記憶された、該端末装置を実行させるための制御プログラムを、外部処理装置からのプログラム書換え指示に応じて書き換えるプログラム書換え方法において、
前記フラッシュメモリに、前記制御プログラムを記憶する制御プログラム記憶領域と異なるバックアップ領域を設け、
前記制御プログラムに含まれた、前記制御プログラムを書き換えるために必要なブートプログラムを前記バックアップ領域に記憶させてから前記制御プログラム記憶領域に記憶された前記制御プログラムの書換えを行うことを特徴とするプログラム書換え方法。
In a program rewriting method for rewriting a control program for executing the terminal device stored in a flash memory provided in the terminal device in accordance with a program rewriting instruction from an external processing device,
A backup area different from the control program storage area for storing the control program is provided in the flash memory,
A program included in the control program, wherein a boot program necessary for rewriting the control program is stored in the backup area, and then the control program stored in the control program storage area is rewritten. Rewrite method.
フラッシュメモリと、外部処理装置からのプログラム書換え指示に応じて前記フラッシュメモリに記憶された制御プログラムを書き換えることが可能なプログラム書換え手段とを備えた端末装置であって、
前記制御プログラムが、前記端末装置を実行させるためのものであり、
前記フラッシュメモリが、前記制御プログラムを記憶した制御プログラム記憶領域、バックアップ領域、および前記端末装置ブート時に前記制御プログラム記憶領域に記憶された前記制御プログラムが正常であるか否かの判断を行うと共に、前記判断の結果に基づいて前記制御プログラムを実行するか前記バックアップ領域に記憶されたプログラムを実行するかを選択する選択プログラムを記憶した選択プログラム記憶領域を備え、
前記プログラム書換え手段が、前記制御プログラムに含まれた、前記制御プログラムを書き換えるために必要なブートプログラムを前記バックアップ領域に記憶させてから前記制御プログラム記憶領域に記憶された前記制御プログラムの書換えを行うものであることを特徴とする端末装置。
A terminal device comprising flash memory and program rewriting means capable of rewriting a control program stored in the flash memory in response to a program rewriting instruction from an external processing device,
The control program is for causing the terminal device to execute;
The flash memory determines whether the control program storage area storing the control program, the backup area, and the control program stored in the control program storage area at the time of booting the terminal device are normal, A selection program storage area storing a selection program for selecting whether to execute the control program or to execute the program stored in the backup area based on the result of the determination;
The program rewriting means rewrites the control program stored in the control program storage area after storing the boot program included in the control program necessary for rewriting the control program in the backup area. A terminal device characterized by being a thing.
JP2002359408A 2002-12-11 2002-12-11 Program rewriting method and terminal device Pending JP2004192329A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002359408A JP2004192329A (en) 2002-12-11 2002-12-11 Program rewriting method and terminal device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002359408A JP2004192329A (en) 2002-12-11 2002-12-11 Program rewriting method and terminal device

Publications (1)

Publication Number Publication Date
JP2004192329A true JP2004192329A (en) 2004-07-08

Family

ID=32758812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002359408A Pending JP2004192329A (en) 2002-12-11 2002-12-11 Program rewriting method and terminal device

Country Status (1)

Country Link
JP (1) JP2004192329A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053848A (en) * 2004-08-16 2006-02-23 Nec Infrontia Corp Information processor and program updating method
JP2008117060A (en) * 2006-11-01 2008-05-22 Seiko Epson Corp Information processor, information updating method, and program therefor
US7634648B2 (en) 2005-07-12 2009-12-15 Seiko Epson Corporation Data processing apparatus and control method for a data processing apparatus that temporarily provides a plurality of boot sectors in flash ROM
JP2013545204A (en) * 2010-12-13 2013-12-19 インターナショナル・ビジネス・マシーンズ・コーポレーション Software image upgrade based on streaming technology
WO2015098811A1 (en) * 2013-12-27 2015-07-02 京セラドキュメントソリューションズ株式会社 Electronic device
WO2015136804A1 (en) * 2014-03-11 2015-09-17 三菱電機株式会社 Air conditioner, air conditioner system, and rewrite control program
US9230118B2 (en) 2010-12-09 2016-01-05 International Business Machines Corporation Encrypting and decrypting a virtual disc
JP2017084001A (en) * 2015-10-26 2017-05-18 日立オートモティブシステムズ株式会社 Electronic control unit for automobile

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053848A (en) * 2004-08-16 2006-02-23 Nec Infrontia Corp Information processor and program updating method
US7634648B2 (en) 2005-07-12 2009-12-15 Seiko Epson Corporation Data processing apparatus and control method for a data processing apparatus that temporarily provides a plurality of boot sectors in flash ROM
JP2008117060A (en) * 2006-11-01 2008-05-22 Seiko Epson Corp Information processor, information updating method, and program therefor
US8756592B2 (en) 2006-11-01 2014-06-17 Seiko Epson Corporation Information processor and information updating method
US9626302B2 (en) 2010-12-09 2017-04-18 International Business Machines Corporation Encrypting and decrypting a virtual disc
US9230113B2 (en) 2010-12-09 2016-01-05 International Business Machines Corporation Encrypting and decrypting a virtual disc
US9230118B2 (en) 2010-12-09 2016-01-05 International Business Machines Corporation Encrypting and decrypting a virtual disc
US9195452B2 (en) 2010-12-13 2015-11-24 International Business Machines Corporation Upgrade of software images based on streaming technique
JP2013545204A (en) * 2010-12-13 2013-12-19 インターナショナル・ビジネス・マシーンズ・コーポレーション Software image upgrade based on streaming technology
WO2015098811A1 (en) * 2013-12-27 2015-07-02 京セラドキュメントソリューションズ株式会社 Electronic device
CN105814545A (en) * 2013-12-27 2016-07-27 京瓷办公信息系统株式会社 Electronic device
JP6074064B2 (en) * 2013-12-27 2017-02-01 京セラドキュメントソリューションズ株式会社 Electronics
CN105814545B (en) * 2013-12-27 2019-08-27 京瓷办公信息系统株式会社 Electronic equipment
JP2015172443A (en) * 2014-03-11 2015-10-01 三菱電機株式会社 Air conditioner, air conditioner system, and rewrite control program
WO2015136804A1 (en) * 2014-03-11 2015-09-17 三菱電機株式会社 Air conditioner, air conditioner system, and rewrite control program
US10222082B2 (en) 2014-03-11 2019-03-05 Mitsubishi Electric Corporation Air conditioner, air conditioner system, and rewrite control program with rewrite control for control data
JP2017084001A (en) * 2015-10-26 2017-05-18 日立オートモティブシステムズ株式会社 Electronic control unit for automobile

Similar Documents

Publication Publication Date Title
EP2638466B1 (en) Software updating process for an embedded device
KR100506203B1 (en) Booting and boot code update method and system thereof
EP1899814B1 (en) Firmware update for consumer electronic device
US7206971B2 (en) Selectable and updatable computer boot memory
US8136108B2 (en) Updating firmware with multiple processors
EP1873638A1 (en) Portable apparatus supporting multiple operating systems and supporting method therefor
JP2006011818A (en) Portable electronic device and method for controlling portable electronic device
US5933595A (en) Computer apparatus having electrically rewritable nonvolatile memory, and nonvolatile semiconductor memory
JP3830867B2 (en) Single-chip microcomputer and its boot area switching method
JP2004192329A (en) Program rewriting method and terminal device
JP2005157528A (en) Memory device
JP4013040B2 (en) Download apparatus and download method
JP2009151386A (en) Image processor
JP3805195B2 (en) Program rewriting apparatus and program rewriting method
US20170003955A1 (en) Method of Rewriting Printer Firmware, and Printer
KR100422928B1 (en) apparatus and method for booting in data processing system
JP4375857B2 (en) Computer with program rewrite function
CN114090107A (en) Computer and system starting method
JP2005128613A (en) Image forming device
JP2001344156A (en) Device with flash memory and data rewriting method
TWI726436B (en) Method for repairing basic input/output system bios and a computer system using the same
JP2003122575A (en) Information processing unit
JP2004078294A (en) Signal processor
JP2004054818A (en) Program execution apparatus
JP2024005775A (en) Electronic control device, reprogram execution method, and reprogram execution program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050209

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20061205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071003

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071030