JP2004030019A - プログラムダウンロード方法及び電子装置 - Google Patents
プログラムダウンロード方法及び電子装置 Download PDFInfo
- Publication number
- JP2004030019A JP2004030019A JP2002182829A JP2002182829A JP2004030019A JP 2004030019 A JP2004030019 A JP 2004030019A JP 2002182829 A JP2002182829 A JP 2002182829A JP 2002182829 A JP2002182829 A JP 2002182829A JP 2004030019 A JP2004030019 A JP 2004030019A
- Authority
- JP
- Japan
- Prior art keywords
- data
- program
- memory
- procedure
- rewriting
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Abstract
【課題】書換可能なプログラムメモリ上に記憶されたプログラムに基づいて制御を行う電子装置に用いられるプログラムダウンロード方法及び電子装置並びにプログラムに関し、作業用メモリの記憶容量を大きくすることなく、かつ、効率よくプログラムメモリの書き換えを行えるプログラムダウンロード方法及び電子装置並びにプログラムを提供することを目的とする。
【解決手段】書換用データのすべてに対して、書換用データを受信し、受信した書換用データに対応するセクタのデータをプログラムメモリから作業用メモリに読み出し、作業用メモリ上で、書換用データに応じた編集を行うことを特徴とする。
【選択図】 図4
【解決手段】書換用データのすべてに対して、書換用データを受信し、受信した書換用データに対応するセクタのデータをプログラムメモリから作業用メモリに読み出し、作業用メモリ上で、書換用データに応じた編集を行うことを特徴とする。
【選択図】 図4
Description
【0001】
【発明の属する技術分野】
本発明はプログラムダウンロード方法及び電子装置に係り、特に、書換可能なプログラムメモリ上に記憶されたプログラムに基づいて制御を行う電子装置に用いられるプログラムダウンロード方法及び電子装置に関する。
【0002】
近年、電子機器の高性能化に伴い、制御プログラムは大型化する傾向にあるが、低コスト化のため作業用メモリなどの記憶素子は安価なものを使用することが求められている。
【0003】
【従来の技術】
図1は情報処理システムのシステム構成図を示す。
【0004】
情報処理システム1は、ホストコンピュータ11とプリンタ12とがインタフェースケーブル13を介して通信可能とされている。
【0005】
図2はプリンタ12のブロック構成図を示す。
【0006】
プリンタ12は、通信部21、CPU22、プログラムメモリ23、作業用メモリ24、コントローラ25、プリンタ機構部26から構成される。
【0007】
通信部21は、インタフェースケーブル13を介してホストコンピュータ11との通信を行う。CPU22は、プログラムメモリ23に記憶されたファームウェアに基づいてコントローラ25にプリンタ機構部26を制御するための指示を行う。
【0008】
プログラムメモリ23は、フラッシュメモリなどの書換可能な不揮発性メモリから構成されており、メインプログラムやブートプログラムなどのプログラムが記憶されている。作業用メモリ24は、RAM(random access memory)から構成されておりCPU22の処理作業用記憶領域及びダウンロード作業用領域24aを有する。コントローラ25は、CPU22からの指示に基づいてプリンタ機構部26を駆動する。
【0009】
プリンタ12は、プログラムメモリ23に記憶されたファームウェアに基づいて動作が制御されており、プログラムメモリ23に記憶されるメインプログラムやブートプログラムはホストコンピュータ11から最新のプログラムをダウンロードして最新版に書き換え可能とされている。
【0010】
図3は、従来のダウンロード時の処理フローチャートを示す。
【0011】
CPU22は、ホストコンピュータ11からメインプログラムのダウンロードが指示されると、まず、ステップS1−1で作業用メモリ24のうちのダウンロード作業用領域24aをクリアする。次にCPU22は、ステップS1−2でホストコンピュータ21から書換用データを受信する。CPU22は、ステップS1−3で受信した書換用データにエラーが発生したか否かを判定する。ステップS1−3でエラーが発生していれば、ダウンロード処理は終了する。また、ステップS1−3でエラーが発生していなければ、ステップS1−4で作業用メモリ24のダウンロード作業用領域24a上に書換用データを記憶して編集する。
【0012】
CPU22は、ステップS1−5で書換用データをすべて受信したか否かを判定する。CPU22は、ステップS1−5で書換用データをすべて受信していなければ、ステップS1−2〜S1−4を繰り返し、次の書換用データを受信する。また、CPU22は、ステップS1−5で書換用データをすべて受信すると、ステップS1−6でプログラムメモリ23を消去し、ステップS1−7で作業用メモリ24のダウンロード作業用領域で編集された書換用データをプログラムメモリ23に書き込む。CPU22は、ステップS1−8で再起動を行い、初期化を行うことによりプログラムメモリ23に記憶された最新のプログラムを有効にする。
【0013】
以上によりプリンタ12のメインプログラムが最新のものに更新される。このとき、従来は書換用データをすべて作業用メモリ24のダウンロード作業用領域24aに記憶した後に、プログラムメモリ23を書き換えるようにしていたため、作業用メモリ24の記憶容量は、少なくともプログラムメモリ23より大きい記憶容量が必要とされていた。
【0014】
【発明が解決しようとする課題】
しかるに、従来は書換用データをすべて受信し、作業用メモリ24に記憶した後に、プログラムメモリ23を書き換えるようにしていたため、作業用メモリ24の記憶容量をプログラムメモリ23の記憶容量より大きくする必要があった。近年、プログラムは大型化しており、プログラムメモリ23が大容量化している。これに伴って作業用メモリ24の記憶容量を大きくする必要があった。作業用メモリ124の大容量化は、装置のコスト低下の妨げとなっていた。
【0015】
また、受信した書換用データにエラーがあった場合には、ダウンロードを終了し、初めから書換用データを受信し直す必要があったため、ダウンロードの効率が悪かった。
【0016】
本発明は上記の点に鑑みてなされたもので、作業用メモリの記憶容量を大きくすることなく、かつ、効率よくプログラムメモリの書き換えを行えるプログラムダウンロード方法及び電子装置を提供することを目的とする。
【0017】
【課題を解決するための手段】
本発明は、書換用データを受信する受信手順と、受信手順で受信した書換用データに対応するセクタのデータをプログラムメモリから作業用メモリに読み出す読出手順と、作業用メモリ上で、書換用データに応じた編集を行う編集手順と、編集手順で編集したデータをプログラムメモリに書き込む書込手順とを有し、書換用データのすべてに対して編集が行われるまで読出手順及び編集手順並びに書込手順を順次に繰り返すことを特徴とする。
【0018】
また、本発明は、受信手順で受信した書換用データに対応するデータが作業用メモリに既に読み出されている場合には、プログラムメモリからのデータの読み出しは行わないようにすることを特徴とする。
【0019】
さらに、本発明は、書換用データにエラーが発生した場合に、書換用データのアドレスを記憶しておき、書換用データのすべてに対して編集が完了した後、アドレスに基づいて書換用データを上位装置に要求し、再送された書換用データに基づいて編集を行うことを特徴とする。
【0020】
また、本発明は、プログラムメモリに書き込まれたプログラムのうち、ブートプログラムの書き換えを禁止可能としたことを特徴とする。
【0021】
本発明によれば、セクタ単位でデータの書き換えが行われるため、作業用メモリの記憶容量は少なくとも1セクタ分あればよいので、作業用メモリの記憶容量を低減できる。よって、装置を安価に構成できる。
【0022】
また、本発明によれば、受信した書換用データに対応するデータが作業用メモリに既に読み出されている場合には、プログラムメモリからのデータの読み出しは行わないようにすることにより、不要なデータの読み書きを防止できるため、効率よくデータの書き換えを行うことができる。
【0023】
また、本発明によれば、エラーが発生した場合でも、エラーが発生した書換用データだけを再受信し、プログラムメモリから作業用メモリに対応するセクタのデータを読み出して、再編集を行えばよい。また、書換用データにエラーが発生した場合でも、書換用データのすべてに対してダウンロードが完了した後に、エラーが発生したアドレスに対して書換用データを再送してもらうことで、ダウンロードを完了することができる。これによって、データ書き換えの効率を向上させることができる。
【0024】
さらに、本発明によれば、プログラムメモリに書き込まれたプログラムのうち、通常書き換えを行わない重要なブートプログラムのようなプログラムの書き換えを禁止可能とすることにより、重要なプログラムが消去されてしまうことがなく、安全性を向上できる。
【0025】
【発明の実施の形態】
次に本発明の一実施例を説明する。なお、システム構成は図1、図2と同様であるため、その説明は省略し、ダウンロード時の処理について説明を行う。
【0026】
図4、図5は本発明の一実施例のダウンロード時の処理フローチャートを示す。
【0027】
本実施例では、CPU22は、まず、ステップS2−1で作業用メモリ24のうちのダウンロード作業用領域24aをクリアする。次にCPU22は、ステップS2−2でホストコンピュータ11からの一つの書換用データを受信する。CPU22は、ステップS2−3で受信した書換用データのエラーを判定する。
【0028】
CPU22は、ステップS2−3でエラーが発生すると、ステップS2−4でエラーが発生した書換用データのアドレスを作業用メモリ24のエラー管理用領域に記憶させ、ステップS2−5でそのアドレスの書換用データにエラーが発生したことを示す履歴をセットし、ステップS2−2に戻って、次の書換用データを受信する。
【0029】
また、CPU22は、ステップS2−3で受信した書換用データにエラーがなければ、ステップS2−6でブートプログラムの書き換えを行なわないようにするためのフラグが有効か無効かを判定する。
【0030】
CPU22は、ステップS2−6でフラグが有効の場合には、ステップS2−7でブートプログラムの書換用データか否かを判定する。CPU22は、ステップS2−7でブートプログラムである場合には、ステップS2−14を実行する。なお、ステップS2−14はダウンロードする全データに対して処理が終了したか否かを判定するステップである。
【0031】
また、CPU22は、ステップS2−6でフラグが無効、すなわち、ブートプログラムを含めてデータを書き換えする場合、及び、ステップS2−7でブートプログラムでない、すなわち、受信した書換用データがメインプログラムの書換データである場合には、ステップS2−8で受信した書換用データが適用されるアドレスをチェックする。
【0032】
CPU22は、ステップS2−9で受信した書換用データのアドレスが現在、作業用メモリ24のダウンロード作業用領域24aに展開されているセクタに含まれているか否かを判定する。CPU22は、ステップS2−9で受信した書換用データのアドレスが現在、作業用メモリ24のダウンロード作業用領域24a上で編集中のセクタのアドレスでない場合には、ステップS2−10で、プログラムメモリ23上の現在、作業用メモリ24で編集中のセクタを消去する。次に、CPU22は、ステップS2−11で作業用メモリ24のダウンロード作業用領域24aのデータをプログラムメモリ23の対応するセクタに書き込む。
【0033】
次に、CPU22は、ステップS2−12で受信した書換用データを適用するアドレスを含むセクタのデータをプログラムメモリ23から作業用メモリ24のダウンロード作業用領域24aに読み出す。
【0034】
CPU22は、ステップS2−13で作業用メモリ24のダウンロード作業用領域24aに読み出されたデータを受信データにより編集する。例えば、データを受信データに書き換えを行う。また、CPU22は、ステップS2−9で受信した書換用データのアドレスが現在、作業用メモリ24のダウンロード作業用領域24aに展開されたセクタのアドレスである場合には、そのまま編集が可能であるので、作業用メモリ24のダウンロード作業用領域24aの書き換えは行わず、次にステップS2−13でそのまま作業用メモリ24のダウンロード作業用領域24aのデータを編集する。
【0035】
CPU22は、ステップS2−13で作業用メモリ24のダウンロード作業用領域24aの編集後、ステップS2−14で書換用データのすべてを受信したか否かを判定する。CPU22は、ステップS2−14で書換用データのすべてを受信していなければ、ステップS2−1に戻って次の書換用データを受信する。また、CPU22は、ステップS2−14で書換用データのすべてを受信した場合には、ステップS2−15でプログラムメモリ23の現在、作業用メモリ24のダウンロード作業用領域24aで編集中の書換用データに対応するセクタのデータを消去した後、現在、作業用メモリ24のダウンロード作業用領域24aで編集中のセクタのデータをプログラムメモリ23のデータを消去したセクタに書き込む。
【0036】
次にCPU22は、ステップS2−5で、セットされたエラーの履歴を参照して、ダウンロード中にエラーが発生したか否かを判定する。
【0037】
次に、CPU22は、ステップS2−16で受信した書換用データにエラーが発生していた場合には、ステップS2−17でエラーが発生したアドレスをホストコンピュータ11に送信し、エラーが発生したアドレスの書換用データを要求する。CPU22は、ステップS2−18でホストコンピュータ11からエラーが発生したアドレスの書換用データを受信すると、ステップS2−19でエラーが発生したアドレスを含むセクタのデータをプログラムメモリ23から作業用メモリ24に読み出す。
【0038】
次にCPU22は、ステップS2−20で作業用メモリ24のダウンロード作業用領域24a上で書換用データによりプログラムメモリ23から読み出されたセクタのデータを編集する。CPU22は、ステップS2−21でプログラムメモリ23の現在、作業用メモリ24のダウンロード作業用領域24aに展開されているセクタのデータを消去した後、作業用メモリ24のダウンロード作業用領域24aのセクタのデータをプログラムメモリ23に書き込む。
【0039】
次にCPU22は、ステップS2−22でプログラムメモリ23に書き込まれたプログラムをチェックする。CPU22は、ステップS2−23でプログラムのチェック結果にエラーが検出されたか否かを判定する。
【0040】
CPU22は、ステップS2−23でエラーが検出された場合には、ステップS2−17に戻って再び書換用データによりプログラムを編集する。また、CPU22は、ステップS2−23でエラーが検出されなかった場合には、ステップS2−24で再起動を行い、初期化を行うことによりプログラムメモリ23に記憶された最新のプログラムを有効にする。
【0041】
本実施例によれば、セクタ単位でデータの書き換えが行われるため、作業用メモリ24の記憶容量は少なくとも1セクタ分あればよいので、作業用メモリ24の記憶容量を低減できる。よって、装置を安価に構成できる。また、セクタ毎に書き換えが行われるため、書換用データが順不同で送信されても書き換えを行うことができる。
【0042】
また、本実施例によれば、受信した書換用データに対応するデータが作業用メモリ24のダウンロード作業用領域24aに既に読み出されている場合には、プログラムメモリからのデータの読み出しは行わないようにすることにより、不要なデータの読み書きを防止できるため、効率よくデータの書き換えを行うことができる。
【0043】
また、本実施例によれば、エラーが発生した場合でも、エラーが発生した書換用データだけを再受信し、プログラムメモリ23から作業用メモリ24のダウンロード作業用領域24aに対応するセクタのデータを読み出して、再編集を行えばよい。また、書換用データにエラーが発生した場合でも、書換用データのすべてに対してダウンロードが完了した後に、エラーが発生したアドレスに対して書換用データを再送してもらうことで、ダウンロードを完了することができる。これによって、エラーが発生しても書換用データのすべてを書き換える必要がないので、データ書き換えの効率を向上させることができる。
【0044】
なお、書換用データは、ホストコンピュータ11で圧縮してプリンタ12に送信し、プリンタ12で伸長して用いるようにしてもよい。
【0045】
また、ホストコンピュータ11とプリンタ12とのインタフェースは、セントロニクスインタフェース、USB(universal serial bus)インタフェース、IrDA(infrared data association)インタフェース、Bluetoothなどの無線通信システム、ADB(apple desktop bus)、LONインタフェースなど各種インタフェースが適用可能である。
【0046】
さらに、本実施例では、電子装置としてプリンタ12を例に説明を行ったが、本発明の電子装置は書換可能なプログラムメモリ23に記憶されたプログラムに基づいて制御を行うような電子装置一般に適用可能である。
【0047】
【発明の効果】
上述の如く、本発明によれば、セクタ単位でデータの書き換えが行われるため、作業用メモリの記憶容量は少なくとも1セクタ分あればよいので、作業用メモリの記憶容量を低減でき、よって、装置を安価に構成できる等の特長を有する。
【0048】
また、本発明によれば、エラーが発生した場合でも、エラーが発生した書換用データだけを再受信し、プログラムメモリから作業用メモリに対応するセクタのデータを読み出して、再編集を行えばよく、また、書換用データにエラーが発生した場合でも、書換用データのすべてに対してダウンロードが完了した後に、エラーが発生したアドレスに対して書換用データを再送してもらうことで、必要な書換用データに対して再送を行い、ダウンロードを完了することができ、これによって、データ書き換えの効率を向上させることができる等の特長を有する。
【0049】
さらに、本発明によれば、プログラムメモリに書き込まれたプログラムのうち、通常書き換えを行わない重要なブートプログラムのようなプログラムの書き換えを禁止可能とすることにより、重要なプログラムが消去されてしまうことがなく、安全性を向上できる等の特長を有する。
【図面の簡単な説明】
【図1】情報処理システムのシステム構成図である。
【図2】プリンタ12のブロック構成図である。
【図3】従来のダウンロード時の処理フローチャートである。
【図4】本発明の一実施例のダウンロード時の処理フローチャートである。
【図5】本発明の一実施例のダウンロード時の処理フローチャートである。
【符号の説明】
1 情報処理システム
11 ホストコンピュータ
12 プリンタ
13 インタフェースケーブル
21 通信部
22 CPU
23 プログラムメモリ
24 作業用メモリ
25 コントローラ
26 プリンタ機構部
【発明の属する技術分野】
本発明はプログラムダウンロード方法及び電子装置に係り、特に、書換可能なプログラムメモリ上に記憶されたプログラムに基づいて制御を行う電子装置に用いられるプログラムダウンロード方法及び電子装置に関する。
【0002】
近年、電子機器の高性能化に伴い、制御プログラムは大型化する傾向にあるが、低コスト化のため作業用メモリなどの記憶素子は安価なものを使用することが求められている。
【0003】
【従来の技術】
図1は情報処理システムのシステム構成図を示す。
【0004】
情報処理システム1は、ホストコンピュータ11とプリンタ12とがインタフェースケーブル13を介して通信可能とされている。
【0005】
図2はプリンタ12のブロック構成図を示す。
【0006】
プリンタ12は、通信部21、CPU22、プログラムメモリ23、作業用メモリ24、コントローラ25、プリンタ機構部26から構成される。
【0007】
通信部21は、インタフェースケーブル13を介してホストコンピュータ11との通信を行う。CPU22は、プログラムメモリ23に記憶されたファームウェアに基づいてコントローラ25にプリンタ機構部26を制御するための指示を行う。
【0008】
プログラムメモリ23は、フラッシュメモリなどの書換可能な不揮発性メモリから構成されており、メインプログラムやブートプログラムなどのプログラムが記憶されている。作業用メモリ24は、RAM(random access memory)から構成されておりCPU22の処理作業用記憶領域及びダウンロード作業用領域24aを有する。コントローラ25は、CPU22からの指示に基づいてプリンタ機構部26を駆動する。
【0009】
プリンタ12は、プログラムメモリ23に記憶されたファームウェアに基づいて動作が制御されており、プログラムメモリ23に記憶されるメインプログラムやブートプログラムはホストコンピュータ11から最新のプログラムをダウンロードして最新版に書き換え可能とされている。
【0010】
図3は、従来のダウンロード時の処理フローチャートを示す。
【0011】
CPU22は、ホストコンピュータ11からメインプログラムのダウンロードが指示されると、まず、ステップS1−1で作業用メモリ24のうちのダウンロード作業用領域24aをクリアする。次にCPU22は、ステップS1−2でホストコンピュータ21から書換用データを受信する。CPU22は、ステップS1−3で受信した書換用データにエラーが発生したか否かを判定する。ステップS1−3でエラーが発生していれば、ダウンロード処理は終了する。また、ステップS1−3でエラーが発生していなければ、ステップS1−4で作業用メモリ24のダウンロード作業用領域24a上に書換用データを記憶して編集する。
【0012】
CPU22は、ステップS1−5で書換用データをすべて受信したか否かを判定する。CPU22は、ステップS1−5で書換用データをすべて受信していなければ、ステップS1−2〜S1−4を繰り返し、次の書換用データを受信する。また、CPU22は、ステップS1−5で書換用データをすべて受信すると、ステップS1−6でプログラムメモリ23を消去し、ステップS1−7で作業用メモリ24のダウンロード作業用領域で編集された書換用データをプログラムメモリ23に書き込む。CPU22は、ステップS1−8で再起動を行い、初期化を行うことによりプログラムメモリ23に記憶された最新のプログラムを有効にする。
【0013】
以上によりプリンタ12のメインプログラムが最新のものに更新される。このとき、従来は書換用データをすべて作業用メモリ24のダウンロード作業用領域24aに記憶した後に、プログラムメモリ23を書き換えるようにしていたため、作業用メモリ24の記憶容量は、少なくともプログラムメモリ23より大きい記憶容量が必要とされていた。
【0014】
【発明が解決しようとする課題】
しかるに、従来は書換用データをすべて受信し、作業用メモリ24に記憶した後に、プログラムメモリ23を書き換えるようにしていたため、作業用メモリ24の記憶容量をプログラムメモリ23の記憶容量より大きくする必要があった。近年、プログラムは大型化しており、プログラムメモリ23が大容量化している。これに伴って作業用メモリ24の記憶容量を大きくする必要があった。作業用メモリ124の大容量化は、装置のコスト低下の妨げとなっていた。
【0015】
また、受信した書換用データにエラーがあった場合には、ダウンロードを終了し、初めから書換用データを受信し直す必要があったため、ダウンロードの効率が悪かった。
【0016】
本発明は上記の点に鑑みてなされたもので、作業用メモリの記憶容量を大きくすることなく、かつ、効率よくプログラムメモリの書き換えを行えるプログラムダウンロード方法及び電子装置を提供することを目的とする。
【0017】
【課題を解決するための手段】
本発明は、書換用データを受信する受信手順と、受信手順で受信した書換用データに対応するセクタのデータをプログラムメモリから作業用メモリに読み出す読出手順と、作業用メモリ上で、書換用データに応じた編集を行う編集手順と、編集手順で編集したデータをプログラムメモリに書き込む書込手順とを有し、書換用データのすべてに対して編集が行われるまで読出手順及び編集手順並びに書込手順を順次に繰り返すことを特徴とする。
【0018】
また、本発明は、受信手順で受信した書換用データに対応するデータが作業用メモリに既に読み出されている場合には、プログラムメモリからのデータの読み出しは行わないようにすることを特徴とする。
【0019】
さらに、本発明は、書換用データにエラーが発生した場合に、書換用データのアドレスを記憶しておき、書換用データのすべてに対して編集が完了した後、アドレスに基づいて書換用データを上位装置に要求し、再送された書換用データに基づいて編集を行うことを特徴とする。
【0020】
また、本発明は、プログラムメモリに書き込まれたプログラムのうち、ブートプログラムの書き換えを禁止可能としたことを特徴とする。
【0021】
本発明によれば、セクタ単位でデータの書き換えが行われるため、作業用メモリの記憶容量は少なくとも1セクタ分あればよいので、作業用メモリの記憶容量を低減できる。よって、装置を安価に構成できる。
【0022】
また、本発明によれば、受信した書換用データに対応するデータが作業用メモリに既に読み出されている場合には、プログラムメモリからのデータの読み出しは行わないようにすることにより、不要なデータの読み書きを防止できるため、効率よくデータの書き換えを行うことができる。
【0023】
また、本発明によれば、エラーが発生した場合でも、エラーが発生した書換用データだけを再受信し、プログラムメモリから作業用メモリに対応するセクタのデータを読み出して、再編集を行えばよい。また、書換用データにエラーが発生した場合でも、書換用データのすべてに対してダウンロードが完了した後に、エラーが発生したアドレスに対して書換用データを再送してもらうことで、ダウンロードを完了することができる。これによって、データ書き換えの効率を向上させることができる。
【0024】
さらに、本発明によれば、プログラムメモリに書き込まれたプログラムのうち、通常書き換えを行わない重要なブートプログラムのようなプログラムの書き換えを禁止可能とすることにより、重要なプログラムが消去されてしまうことがなく、安全性を向上できる。
【0025】
【発明の実施の形態】
次に本発明の一実施例を説明する。なお、システム構成は図1、図2と同様であるため、その説明は省略し、ダウンロード時の処理について説明を行う。
【0026】
図4、図5は本発明の一実施例のダウンロード時の処理フローチャートを示す。
【0027】
本実施例では、CPU22は、まず、ステップS2−1で作業用メモリ24のうちのダウンロード作業用領域24aをクリアする。次にCPU22は、ステップS2−2でホストコンピュータ11からの一つの書換用データを受信する。CPU22は、ステップS2−3で受信した書換用データのエラーを判定する。
【0028】
CPU22は、ステップS2−3でエラーが発生すると、ステップS2−4でエラーが発生した書換用データのアドレスを作業用メモリ24のエラー管理用領域に記憶させ、ステップS2−5でそのアドレスの書換用データにエラーが発生したことを示す履歴をセットし、ステップS2−2に戻って、次の書換用データを受信する。
【0029】
また、CPU22は、ステップS2−3で受信した書換用データにエラーがなければ、ステップS2−6でブートプログラムの書き換えを行なわないようにするためのフラグが有効か無効かを判定する。
【0030】
CPU22は、ステップS2−6でフラグが有効の場合には、ステップS2−7でブートプログラムの書換用データか否かを判定する。CPU22は、ステップS2−7でブートプログラムである場合には、ステップS2−14を実行する。なお、ステップS2−14はダウンロードする全データに対して処理が終了したか否かを判定するステップである。
【0031】
また、CPU22は、ステップS2−6でフラグが無効、すなわち、ブートプログラムを含めてデータを書き換えする場合、及び、ステップS2−7でブートプログラムでない、すなわち、受信した書換用データがメインプログラムの書換データである場合には、ステップS2−8で受信した書換用データが適用されるアドレスをチェックする。
【0032】
CPU22は、ステップS2−9で受信した書換用データのアドレスが現在、作業用メモリ24のダウンロード作業用領域24aに展開されているセクタに含まれているか否かを判定する。CPU22は、ステップS2−9で受信した書換用データのアドレスが現在、作業用メモリ24のダウンロード作業用領域24a上で編集中のセクタのアドレスでない場合には、ステップS2−10で、プログラムメモリ23上の現在、作業用メモリ24で編集中のセクタを消去する。次に、CPU22は、ステップS2−11で作業用メモリ24のダウンロード作業用領域24aのデータをプログラムメモリ23の対応するセクタに書き込む。
【0033】
次に、CPU22は、ステップS2−12で受信した書換用データを適用するアドレスを含むセクタのデータをプログラムメモリ23から作業用メモリ24のダウンロード作業用領域24aに読み出す。
【0034】
CPU22は、ステップS2−13で作業用メモリ24のダウンロード作業用領域24aに読み出されたデータを受信データにより編集する。例えば、データを受信データに書き換えを行う。また、CPU22は、ステップS2−9で受信した書換用データのアドレスが現在、作業用メモリ24のダウンロード作業用領域24aに展開されたセクタのアドレスである場合には、そのまま編集が可能であるので、作業用メモリ24のダウンロード作業用領域24aの書き換えは行わず、次にステップS2−13でそのまま作業用メモリ24のダウンロード作業用領域24aのデータを編集する。
【0035】
CPU22は、ステップS2−13で作業用メモリ24のダウンロード作業用領域24aの編集後、ステップS2−14で書換用データのすべてを受信したか否かを判定する。CPU22は、ステップS2−14で書換用データのすべてを受信していなければ、ステップS2−1に戻って次の書換用データを受信する。また、CPU22は、ステップS2−14で書換用データのすべてを受信した場合には、ステップS2−15でプログラムメモリ23の現在、作業用メモリ24のダウンロード作業用領域24aで編集中の書換用データに対応するセクタのデータを消去した後、現在、作業用メモリ24のダウンロード作業用領域24aで編集中のセクタのデータをプログラムメモリ23のデータを消去したセクタに書き込む。
【0036】
次にCPU22は、ステップS2−5で、セットされたエラーの履歴を参照して、ダウンロード中にエラーが発生したか否かを判定する。
【0037】
次に、CPU22は、ステップS2−16で受信した書換用データにエラーが発生していた場合には、ステップS2−17でエラーが発生したアドレスをホストコンピュータ11に送信し、エラーが発生したアドレスの書換用データを要求する。CPU22は、ステップS2−18でホストコンピュータ11からエラーが発生したアドレスの書換用データを受信すると、ステップS2−19でエラーが発生したアドレスを含むセクタのデータをプログラムメモリ23から作業用メモリ24に読み出す。
【0038】
次にCPU22は、ステップS2−20で作業用メモリ24のダウンロード作業用領域24a上で書換用データによりプログラムメモリ23から読み出されたセクタのデータを編集する。CPU22は、ステップS2−21でプログラムメモリ23の現在、作業用メモリ24のダウンロード作業用領域24aに展開されているセクタのデータを消去した後、作業用メモリ24のダウンロード作業用領域24aのセクタのデータをプログラムメモリ23に書き込む。
【0039】
次にCPU22は、ステップS2−22でプログラムメモリ23に書き込まれたプログラムをチェックする。CPU22は、ステップS2−23でプログラムのチェック結果にエラーが検出されたか否かを判定する。
【0040】
CPU22は、ステップS2−23でエラーが検出された場合には、ステップS2−17に戻って再び書換用データによりプログラムを編集する。また、CPU22は、ステップS2−23でエラーが検出されなかった場合には、ステップS2−24で再起動を行い、初期化を行うことによりプログラムメモリ23に記憶された最新のプログラムを有効にする。
【0041】
本実施例によれば、セクタ単位でデータの書き換えが行われるため、作業用メモリ24の記憶容量は少なくとも1セクタ分あればよいので、作業用メモリ24の記憶容量を低減できる。よって、装置を安価に構成できる。また、セクタ毎に書き換えが行われるため、書換用データが順不同で送信されても書き換えを行うことができる。
【0042】
また、本実施例によれば、受信した書換用データに対応するデータが作業用メモリ24のダウンロード作業用領域24aに既に読み出されている場合には、プログラムメモリからのデータの読み出しは行わないようにすることにより、不要なデータの読み書きを防止できるため、効率よくデータの書き換えを行うことができる。
【0043】
また、本実施例によれば、エラーが発生した場合でも、エラーが発生した書換用データだけを再受信し、プログラムメモリ23から作業用メモリ24のダウンロード作業用領域24aに対応するセクタのデータを読み出して、再編集を行えばよい。また、書換用データにエラーが発生した場合でも、書換用データのすべてに対してダウンロードが完了した後に、エラーが発生したアドレスに対して書換用データを再送してもらうことで、ダウンロードを完了することができる。これによって、エラーが発生しても書換用データのすべてを書き換える必要がないので、データ書き換えの効率を向上させることができる。
【0044】
なお、書換用データは、ホストコンピュータ11で圧縮してプリンタ12に送信し、プリンタ12で伸長して用いるようにしてもよい。
【0045】
また、ホストコンピュータ11とプリンタ12とのインタフェースは、セントロニクスインタフェース、USB(universal serial bus)インタフェース、IrDA(infrared data association)インタフェース、Bluetoothなどの無線通信システム、ADB(apple desktop bus)、LONインタフェースなど各種インタフェースが適用可能である。
【0046】
さらに、本実施例では、電子装置としてプリンタ12を例に説明を行ったが、本発明の電子装置は書換可能なプログラムメモリ23に記憶されたプログラムに基づいて制御を行うような電子装置一般に適用可能である。
【0047】
【発明の効果】
上述の如く、本発明によれば、セクタ単位でデータの書き換えが行われるため、作業用メモリの記憶容量は少なくとも1セクタ分あればよいので、作業用メモリの記憶容量を低減でき、よって、装置を安価に構成できる等の特長を有する。
【0048】
また、本発明によれば、エラーが発生した場合でも、エラーが発生した書換用データだけを再受信し、プログラムメモリから作業用メモリに対応するセクタのデータを読み出して、再編集を行えばよく、また、書換用データにエラーが発生した場合でも、書換用データのすべてに対してダウンロードが完了した後に、エラーが発生したアドレスに対して書換用データを再送してもらうことで、必要な書換用データに対して再送を行い、ダウンロードを完了することができ、これによって、データ書き換えの効率を向上させることができる等の特長を有する。
【0049】
さらに、本発明によれば、プログラムメモリに書き込まれたプログラムのうち、通常書き換えを行わない重要なブートプログラムのようなプログラムの書き換えを禁止可能とすることにより、重要なプログラムが消去されてしまうことがなく、安全性を向上できる等の特長を有する。
【図面の簡単な説明】
【図1】情報処理システムのシステム構成図である。
【図2】プリンタ12のブロック構成図である。
【図3】従来のダウンロード時の処理フローチャートである。
【図4】本発明の一実施例のダウンロード時の処理フローチャートである。
【図5】本発明の一実施例のダウンロード時の処理フローチャートである。
【符号の説明】
1 情報処理システム
11 ホストコンピュータ
12 プリンタ
13 インタフェースケーブル
21 通信部
22 CPU
23 プログラムメモリ
24 作業用メモリ
25 コントローラ
26 プリンタ機構部
Claims (5)
- 書換用データを受信する受信手順と、
前記受信手順で受信した前記書換用データに対応するセクタのデータをプログラムメモリから作業用メモリに読み出す読出手順と、
前記作業用メモリ上で、前記書換用データに応じた編集を行う編集手順と、
前記編集手順で編集したデータを前記プログラムメモリに書き込む書込手順とを有し、
前記書換用データのすべてに対して編集が行われるまで前記読出手順及び前記編集手順並びに前記書込手順を順次に繰り返すことを特徴とするプログラムダウンロード方法。 - 前記読出手順は、前記受信手順で受信した書換用データに対応するデータが前記作業用メモリに既に読み出されている場合には、前記プログラムメモリからのデータの読み出しは行わないようにすることを特徴とする請求項1記載のプログラムダウンロード方法。
- 前記受信手順で前記書換用データにエラーが発生した場合に、前記書換用データのアドレスを記憶しておき、
前記書換用データのすべてに対して編集が完了した後、前記アドレスに基づいて前記書換用データを上位装置に要求し、再送された書換用データに基づいて前記読出手順、及び前記編集手順並びに前記書込手順を行うことを特徴とする請求項1記載のプログラムダウンロード方法。 - 前記プログラムメモリに書き込まれたプログラムのうち、ブートプログラムの書き換えを禁止可能としたことを特徴とする請求項1記載のプログラムダウンロード方法。
- プログラムが記憶されたプログラムメモリと、
請求項1乃至4のいずれか一項のプログラムダウンロード方法によりプログラムをダウンロードするダウンロード手段とを有することを特徴とする電子装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002182829A JP2004030019A (ja) | 2002-06-24 | 2002-06-24 | プログラムダウンロード方法及び電子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002182829A JP2004030019A (ja) | 2002-06-24 | 2002-06-24 | プログラムダウンロード方法及び電子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004030019A true JP2004030019A (ja) | 2004-01-29 |
Family
ID=31179222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002182829A Pending JP2004030019A (ja) | 2002-06-24 | 2002-06-24 | プログラムダウンロード方法及び電子装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004030019A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015138447A (ja) * | 2014-01-23 | 2015-07-30 | コニカミノルタ株式会社 | 情報端末、印刷システム、印刷システムの制御方法、およびプログラム |
US9451106B2 (en) | 2014-02-28 | 2016-09-20 | Kyocera Document Solutions Inc. | Electronic apparatus that changes operation messages, controlling method of electronic apparatus, and recording medium |
-
2002
- 2002-06-24 JP JP2002182829A patent/JP2004030019A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015138447A (ja) * | 2014-01-23 | 2015-07-30 | コニカミノルタ株式会社 | 情報端末、印刷システム、印刷システムの制御方法、およびプログラム |
US9451106B2 (en) | 2014-02-28 | 2016-09-20 | Kyocera Document Solutions Inc. | Electronic apparatus that changes operation messages, controlling method of electronic apparatus, and recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6568947B2 (ja) | 車載制御装置、プログラム更新システム、及び、プログラム更新ソフトウェア | |
JP4560408B2 (ja) | 不揮発性記憶装置の制御方法 | |
JP4031190B2 (ja) | メモリカード、不揮発性メモリ、不揮発性メモリのデータ書き込み方法及びデータ書き込み装置 | |
US20110004871A1 (en) | Embedded electronic device and firmware updating method thereof | |
TWI249705B (en) | Communication terminal software updating method, communication terminal, and software updating method | |
JP2990181B1 (ja) | フラッシュメモリ、フラッシュメモリを備えたマイクロコンピュータおよびフラッシュメモリへのプログラム格納方法 | |
JP2008198208A (ja) | ホストデータ処理装置の動作方法、ホストデータ処理装置並びにデータ格納装置 | |
CN100412818C (zh) | 信息处理设备、存储设备和存储控制设备 | |
JP4480815B2 (ja) | メモリ書き換え方法及びコンピュータシステム | |
JP2010140266A (ja) | 電子デバイスシステムと電子デバイス | |
JPH113224A (ja) | 携帯型情報端末機器のプログラム更新方法 | |
JP4586469B2 (ja) | メモリ制御装置、メモリ制御方法、プログラム | |
CN109614118B (zh) | 一种SPI Flash固件烧录方法及装置 | |
JP2004030019A (ja) | プログラムダウンロード方法及び電子装置 | |
US10732887B2 (en) | Cable modem and operating method thereof | |
JP6301820B2 (ja) | リプログラミングシステム | |
US20110082995A1 (en) | Information processing apparatus | |
JP3376331B2 (ja) | フラッシュメモリを用いる記憶方法及び記憶制御プログラムを記録した記録媒体 | |
JPH10124403A (ja) | ブロック消去型フラッシュメモリの書込み方法 | |
JP2007052558A (ja) | フラッシュメモリ書換え装置、フラッシュメモリ書換え方法及びフラッシュメモリ書換えプログラム | |
JP6314859B2 (ja) | 電子制御装置及びソフトウェア書き換えシステム | |
JP2007257271A (ja) | メモリ診断方法、マイクロコンピュータシステム及びプログラム | |
JP2002007152A (ja) | ダウンロード方法および装置 | |
JP4478298B2 (ja) | データ転送システム | |
JP4602387B2 (ja) | メモリカード、不揮発性メモリ、不揮発性メモリのデータ書込み方法及びデータ書込み装置 |