JP2004192329A - プログラム書換え方法および端末装置 - Google Patents
プログラム書換え方法および端末装置 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 21
- 230000015654 memory Effects 0.000 claims abstract description 59
- 230000004044 response Effects 0.000 claims description 2
- 238000007639 printing Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【解決手段】フラッシュメモリ20に、制御プログラムを記憶する領域Bと、バックアップ領域Cと、ブート時に領域Bに記憶されたプログラムか領域Cに記憶されたプログラムかを選択する選択プログラムを記憶した領域Cとを設ける。ブート時に、選択プログラムは、制御プログラムが正常であれば、制御プログラムをRAM30にロードさせる一方、正常ではなければ、領域CにバックアップされたプログラムをRAM30にロードさせる。コンピュータ100から制御プログラムを書換える指示を受信した際に、RAM30にロードされたプログラムは、領域Bに記憶された制御プログラムに含まれたブートプログラムをバックアップ領域Cにコピーしてから領域Bをクリアして制御プログラムの書換えを行う。
【選択図】 図2
Description
【発明の属する技術分野】
本発明は、制御プログラムを書換え可能な端末装置およびその制御プログラムの書換え方法に関するものである。
【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 コンピュータ
Claims (2)
- 端末装置に備えられたフラッシュメモリに記憶された、該端末装置を実行させるための制御プログラムを、外部処理装置からのプログラム書換え指示に応じて書き換えるプログラム書換え方法において、
前記フラッシュメモリに、前記制御プログラムを記憶する制御プログラム記憶領域と異なるバックアップ領域を設け、
前記制御プログラムに含まれた、前記制御プログラムを書き換えるために必要なブートプログラムを前記バックアップ領域に記憶させてから前記制御プログラム記憶領域に記憶された前記制御プログラムの書換えを行うことを特徴とするプログラム書換え方法。 - フラッシュメモリと、外部処理装置からのプログラム書換え指示に応じて前記フラッシュメモリに記憶された制御プログラムを書き換えることが可能なプログラム書換え手段とを備えた端末装置であって、
前記制御プログラムが、前記端末装置を実行させるためのものであり、
前記フラッシュメモリが、前記制御プログラムを記憶した制御プログラム記憶領域、バックアップ領域、および前記端末装置ブート時に前記制御プログラム記憶領域に記憶された前記制御プログラムが正常であるか否かの判断を行うと共に、前記判断の結果に基づいて前記制御プログラムを実行するか前記バックアップ領域に記憶されたプログラムを実行するかを選択する選択プログラムを記憶した選択プログラム記憶領域を備え、
前記プログラム書換え手段が、前記制御プログラムに含まれた、前記制御プログラムを書き換えるために必要なブートプログラムを前記バックアップ領域に記憶させてから前記制御プログラム記憶領域に記憶された前記制御プログラムの書換えを行うものであることを特徴とする端末装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002359408A JP2004192329A (ja) | 2002-12-11 | 2002-12-11 | プログラム書換え方法および端末装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002359408A JP2004192329A (ja) | 2002-12-11 | 2002-12-11 | プログラム書換え方法および端末装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004192329A true JP2004192329A (ja) | 2004-07-08 |
Family
ID=32758812
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002359408A Pending JP2004192329A (ja) | 2002-12-11 | 2002-12-11 | プログラム書換え方法および端末装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004192329A (ja) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006053848A (ja) * | 2004-08-16 | 2006-02-23 | Nec Infrontia Corp | 情報処理装置およびプログラム更新方法 |
| JP2008117060A (ja) * | 2006-11-01 | 2008-05-22 | Seiko Epson Corp | 情報処理装置、情報更新方法及びそのプログラム |
| 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 (ja) * | 2010-12-13 | 2013-12-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストリーミング技術に基づくソフトウェア・イメージのアップグレード |
| WO2015098811A1 (ja) * | 2013-12-27 | 2015-07-02 | 京セラドキュメントソリューションズ株式会社 | 電子機器 |
| WO2015136804A1 (ja) * | 2014-03-11 | 2015-09-17 | 三菱電機株式会社 | 空気調和機、空気調和機システム、及び書き換え制御プログラム |
| US9230118B2 (en) | 2010-12-09 | 2016-01-05 | International Business Machines Corporation | Encrypting and decrypting a virtual disc |
| JP2017504112A (ja) * | 2013-12-20 | 2017-02-02 | ノルディック セミコンダクタ アーエスアーNordic Semiconductor ASA | 更新可能なic無線デバイス |
| JP2017084001A (ja) * | 2015-10-26 | 2017-05-18 | 日立オートモティブシステムズ株式会社 | 自動車用電子制御装置 |
-
2002
- 2002-12-11 JP JP2002359408A patent/JP2004192329A/ja active Pending
Cited By (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006053848A (ja) * | 2004-08-16 | 2006-02-23 | Nec Infrontia Corp | 情報処理装置およびプログラム更新方法 |
| 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 (ja) * | 2006-11-01 | 2008-05-22 | Seiko Epson Corp | 情報処理装置、情報更新方法及びそのプログラム |
| 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 (ja) * | 2010-12-13 | 2013-12-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストリーミング技術に基づくソフトウェア・イメージのアップグレード |
| JP2017504112A (ja) * | 2013-12-20 | 2017-02-02 | ノルディック セミコンダクタ アーエスアーNordic Semiconductor ASA | 更新可能なic無線デバイス |
| WO2015098811A1 (ja) * | 2013-12-27 | 2015-07-02 | 京セラドキュメントソリューションズ株式会社 | 電子機器 |
| CN105814545A (zh) * | 2013-12-27 | 2016-07-27 | 京瓷办公信息系统株式会社 | 电子设备 |
| JP6074064B2 (ja) * | 2013-12-27 | 2017-02-01 | 京セラドキュメントソリューションズ株式会社 | 電子機器 |
| CN105814545B (zh) * | 2013-12-27 | 2019-08-27 | 京瓷办公信息系统株式会社 | 电子设备 |
| JP2015172443A (ja) * | 2014-03-11 | 2015-10-01 | 三菱電機株式会社 | 空気調和機、空気調和機システム、及び書き換え制御プログラム |
| WO2015136804A1 (ja) * | 2014-03-11 | 2015-09-17 | 三菱電機株式会社 | 空気調和機、空気調和機システム、及び書き換え制御プログラム |
| 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 (ja) * | 2015-10-26 | 2017-05-18 | 日立オートモティブシステムズ株式会社 | 自動車用電子制御装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2638466B1 (en) | Software updating process for an embedded device | |
| KR100506203B1 (ko) | 부팅 및 부트 코드 업데이트 방법 및 시스템 | |
| EP1899814B1 (en) | Firmware update for consumer electronic device | |
| US7206971B2 (en) | Selectable and updatable computer boot memory | |
| US8136108B2 (en) | Updating firmware with multiple processors | |
| CN101329632B (zh) | 一种使用boot启动cpu的方法与装置 | |
| JP3838840B2 (ja) | コンピュータ | |
| EP1873638A1 (en) | Portable apparatus supporting multiple operating systems and supporting method therefor | |
| JP2004192329A (ja) | プログラム書換え方法および端末装置 | |
| JP2004046453A (ja) | シングルチップマイクロコンピュータおよびそのブート領域切り替え方法 | |
| JP4013040B2 (ja) | ダウンロード装置及びダウンロード方法 | |
| JP2009151386A (ja) | 画像処理装置 | |
| JP2005284902A (ja) | 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム | |
| US10120677B2 (en) | Method of rewriting printer firmware, and printer | |
| JP4375857B2 (ja) | プログラム再書き込み機能付コンピュータ | |
| CN119473432A (zh) | 系统启动方法、装置、计算机设备和存储介质 | |
| JP2002175193A (ja) | プログラム書き換え装置及びプログラム書き換え方法 | |
| KR100422928B1 (ko) | 데이터 처리 시스템의 부팅 장치 및 방법 | |
| JP2001344156A (ja) | フラッシュメモリを有する装置およびデータの書き換え方法 | |
| JP2005128613A (ja) | 画像形成装置 | |
| JP7582424B2 (ja) | 電子機器 | |
| JP2003122575A (ja) | 情報処理装置 | |
| JP2004094628A (ja) | フラッシュメモリのメモリ書き換え制御システム、メモリ書き換え制御方法及びメモリ書き換え制御方法の各工程を実行させるプログラム | |
| JP2005228225A (ja) | メモリカードアダプタ | |
| TWI726436B (zh) | 電腦基本輸入輸出系統bios修復方法及實施該修復方法之電腦系統 |
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 |