(57)【要約】【課題】ファームウェアの書き換えを容易に行うことができるファームウェア書き換え方法を提供する。【解決手段】ファームウェア書き換え方法は、制御装置２に設けられた制御手段１０が実行するファームウェア書き換え方法であって、制御装置２に、第１ファームウェアを記憶する書き込み可能な記憶手段１４を設けるとともに、第２ファームウェアが記憶されており制御装置２に対して着脱可能な外部記憶装置４を設け、制御手段１０が、制御装置２の書き換えモードを検出するとともに、制御装置２と外部記憶装置４とが双方向通信可能に接続されたことを検知すると、外部記憶装置４から第２ファームウェアを読み出し、第２ファームウェア内に付加されている管理情報に基づき第１ファームウェアを書き換える。制御装置２の書き換えに関する情報に基づき管理情報を書き換える。【選択図】図１
2008027331.tif 000002
【特許請求の範囲】
【請求項１】
制御装置に設けられた制御手段が実行するファームウェア書き換え方法であって、
前記制御装置に、第１ファームウェアを記憶する書き込み可能な記憶手段を設けるとともに、第２ファームウェアが記憶されており前記制御装置に対して着脱可能な外部記憶装置を設け、
前記制御手段が、前記制御装置の書き換えモードを検出するとともに、前記制御装置と前記外部記憶装置とが双方向通信可能に接続されたことを検知すると、前記外部記憶装置から前記第２ファームウェアを読み出し、前記第２ファームウェア内に付加されている管理情報に基づき前記第１ファームウェアを書き換えること、及び、
前記制御装置の書き換えに関する情報に基づき前記管理情報を書き換えること、
を含むことを特徴とするファームウェア書き換え方法。
【請求項２】
請求項１に記載のファームウェア書き換え方法において、
前記管理情報は、前記記憶手段の前記第２ファームウェアによる書き換え有無を含むことを特徴とするファームウェア書き換え方法。
【請求項３】
請求項１に記載のファームウェア書き換え方法において、
前記制御装置の書き換えモード又は前記管理情報に基づき、前記第２ファームウェア内の所定の範囲から前記第１ファームウェア内の所定の範囲に、書き換えを行うことを特徴とするファームウェア書き換え方法。
【請求項４】
請求項１又は３に記載のファームウェア書き換え方法において、
前記書き換えモードの検出は、前記制御装置のモード切り換え手段の状態から検出されることを特徴とするファームウェア書き換え方法。
【請求項５】
請求項１から４のいずれか一項に記載のファームウェア書き換え方法において、
前記書き換えモードの検出及び前記双方向通信可能の検知は、前記第１ファームウェア内に含まれるプログラムにより実行されることを特徴とするファームウェア書き換え方法。
【請求項６】
請求項１から５のいずれか一項に記載のファームウェア書き換え方法において、
前記第１ファームウェア及び前記管理情報の書き換えは、前記第２ファームウェア内に含まれるプログラムにより実行されることを特徴とするファームウェア書き換え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファームウェア書き換え方法に関するものである。
【背景技術】
【０００２】
ＣＰＵ（Central Processing Unit）とメモリとを有する電子機器（制御装置）において、ＣＰＵが処理を実行するためのプログラムまたは当該処理に有するデータが格納されているフラッシュメモリ（不揮発性メモリ）の内容を更新（書き換え）する方法は、従来はメモリカードなどの外部記憶装置や、ＬＡＮ（Local Area Network）やＵＳＢ（Universal Serial Bus）などの通信手段などを経由して、書き換えを行うための特定条件を満たした場合に、始めから不揮発性メモリに格納されている書き換えプログラムを動作させることにより、その通信手段や外部記憶装置から書き換え内容を参照してフラッシュメモリ内のデータを書き換えている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開平５−１４３３１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、不揮発性メモリの内容の書き換え処理が何らかの要因によって中断した場合には、最初から書き換え処理を行わなければならなかった。
【０００５】
本発明は、このような従来の問題点に着目してなされたもので、その目的は、ファームウェアの書き換えを容易に行うことができるファームウェア書き換え方法を提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明に係るファームウェア書き換え方法は、制御装置に設けられた制御手段が実行するファームウェア書き換え方法であって、前記制御装置に、第１ファームウェアを記憶する書き込み可能な記憶手段を設けるとともに、第２ファームウェアが記憶されており前記制御装置に対して着脱可能な外部記憶装置を設け、前記制御手段が、前記制御装置の書き換えモードを検出するとともに、前記制御装置と前記外部記憶装置とが双方向通信可能に接続されたことを検知すると、前記外部記憶装置から前記第２ファームウェアを読み出し、前記第２ファームウェア内に付加されている管理情報に基づき前記第１ファームウェアを書き換えること、及び、前記制御装置の書き換えに関する情報に基づき前記管理情報を書き換えること、を含む。
【０００７】
本発明によれば、外部記憶装置に第１ファームウェア書き換えに関する管理情報を記憶することにより、第１ファームウェア書き換え時に書き換え失敗などで中断されても、外部記憶装置の記憶情報に基づき中断後の状態から引き続き書き換え処理を行うことができるため、正常に書き換えた箇所を最初から繰り返し書き換えることがなく、第１ファームウェアの書き換えを無駄なく容易に行うことが可能となる。
【０００８】
（２）このファームウェア書き換え方法において、前記管理情報は、前記記憶手段の前記第２ファームウェアによる書き換え有無を含んでもよい。
【０００９】
（３）このファームウェア書き換え方法において、前記制御装置の書き換えモード又は前記管理情報に基づき、前記第２ファームウェア内の所定の範囲から前記第１ファームウェア内の所定の範囲に、書き換えを行ってもよい。
【００１０】
（４）このファームウェア書き換え方法において、前記書き換えモードの検出は、前記制御装置のモード切り換え手段の状態から検出されてもよい。
【００１１】
（５）このファームウェア書き換え方法において、前記書き換えモードの検出及び前記双方向通信可能の検知は、前記第１ファームウェア内に含まれるプログラムにより実行されてもよい。
【００１２】
（６）このファームウェア書き換え方法において、前記第１ファームウェア及び前記管理情報の書き換えは、前記第２ファームウェア内に含まれるプログラムにより実行されてもよい。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について図面を参照して説明する。
【００１４】
本実施の形態については、本発明に係るファームウェア書き換え方法を適用したシステム例である。また本発明に係る制御装置を印刷装置に適用した例である。
【００１５】
図１は、本発明を適用した実施の形態に係るファームウェア書き換え方法を適用した印刷装置を例とするシステムをブロック図で示したものである。図２は、本発明を適用した実施の形態に係るファームウェア書き換え時の制御装置側の不揮発性メモリ及び外部記憶装置側のメモリカードのアドレスマッピングを説明するための図である。本実施の形態に係るシステムは、図１に示すように、制御装置としての印刷装置２と、印刷装置２に着脱可能な外部記憶装置としてのメモリカード４と、を含んで構成されている。
【００１６】
印刷装置２は、制御手段としての中央処理装置（以下、ＣＰＵという）１０と、モード切り換え手段としてのＤＩＰ（Dual Inline Package）スイッチ１２と、記憶手段としての不揮発性メモリ１４と、を含んで構成されている。さらに、印刷装置２は、インタフェース１６と、ＲＡＭ（Random Access Memory）１８と、セレクタ２０と、メモリコントローラ２２と、を含んで構成されている。
【００１７】
ＤＩＰスイッチ１２は選択回路を構成し、選択されたスイッチの状態によりＣＰＵ１０とセレクタ２０とに書き換え制御回路起動信号を出力する。モード切り換え手段は、ＤＩＰスイッチ１２などの物理的なスイッチでも、不揮発性メモリ１４に記憶されるフラグのようなメモリスイッチ（図示せず）であってもよい。メモリスイッチの場合には、印刷装置２の操作パネル（図示せず）のボタン操作によりメモリスイッチの設定を切り換えることを可能にすることが望ましい。印刷装置２に接続したホスト装置（図示せず）からの命令に基づいてメモリスイッチの設定を切り換えることができるとさらに利便性が向上する。
【００１８】
印刷装置２の不揮発性メモリ１４は、図２に示すように、第１ファームウェアが記憶されている第１ファームウェア領域２４を含んで構成されている。
【００１９】
第１ファームウェア領域２４は、ＣＰＵ１０が実行すべき所定の処理内容を記述したファームウェアマシンコードが記憶されている第１領域〜第７領域２６〜３８と、プログラムとしてのブートプログラムが記述されているＩＰＬ（Initial Program Loader）を記憶するＩＰＬ領域４０と、を含んで構成されている。つまり、第１ファームウェアは、ＣＰＵ１０が実行すべき所定の処理内容を記述したファームウェアマシンコードと、ブートプログラムが記述されているＩＰＬと、を含んで構成されている。ＣＰＵ１０が実行すべき所定の処理内容を記述したファームウェアマシンコードと、ブートプログラムが記述されているＩＰＬとは第１ファームウェアに付加されている。
【００２０】
不揮発性メモリ１４は、ＥＥＰＲＯＭ、フラッシュＥＰＲＯＭ、バックアップＲＡＭなどのメモリである。
【００２１】
なお、本実施例では、初期状態（例えばシステム（製品）の組み立て段階）においては、第１領域〜第７領域２６〜３８には何も情報（ファームウェア）が記憶されていなくてもよい。その場合には、ファームウェア書き換えではなく書き込みになる。また、本実施例では、不揮発性メモリ１４に６４Ｋバイト×８ブロックに分割された４Ｍｂｉｔフラッシュメモリを用いているため、各領域を書き換え可能なブロック単位別の例で示したが、アドレスでブロック分けしてもよい。
【００２２】
インタフェース１６は、図１に示すように、着脱可能なメモリカード４が装着されているコネクタである。インタフェース１６は、ＵＳＢなどのようにケーブルを介しても、無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（Ｒ）のように無線タイプで通信するものでもよい。
【００２３】
ＲＡＭ１８は、主記憶、ワークエリア、受信バッファ、ページメモリ及び印刷バッファなどの一時保存用メモリとして利用されている。
【００２４】
セレクタ２０は、ＤＩＰスイッチ１２の書き換え制御回路起動信号に基づいて、メモリコントローラ２２の出力デバイスを選択する。なお、セレクタ２０は、メモリコントローラ２２の出力デバイスを選択することができるスイッチであってもよい。ここで例えば、出力デバイスとして不揮発性メモリ１４、インタフェース１６が選択された場合は、ファームウェア書き換え時のアドレスマッピングが施されるようになっている。
【００２５】
メモリカード４は、図２に示すように、第２ファームウェアが記憶されている第２ファームウェア領域４２を含んで構成されている。
【００２６】
第２ファームウェア領域４２は、ファームウェア書き換え情報が記憶されているファームウェア書き換え情報領域４４と、客先カスタマイズ情報が記憶されている客先カスタマイズ情報領域４６と、を含んで構成されている。さらに、第２ファームウェア領域４２は、管理情報が記憶されている管理情報領域４８と、プログラムとしての転送用プログラムが記述されるＩＰＬが記憶されているＩＰＬ領域５０と、を含んで構成されている。つまり、第２ファームウェアは、客先カスタマイズ情報と、管理情報と、転送用プログラムが記述されるＩＰＬと、を含んで構成されている。客先カスタマイズ情報と、管理情報と、転送用プログラムが記述されるＩＰＬとは、第２ファームウェアに付加されている。
【００２７】
ファームウェア書き換え情報領域４４には、ＣＰＵ１０が実行すべき所定の処理内容を記述した書き換え用ファームウェアマシンコード（ファームウェア書き換え情報）が記憶されている。
【００２８】
客先カスタマイズ情報領域４６には、印刷装置２を客先で使用する際の固有の情報である客先カスタマイズ情報が記憶されている。客先カスタマイズ情報は、例えば紙幅、印字速度、濃度、オートカッター（例えば、フルカット（完全切断）かパーシャルカット（部分切断））などである。なお、客先カスタマイズ情報領域４６は、多くの場合客先別のカスタマイズ情報になるため、単独書き換えが可能になるように、ファームウェア書き換え情報領域４４と分離されている。これにより、ファームウェアは共通でカスタマイズ情報のみを変更する場合、双方を切り分けておくと必要な書き換えだけで済むため、書き換え領域が少なくて済むようになる。またフラッシュメモリの書き換え寿命の低減などにつながる。
【００２９】
管理情報領域４８には、不揮発性メモリ１４上の第１領域〜第７領域２６〜３８の各管理情報が記憶されている。管理情報は、不揮発性メモリ１４上の第１領域〜第７領域２６〜３８の前回書き換え時の書き換え有無のステータスが記憶されている。例えば、管理情報領域４８は、不揮発性メモリ１４上の第１領域〜第７領域２６〜３８のそれぞれの書き換えフラグを持ち、書き換えフラグが“０”の場合、書き換え未（書き換えを行う）、書き換えフラグが“１”の場合、書き換え済み（書き換えを行わない）とし、全領域を書き換える場合は、すべてのフラグを“０”にした状態で行う。
【００３０】
ＩＰＬ領域５０には、ファームウェア書き換え情報領域４４に記憶されているファームウェア書き換え情報を、不揮発性メモリ１４へ転送させるための転送用プログラムが記述されるＩＰＬが記憶されている。
【００３１】
メモリカード４は、印刷装置２のインタフェース１６に装着することにより、ＣＰＵ１０からアクセスされる。
【００３２】
本実施の形態に係るシステムは、上述のように構成されており、以下その概略動作について説明する。本実施の形態に係るシステムの概略動作は、印刷装置２に設けられたＣＰＵ１０が実行するファームウェア書き換え方法を適用したシステムの概略動作例である。
【００３３】
ＣＰＵ１０は、図１に示すように、メモリコントローラ２２にアドレス信号を送出する。メモリコントローラ２２はＣＰＵ１０からのアドレス信号に基づいてアドレス、データ制御信号を発生する。一方、セレクタ２０はＤＩＰスイッチ１２の書き換え制御回路起動信号からメモリコントローラ２２の出力デバイスを選択する（切り換える）。もちろん、セレクタ２０がスイッチであった場合にはそのスイッチによって出力デバイスを選択するようにしてもよい。
【００３４】
これにより、セレクタ２０によって選択された出力デバイスとしての不揮発性メモリ１４のアドレス、データ制御信号に基づく領域に、アクセスすることができる。一方、セレクタ２０によって選択された出力デバイスとしてのメモリカード４のアドレス、データ制御信号に基づく領域に、インタフェース１６を介してアクセスすることができる。
【００３５】
ファームウェア書き換え時には、不揮発性メモリ１４に対してはライト（書き込み）動作となり、また、メモリカード４に対してはライト動作あるいはリード（読み出し）となる。この場合はＤＭＡ（Direct Memory Access）を用いてもよい。
【００３６】
本実施の形態に係るシステムの概略動作は、上述のように動作しており、以下ファームウェア書き換え時、あるいは最初のファームウェア書き込み時の処理動作について説明する。
【００３７】
図３は、本発明を適用した実施の形態に係るファームウェア書き換え方法を示すフローチャート図である。本実施の形態に係るファームウェア書き換え時、あるいは最初のファームウェア書き込み時の処理動作は以下のようになっている。
【００３８】
印刷装置２には、第１ファームウェアが記憶されている第１ファームウェア領域２４を含んで構成されている書き込み可能な不揮発性メモリ１４を設ける。第２ファームウェアが記憶されている第２ファームウェア領域４２を含んで構成されている書き込み可能で印刷装置２に対して着脱可能なメモリカード４を設ける（インタフェース１６を介して印刷装置２に装着する）。印刷装置２のＤＩＰスイッチ１２を書き換えモード（第１ファームウェア書き換えモード）の状態にする。
【００３９】
まず、図３に示すように、印刷装置２を起動する（ステップＳ１００）。印刷装置２の起動では、ＣＰＵ１０の電源がオンしてリセットが解除されると、ＣＰＵ１０は、不揮発性メモリ１４上のＩＰＬ領域４０に記憶されているＩＰＬをＲＡＭ１８にロード（コピー）し、ＩＰＬを実行する。
【００４０】
次に、ＣＰＵ１０は、外部設定情報（ＤＩＰスイッチ１２の状態及びメモリカード４の装着状態）を読み込む（ステップＳ１１０）。
【００４１】
具体的には、ＣＰＵ１０は、外部設定情報としてのＤＩＰスイッチ１２の書き換え制御回路起動信号を読み込む。また、ＣＰＵ１０は、外部設定情報としてのメモリカード４の応答信号（装着状態を示す信号）を読み込む。
【００４２】
次に、ＣＰＵ１０は、不揮発性メモリ１４上の第１ファームウェア領域２４が書き換え可能かどうかの判断を行う（ステップＳ１２０）。
【００４３】
ＣＰＵ１０は、以降、このまま起動を継続する（ステップＳ１９０へ）か、第１ファームウェア書き換えの為、メモリカード４上のＩＰＬの実行に切り換える（ステップＳ１３０へ）かの実行デバイスの選択を行う。
【００４４】
具体的には、ＣＰＵ１０は、印刷装置２が第１ファームウェア書き換えモードであるかを検出する。ＣＰＵ１０は、例えばＤＩＰスイッチ１２の書き換え制御回路起動信号から第１ファームウェア書き換えモードであることを検出する。
【００４５】
また、ＣＰＵ１０は、印刷装置２とメモリカード４とが双方向通信可能に接続されていることを応答信号（装着状態を示す信号）より検知する。ＣＰＵ１０は、第１ファームウェア書き換えモードの検出及び双方向通信可能の検知を不揮発性メモリ１４上のＩＰＬ領域４０に記憶されているＩＰＬを実行することにより行う。
【００４６】
次に、ＣＰＵ１０は、メモリカード４へアドレスを切り換える（ステップＳ１３０）。
【００４７】
具体的には、ＣＰＵ１０は、第１ファームウェア書き換えモードであることを検出するとともに、印刷装置２とメモリカード４とが双方向通信可能に接続されたことを検知すると、セレクタ２０を介し、メモリコントローラ２２の出力デバイスとしてメモリカード４を選択する（もちろん、スイッチによって選択するようにしてもよい）。
【００４８】
次に、ＣＰＵ１０は、メモリカード４上のＩＰＬ領域５０に記憶されているＩＰＬをＲＡＭ１８にロードし、ＩＰＬを実行する（ステップＳ１４０）。
【００４９】
次に、ＣＰＵ１０は、メモリカード４上の管理情報領域４８に記憶されている管理情報をＲＡＭ１８にロードし、管理情報の書き換えフラグに基づき不揮発性メモリ１４上の第１領域〜第７領域２６〜３８のうち書き換えを行う領域（所定の範囲）を決定する（ステップＳ１５０）。
【００５０】
具体的には、例えば上述したように管理情報の書き換えフラグが“０”の領域を書き換え対象とし、それに対応する不揮発性メモリ１４上の第１領域〜第７領域２６〜３８を書き換え領域とする。
【００５１】
次に、ＣＰＵ１０は、不揮発性メモリ１４の内容を、メモリカード４上のファームウェア書き換え情報領域４４に記憶されているファームウェア書き換え情報に書き換える（この処理手順については後述する）（ステップＳ１６０）。
【００５２】
具体的には、ＣＰＵ１０は、不揮発性メモリ１４上の第１領域〜第７領域２６〜３８の内、書き換え決定された領域を、メモリカード４上のファームウェア書き換え情報領域４４に記憶されているファームウェア書き換え情報に書き換える。このとき、メモリカード４から読み出されたファームウェア書き換え情報は、インタフェース１６、図示しないデータバスを経て不揮発性メモリ１４に書き込まれる。
【００５３】
次に、ＣＰＵ１０は、不揮発性メモリ１４上の第１領域〜第７領域２６〜３８の書き換えに関する情報に基づきメモリカード４上の管理情報領域４８に記憶されている管理情報を書き換える（更新する）（ステップＳ１７０）。
【００５４】
具体的には、ＣＰＵ１０は、不揮発性メモリ１４上の第１領域〜第７領域２６〜３８の書き換えを開始すると各領域を順番に書き換えていき、領域毎、書き換えが正常に終了した時点でメモリカード４上の管理情報領域４８に記憶されている管理情報を更新する。管理情報の更新は、例えば管理情報に含まれる書き換えフラグを“１”にセットする。ＣＰＵ１０は、不揮発性メモリ１４上の第１領域〜第７領域２６〜３８及びメモリカード４上の管理情報領域４８に記憶されている管理情報の書き換えを、メモリカード４上のＩＰＬ領域５０に記憶されているＩＰＬにより実行する。
【００５５】
これにより、ファームウェア書き換え途中で何らかの異常状態により、不揮発性メモリ１４の書き換えが中断しても、この書き換えフラグを見ることによって、再度書き換えを行う場合、中断前から再開できる。
【００５６】
また異常終了の判定以外にも、不揮発性メモリ１４上の各領域中の任意の領域のみの書き換えを行いたい場合、上記書き換えフラグを調整することで可能になる。
【００５７】
最後に、ＣＰＵ１０は、書き換えが正常に終了したことを判断する（ステップＳ１８０）。
【００５８】
具体的には、例えば上述したように管理情報の書き換えフラグが全て“１”になっていることを確認する。
【００５９】
電源オフ（ｏｆｆ）後、ＤＩＰスイッチ１２（あるいはスイッチ）によって、通常モード（非第１ファームウェア書き換えモード）に戻す。及び、アクセスを終了し、印刷装置２からメモリカード４を取り外すことができる状態にする。
【００６０】
なお、ステップＳ１２０で第１ファームウェア書き換え不可能と判断された場合、このまま通常起動を継続する（ステップＳ１９０）。その場合、ＣＰＵ１０は、ＲＡＭ１８上のＩＰＬにＯＳ（Operating System）のカーネル（ＯＳの中核部分）などをロードするためのプログラム、またはプログラムのアドレスが格納されているので通常起動する。
【００６１】
また本実施例では、図２に示すように、不揮発性メモリ１４及びメモリカード４に対するアドレスは、１６進法表現でアドレスマッピングされるようになっている。
【００６２】
すなわち、不揮発性メモリ１４においては、図２に示すように、第１ファームウェア領域２４は、先頭アドレス「０００００」〜最終アドレス「７ＦＦＦＦ」にアドレスマッピングされるようになっている。
【００６３】
その内、第１領域２６は、先頭アドレス「０００００」〜最終アドレス「０ＦＦＦＦ」に、第２領域２８は、先頭アドレス「１００００」〜最終アドレス「１ＦＦＦＦ」に、それぞれアドレスマッピングされるようになっている。また、第３領域３０は、先頭アドレス「２００００」〜最終アドレス「２ＦＦＦＦ」に、第４領域３２は、先頭アドレス「３００００」〜最終アドレス「３ＦＦＦＦ」に、それぞれアドレスマッピングされるようになっている。さらに、第５領域３４は、先頭アドレス「４００００」〜最終アドレス「４ＦＦＦＦ」に、第６領域３６は、先頭アドレス「５００００」〜最終アドレス「５ＦＦＦＦ」に、それぞれアドレスマッピングされるようになっている。さらにまた、第７領域３８は、先頭アドレス「６００００」〜最終アドレス「６ＦＦＦＦ」に、ＩＰＬ領域４０は、先頭アドレス「７００００」〜最終アドレス「７ＦＦＦＦ」に、それぞれアドレスマッピングされるようになっている。
【００６４】
第１ファームウェア領域２４は、合計８ブロックにアドレスマッピングされるようになっている。なお、本実施例では、不揮発性メモリ１４に６４Ｋバイト×８ブロックに分割された４Ｍｂｉｔフラッシュメモリを用いた。このためアドレスマップを書き換え可能なブロック単位別の例で示したが、アドレスでブロック分けしてもよい。
【００６５】
これに対し、メモリカード４においては、図２に示すように、第２ファームウェア領域４２は、ＣＰＵアドレス空間上の先頭アドレス「８００００」〜最終アドレス「１０ＦＦＦＦ」にアドレスマッピングされるようになっている。
【００６６】
その内、ファームウェア書き換え情報領域４４は、ＣＰＵアドレス空間上の先頭アドレス「８００００」〜最終アドレス「ＤＦＦＦＦ」に、客先カスタマイズ情報領域４６は、先頭アドレス「Ｅ００００」〜最終アドレス「ＥＦＦＦＦ」に、それぞれアドレスマッピングされるようになっている。また、管理情報領域４８は、先頭アドレス「Ｆ００００」〜最終アドレス「ＥＦＦＦＦ」に、ＩＰＬ領域５０は、先頭アドレス「１０００００」〜最終アドレス「１０ＦＦＦＦ」に、それぞれアドレスマッピングされるようになっている。
【００６７】
第２ファームウェア領域４２は、合計４ブロックにアドレスマッピングされるようになっている。
【００６８】
本実施の形態に係るファームウェア書き換え時、あるいは最初のファームウェア書き込み時の処理動作は、上述のように動作しており、以下メモリカード４のＩＰＬの処理手順について説明する。
【００６９】
図４は、本発明を適用した実施の形態に係るメモリカードのＩＰＬの処理手順を示すフローチャート図である。本実施の形態に係るメモリカードのＩＰＬの処理手順は以下のようになっている。なお、以下に説明する「」内の値は１６進法で表現された値である。
【００７０】
ＣＰＵ１０の電源がオンしてリセットが解除されると、ＣＰＵ１０は、スタートアドレス（本実施例では「ＦＦＦＦ０」）で指定されている内容に従って、不揮発性メモリ１４上のＩＰＬ領域４０の先頭アドレス（本実施例では、図２に示すように、「７００００」）にジャンプする。ＣＰＵ１０は、第１ファームウェア書き換えモードであることを検出するとともに、印刷装置２とメモリカード４とが双方向通信可能に接続されたことを検知すると、メモリカード４上のＩＰＬ領域５０の先頭アドレス（本実施例では「１０００００」）にジャンプする。
【００７１】
その後、ＣＰＵ１０は、図４に示すように、レジスタなどの値を初期化する（ステップＳ３００）。
【００７２】
次に、“Ｘ”をメモリカード４上のファームウェア書き換え情報領域４４の先頭アドレスと定義し、“Ｙ”を不揮発性メモリ１４の先頭アドレスと定義し、“Ｌ”をメモリカード４上の客先カスタマイズ情報領域４６の最終アドレスと定義する（ステップＳ３１０）。なお、本実施例においては、Ｘの値は「８００００」に、Ｙの値は「０００００」に、Ｌの値は「ＥＦＦＦＦ」に、それぞれ定義されている。
【００７３】
次に、ＣＰＵ１０は、Ｘ番地の内容をＹ番地へ転送する（ステップＳ３２０）。
【００７４】
その後、“Ｘ”を（Ｘ＋１）と、また“Ｙ”を（Ｙ＋１）と、それぞれ再定義する（ステップＳ３３０）。
【００７５】
さらに、Ｘの値が、Ｌの値よりも大きいか否かを判断する（ステップＳ３４０）。この判断の結果、小さい場合には上記ステップＳ３２０に戻り、このステップ以降を実行し、一方、大きい場合は処理を終了する。
【００７６】
本実施の形態によれば、メモリカード４に第１ファームウェア書き換えに関する管理情報を記憶することにより、第１ファームウェア書き換え時に書き換え失敗などで中断されても、メモリカード４の記憶情報に基づき中断後から書き換えを行うことができる。このため正常に書き換えた箇所を繰り返し書き換えることがなく、第１ファームウェアの書き換えを無駄なく容易に行うことが可能となる。
【００７７】
なお、本発明は、上述した実施の形態に限定されるものではなく、種々の変形が可能である。例えば、本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、或いは目的及び結果が同一の構成）を含む。また本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。さらに、本発明は、実施の形態で説明した技術的事項のいずれかを限定的に除外した内容を含む。或いは、本発明は、上述した実施の形態から公知技術を限定的に除外した内容を含む。
【図面の簡単な説明】
【００７８】
【図１】本発明を適用した実施の形態に係るファームウェア書き換え方法を適用した印刷装置を例とするシステムを示すブロック図である。
【図２】本発明を適用した実施の形態に係るファームウェア書き換え時の制御装置側の不揮発性メモリ及び外部記憶装置側のメモリカードのアドレスマッピングを説明するための図である。
【図３】本発明を適用した実施の形態に係るファームウェア書き換え方法を示すフローチャート図である。
【図４】本発明を適用した実施の形態に係るメモリカードのＩＰＬの処理手順を示すフローチャート図である。
【符号の説明】
【００７９】
２…印刷装置（制御装置）  ４…メモリカード（外部記憶装置）  １０…中央処理装置（ＣＰＵ）（制御手段）  １２…ＤＩＰスイッチ  １４…不揮発性メモリ（記憶手段）  １６…インタフェース  １８…ＲＡＭ  ２０…セレクタ  ２２…メモリコントローラ  ２４…第１ファームウェア領域  ２６…第１領域  ２８…第２領域  ３０…第３領域  ３２…第４領域  ３４…第５領域  ３６…第６領域  ３８…第７領域  ４０…ＩＰＬ領域  ４２…第２ファームウェア領域  ４４…ファームウェア書き換え情報領域  ４６…客先カスタマイズ情報領域  ４８…管理情報領域  ５０…ＩＰＬ領域。
【図１】
2008027331.tif 000003
【図２】
2008027331.tif 000004
【図３】
2008027331.tif 000005
【図４】
2008027331.tif 000006