(57)【要約】      （修正有）【課題】ファームウェアの書き換えを不必要に制限することなく、不適切なファームウェアへの書き換えのみを確実に防止する。【解決手段】プリンター１のファームウェアは、メインルーチンと、ファームウェア書換ルーチンと、ファームウェアの書換の可否を判定するための判定情報を備える。プリンター１の記憶部４内にはファームウェア記憶領域が設けられ、ファームウェア記憶領域の先頭のブートセクターに判定情報を書き込むための判定領域が設けられている。プリンター１の制御部３は、ファームウェア書換処理を開始すると、先頭の１セクター分の書換データをまず受信して、判定領域として設定された固定アドレスへの書換データである判定情報を取得し、この判定情報に基づいてファームウェアの書換処理を完了させるか中止させるかを決定する。【選択図】図１
2013125405.tif 000002
【特許請求の範囲】
【請求項１】
電子機器におけるファームウェア書換方法であって、
前記電子機器におけるファームウェア記憶領域の一部が、ファームウェアの書き換えの可否を判定するための判定領域に設定されており、
前記電子機器の制御部は、
前記ファームウェアの書換命令が入力されたことに基づき、前記ファームウェアを書き換えるための書換データの取得を開始して、前記判定領域を書き換えるための部分データを取得する第１ステップと、
当該取得した部分データの内容に基づき、前記ファームウェアの書き換えの可否を判定する第２ステップとを行い、
少なくとも、当該第２ステップにおいて書き換え可と判定された場合、前記ファームウェアの書き換えを完了させることを特徴とするファームウェア書換方法。
【請求項２】
請求項１において、
前記電子機器は、前記ファームウェアによる制御の対象となる複数の部品を備えており、
前記判定領域は、前記複数の部品の少なくとも１つの情報が書き込まれるデータ領域であることを特徴とするファームウェア書換方法。
【請求項３】
請求項１または２において、
前記電子機器の制御部は、
前記第２ステップにおいて、前記判定領域から読み出したデータと、前記部分データとを比較して、両データが異なる場合には書き換え不可と判定することを特徴とするファームウェア書換方法。
【請求項４】
請求項１または２おいて、
前記電子機器の制御部は、
前記第２ステップにおいて、前記判定領域から読み出したデータと、前記部分データとの新旧を判定し、前記部分データが前記判定領域から読み出したデータ以降のものであった場合のみ、書き換え可と判定することを特徴とするファームウェア書換方法。
【請求項５】
請求項１ないし４のいずれかの項において、
前記判定領域は、前記ファームウェア記憶領域において最初にデータの書き換えが行われる単位データ領域内に設けられていることを特徴とするファームウェア書換方法。
【請求項６】
請求項１ないし５のいずれかの項において、
前記電子機器は、プリンターあるいはプリンターを備える機器であり、
前記判定領域は、前記プリンターにおけるサーマルヘッドあるいはモーターの部品情報が書き込まれるデータ領域であることを特徴とするファームウェア書換方法。
【請求項７】
電子機器の制御部に、請求項１ないし６のいずれかの項に記載のファームウェア書換方法を実行させるためのファームウェア書換プログラムと、
前記電子機器を制御するためのファームウェア本体と、
前記ファームウェアの書き換えの可否を判定するための判定情報とを有し、
当該判定情報は、前記電子機器のファームウェア記憶領域における予め設定したデータ領域に書き込まれることを特徴とするファームウェア。
【請求項８】
請求項７に記載のファームウェアが書き込まれるファームウェア記憶領域を有し、
当該ファームウェア記憶領域の一部が、前記ファームウェアの書き換えの可否を判定するための判定領域に設定されていることを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器およびこれを制御するためのファームウェア、ならびにその書換方法に関する。
【背景技術】
【０００２】
プリンターなどの電子機器には、この電子機器を構成している各種装置や部品を制御するためのファームウェアが組み込まれている。電子機器の構成部品をファームウェアによる制御上互換性のないものに変更する場合には、ファームウェアの変更が必要となり、電子機器に組み込まれたファームウェアの書き換えが行われる。また、ファームウェアを書き換えることにより、電子機器の構成部品の制御のみを変更して、機能を改善したり、不要な機能が働かないようにすることもできる。
【０００３】
このように、ファームウェアは電子機器の構成部品に適合させる必要があり、誤って構成部品に適合しないファームウェアを組み込んでしまうと、間違った制御により部品が損傷したり、動作不能になるなどの不具合が発生してしまう。そこで、このような事態を避けるため、各種の方法が用いられている。例えば、電子機器に機種ＩＤを組み込んでおき、機種ＩＤを用いてファームウェアの書き換えの可否を判定している。
【０００４】
また、特許文献１には、間違ったファームウェアに書き換えてしまった場合に対処できるようにした電子機器（ファクシミリ複合装置）が開示されている。特許文献１のファクシミリ複合装置は、ファームウェアを書き換える場合には、現在のファームウェアを一旦メモリに退避させた上で、新しいファームウェアに書き換える。書き換え後、再起動できないときは、新しいファームウェアが適合していない旨の入力を行うことにより、退避させておいたファームウェアに再度書き換えて、元の状態に復帰させることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１３９９６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の構成では、間違ったファームウェアに書き換えてしまった場合に元の状態に復帰させることはできるが、間違ったファームウェアへの書き換えそのものを防止することはできない。また、機種ＩＤを用いて書き換えの可否を判定する場合には、異なる機種用のファームウェアへの書き換えは防止できるが、同一機種において、不具合対応や部品の一部の変更に対応するためにファームウェアをアップグレードしていた場合には、古いファームウェアであっても同一機種用のものと認識されるため、書き換えが許可されてしまう。
【０００７】
プリンターなどの電子機器では、古い機種を使い続ける場合、部品の供給終了などによって構成部品の一部を他の部品に切り替えることがあり、これに伴い、新しいファームウェアにアップグレードされることがある。この場合、変更前の部品構成に対応した古いファームウェアを機種ＩＤで判別できないため、古いファームウェアへの書き換え（ダウングレード）を防止することができない。機種ＩＤを変更すれば判別可能になるが、この場合、ファームウェアの更新（アップグレード）までも不可能になってしまうという不都合が生じる。
【０００８】
現在とは異なる古い部品構成の電子機器に適合したファームウェアへのダウングレードを防止するためには、ファームウェアのバージョン情報に基づいて書き換えの可否を判定することも考えられるが、単に古いバージョンへの書き換えを禁止するだけでは、部品の損傷や動作不能などの問題を引き起こすことのない安全なバージョンへのダウングレードまでも禁止されてしまい、ファームウェアの書き換えが不必要に制限されてしまう。
【０００９】
本発明の課題は、このような点に鑑みて、ファームウェアの書き換えを不必要に制限することなく、不適切なファームウェアへの書き換えのみを確実に防止できるファームウェア書換方法およびファームウェア、ならびに電子機器を提供することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するため、本発明は、電子機器におけるファームウェア書換方法であって
前記電子機器におけるファームウェア記憶領域の一部が、ファームウェアの書き換えの可否を判定するための判定領域に設定されており、
前記電子機器の制御部は、
前記ファームウェアの書換命令が入力されたことに基づき、前記ファームウェアを書き換えるための書換データの取得を開始して、前記判定領域を書き換えるための部分データを取得する第１ステップと、
当該取得した部分データの内容に基づき、前記ファームウェアの書き換えの可否を判定する第２ステップとを行い、
少なくとも、当該第２ステップにおいて書き換え可と判定された場合、前記ファームウェアの書き換えを完了させることを特徴としている。
【００１１】
本発明では、このように、ファームウェアを書き換えるにあたって、ファームウェア記憶領域の予め設定した領域（判定領域）を書き換えるための部分データを取得して、このデータ内容に基づき、ファームウェアの書き換えの可否を判定している。このようにすると、ファームウェア記憶領域の中の固定アドレス（判定領域）に書き込むための部分データのみを参照すればよいため、書き換えの可否を容易に判定できる。また、判定領域に書き込む情報は、単なるバージョン情報とは異なり、ファームウェアと電子機器との適合性を判別できる内容とするように適宜設定できる。従って、判定領域への書換データを参照することにより、不適切なファームウェアへの書き換えのみを禁止できる。よって、ファームウェアの書き換えを不必要に制限することなく、不適切なファームウェアへの書き換えを確実に防止できる。
【００１２】
本発明において、前記電子機器は、前記ファームウェアによる制御の対象となる複数の部品を備えており、前記判定領域は、前記複数の部品の少なくとも１つの情報が書き込まれるデータ領域であることが望ましい。部品情報によって制御上の互換性を識別できるため、このような構成により、電子機器を正しく制御することのできないファームウェアへの書き換えのみを防止できる。
【００１３】
ここで、前記電子機器の制御部は、前記第２ステップにおいて、前記判定領域から読み出したデータと、前記部分データとを比較して、両データが異なる場合には書き換え不可と判定するように構成できる。このようにすると、共通の判定情報を有するファームウェア同士のみ書き換えが可能となり、他のファームウェアへの書き換えを禁止できる。
【００１４】
あるいは、前記電子機器の制御部は、前記第２ステップにおいて、前記判定領域から読み出したデータと、前記部分データとの新旧を判定し、前記部分データが前記判定領域から読み出したデータ以降のものであった場合のみ、書き換え可と判定するように構成できる。このようにすると、より古い判定情報を有するファームウェアへの書き換えのみを禁止できる。
【００１５】
本発明において、前記判定領域は、前記ファームウェア記憶領域において最初にデータの書き換えが行われる単位データ領域内に設けられていることが望ましい。このようにすると、書き換え処理の開始後、最初の単位データを取得した段階で書き換えの可否を判定できるため、短時間で書き換えの可否を決定できる。
【００１６】
また、本発明において、前記電子機器は、プリンターあるいはプリンターを備える機器であり、前記判定領域は、前記プリンターにおけるサーマルヘッドあるいはモーターの部品情報が書き込まれるデータ領域である。サーマルヘッドやモーターは、長期にわたって機器を使い続ける場合には、部品の供給終了などによって他の部品に切り替えられることがあり、このような場合には、ファームウェアも変更され、古いファームウェアでは新しい部品を制御不能である。よって、不適切なファームウェアへの書き換えを防止することにより、サーマルヘッドやモーターの損傷、動作不能などを防止できる。
【００１７】
次に、本発明のファームウェアは、
電子機器の制御部に、上記のファームウェア書換方法を実行させるためのファームウェア書換プログラムと、
前記電子機器を制御するためのファームウェア本体と、
前記ファームウェアの書き換えの可否を判定するための判定情報とを有し、
当該判定情報は、前記電子機器のファームウェア記憶領域における予め設定したデータ領域に書き込まれることを特徴としている。
【００１８】
また、本発明の電子機器は、
上記のファームウェアが書き込まれるファームウェア記憶領域を有し、
当該ファームウェア記憶領域の一部が、前記ファームウェアの書き換えの可否を判定するための判定領域に設定されていることを特徴としている。
【発明の効果】
【００１９】
本発明によれば、ファームウェアを書き換えるための書換データの中から、ファームウェア記憶領域の中の固定アドレス（判定領域）に書き込むための部分データのみを参照すればよいため、書き換えの可否を容易に判定できる。また、判定領域に書き込む情報は、単なるバージョン情報とは異なり、ファームウェアと電子機器との適合性を判別できる内容とするように適宜設定できる。従って、判定領域への書換データを参照することにより、不適切なファームウェアへの書き換えのみを禁止できる。よって、ファームウェアの書き換えを不必要に制限することなく、不適切なファームウェアへの書き換えを確実に防止できる。
【図面の簡単な説明】
【００２０】
【図１】本発明を適用したプリンターの構成図である。
【図２】ファームウェアを記憶するＦＲＯＭの構成を示す説明図である。
【図３】判定情報および判定領域の例を示す説明図である。
【図４】プリンターにおけるファームウェアの書換処理のフローチャートである。
【発明を実施するための形態】
【００２１】
以下、図面を参照しながら、本発明を適用したファームウェアを備えるプリンター、およびこのプリンターにおけるファームウェア書換方法の実施形態を説明する。
【００２２】
（プリンター）
図１は本発明を適用したプリンターの構成図であり、図２はファームウェアを記憶するＦＲＯＭの構成を示す説明図である。図１に示すように、プリンター１（電子機器）は、印刷機構２、制御部３、記憶部４、通信部５などを備えている。印刷機構２は、サーマルヘッド２１、プラテンローラー２２、駆動源としてのモーター２３などを備える公知の構成である。制御部３は、ＣＰＵなどのプロセッサーであり、通信部５から入力された制御コマンドや印刷データ、および、記憶部４から読み出したプログラムやデータなどに基づき、プリンター１の各部を制御している。
【００２３】
記憶部４は、ＦｌａｓｈＲＯＭ４１（以下、ＦＲＯＭ４１という）、ＲＡＭ４２などのメモリを備えている。図２に示すように、ＦＲＯＭ４１は、ファームウェアを記憶させるためのファームウェア記憶領域４３として用いられている。なお、ＦＲＯＭ４１の一部をファームウェア記憶領域４３とし、残りの領域を他のデータを記憶させるためのストレージ領域としてもよい。ＦＲＯＭ４１は複数のセクター４４に分割されており、各セクター４４毎にデータの書き込みや消去が行われる。ファームウェア記憶領域４３における先頭の１セクターはブートセクター４５であり、ブートセクター４５の一部が、ファームウェアの書き換えの可否の判定に用いる判定領域４６となっている。
【００２４】
（ファームウェア）
本例のファームウェアは、プリンター１の各部の制御機能を実現するためのメインルーチン（ファームウェア本体）と、ファームウェアの書換処理を行うためのファームウェア書換ルーチン（ファームウェア書換プログラム）を備えている。これらは、ファームウェア記憶領域４３内の予め設定された位置および数のセクター４４に書き込まれる。また、本例のファームウェアは、ブートセクター４５内の判定領域４６に書き込まれる判定情報を備えている。判定情報は、ファームウェアによる制御の対象となる構成部品、例えば、サーマルヘッド２１およびモーター２３の仕様に対応したデータである。ファームウェアによる制御上互換性のある部品構成に対しては同一の判定情報が設定され、互換性のない部品構成に対しては異なる判定情報が設定されている。
【００２５】
図３は判定情報および判定領域の例を示す説明図である。図３（ａ）に示す例１および図３（ｂ）に示す例２は、いずれも、当初の設計とは制御上互換性のない部品に変更した場合に行われるファームウェアのバージョンアップの際には、バージョンアップの前後の各ファームウェアに異なる判定情報を持たせたことを示している。
【００２６】
図３（ａ）に示す例１は、同一機種のプリンター１に対する新旧２つのバージョンのファームウェアを示している。古いファームウェアＦ１０（バージョン１．０）は、当初の設計どおりのサーマルヘッド２１が搭載されているプリンター１に適合したファームウェアである。一方、新しいファームウェアＦ１１（バージョン１．１）は、サーマルヘッド２１を当初の部品とは異なる制御が必要な新しい部品に変更したプリンター１に適合したファームウェアである。例１のファームウェアＦ１０、Ｆ１１は、ファームウェア記憶領域４３におけるブートセクター４５内の末尾のデータ領域を判定領域４６として用いており、ここに書き込まれる判定情報を備えている。古い方のファームウェアＦ１０における判定情報は、プリンター１の現在の（新しい方の）仕様では使われることのない隠しデータである。一方、新しい方のファームウェアＦ１１では、判定領域４６にデータが存在しない状態になっており、判定情報はブランクデータとなっている。
【００２７】
一方、図３（ｂ）に示す例２は、同一機種のプリンター１に対して、構成部品の変更に伴って制御を変更するためのバージョンアップと、構成部品の制御上は互換性があるがこれ以外の点が変更されたバージョンアップが混在して行われている場合の例であり、バージョン１．００〜バージョン１．０５までの６種類のバージョンのファームウェアを示している。例２のファームウェアＦ２０〜Ｆ２５は、ファームウェア記憶領域４３におけるブートセクター４５内の先頭のデータ領域（例えば、１ｂｙｔｅ）を判定領域４６として用いており、ここに書き込まれる判定情報を備えている。例２の判定情報は、サーマルヘッド２１とモーター２３の組み合わせを示している。両部品が当初の設計どおりの部品で構成されている場合には、判定情報を「０」とし、サーマルヘッド２１のみ部品を変更した場合には「１」とし、サーマルヘッド２１とモーター２３の両方を新部品に変更した場合には「２」とする。
【００２８】
例２では、古い方の３つのファームウェアＦ２０〜Ｆ２２（バージョン１．００〜１．０２）は、サーマルヘッド２１およびモーター２３として、当初の設計どおりの部品を搭載したプリンター１に適合しており、判定情報は「０」に設定されている。次に、ファームウェアＦ２２からＦ２３（バージョン１．０２から１．０３）へのバージョンアップは、サーマルヘッド２１の当初部品から新部品への変更に対応しているため、ファームウェアＦ２３（バージョン１．０３）では、判定情報が「１」に変更されている。ファームウェアＦ２４（バージョン１．０４）は、ファームウェアＦ２３と同様に、サーマルヘッド２１は新部品、モーター２３は当初部品である構成に適合しているため、判定情報は「１」となっている。更に、ファームウェアＦ２４からＦ２５（一方、バージョン１．０４から１．０５）へのバージョンアップは、モーター２３の当初部品から新部品への変更に対応している。このため、ファームウェアＦ２５（バージョン１．０５）では、判定情報は「２」に変更されている。
【００２９】
（ファームウェアの書換方法）
図４は、プリンター１におけるファームウェアの書換処理のフローチャートであり、図４（ａ）は処理全体の流れ、図４（ｂ）〜（ｄ）は書き換えの可否判定処理を示している。プリンター１の制御部３は、通信部５を介して上位装置からファームウェアの書き換えを指示する制御コマンドを受信すると、ファームウェアの書換処理を開始する。まず、ステップＳ１において、制御部３は、現時点のファームウェア記憶領域４３からファームウェア書換ルーチンを読み出し、ＲＡＭ４２に展開する。制御部３は、以降の処理を、立ち上げたファームウェア書換ルーチンに基づいて行う。次に、ステップＳ２（第１ステップの前半）において、上位装置からファームウェアの書換データの受信を開始する。本例では、各セクター４４毎にデータの書き換えを行うため、まず、先頭の１セクター分の書換データを受信し、受信したデータをＲＡＭ４２に格納する。
【００３０】
本例では、先頭のセクター（ブートセクター４５）に判定領域４６が設けられているため、この段階で、判定情報を取得することができる。そこで、ステップＳ３（第１ステップの後半）では、制御部３は、受信した先頭の１セクター分の書換データから、判定領域４６に書き込むように指定されているデータ、言い換えれば、新たなファームウェアにおける判定情報（部分データ）を抽出する。
【００３１】
次に、ステップＳ４（第２ステップ）では、制御部３は、書換データから抽出した判定情報に基づき、ファームウェアの書き換えの可否を判定する。書き換え可と判定した場合には（ステップＳ４：Ｙｅｓ）、ステップＳ５ａに進む。ステップＳ５ａでは、ファームウェアの書換処理を完了させる。すなわち、受信が完了している１セクター分のデータを用いて先頭のセクターを書き換えた後、順次１セクター分ずつ書換データを受信して、ファームウェアを完全に書き換える。一方、書き換え不可と判定した場合には（ステップＳ４：Ｎｏ）、ステップＳ５ｂに進む。ステップＳ５ｂでは、書換処理を中止する処理を行う。
【００３２】
ステップＳ４における判定処理の具体的内容は、判定情報をどのように設定するかによって異なる。図４（ｂ）は、図３（ａ）の例１の場合における書き換え可否の判定処理を示している。この処理では、ステップＳ３で書換データから抽出した判定情報がブランクデータであるか否かを判定するステップＳ４１のみを行う。ブランクデータである場合（ステップＳ４１：Ｙｅｓ）には、書き換え可と判定し、ステップＳ５ａに進む。一方、ブランクデータでない場合（ステップＳ４１：Ｎｏ）には、書き換え不可と判定し、ステップＳ５ｂに進む。このような判定処理を行うことにより、例１では、新しいファームウェアＦ１１への書き換えのみが許可され、他のバージョンへの書き換えは不能になる。よって、誤って古いファームウェアＦ１０に書き換えてしまうことを自動で検出して中止できる。
【００３３】
一方、図４（ｃ）は、図３（ｂ）の例２の場合における書き換え可否の判定処理を示している。この処理では、制御部３は、まず、ステップＳ４２において、現行ファームウェアにおける判定領域４６に書き込まれている情報を読み出す。続いて、ステップＳ４３に進み、現行ファームウェアにおける判定情報（判定領域４６から読み出した情報）と、書換データから抽出した書き換え用の判定情報の新旧を判定する。例２では、古い判定情報に「１」を加算したものを新しい判定情報として用いているため、判定情報の新旧は、判定情報の大小によって判定できる。書き換え用の判定情報が、現在の判定情報以降のものであると判定された場合（ステップＳ４３：Ｙｅｓ）には、書き換え可と判定し、ステップＳ５ａに進む。例えば、例２において、書き換え用の判定情報が「１」であり、現在の判定情報が「０」の場合には、書き換え可と判定する。一方、書換データから抽出した判定情報の方が古いと判定された場合（ステップＳ４３：Ｎｏ）には、書き換え不可と判定し、ステップＳ５ｂに進む。例えば、例２において、書き換え用の判定情報が「１」であり、現在の判定情報が「２」の場合には、書き換え不可と判定する。
【００３４】
このような判定処理を行うことにより、例２では、ファームウェアＦ２３（バージョン１．０３）からそれ以前のバージョンへの変更と、ファームウェアＦ２５（バージョン１．０５）からそれ以前のバージョンへの変更が禁止され、他の書き換えは許可される。よって、古い部品構成に適合したバージョンへの書き換えのみを防止でき、アップグレードは禁止しないようにすることができる。また、部品構成に変更がない範囲でのダウングレード、例えば、判定情報がいずれも「１」であるファームウェアＦ２４（バージョン１．０４）からＦ２３（バージョン１．０３）へのダウングレードについては許可することができる。
【００３５】
また、図４（ｄ）は、例１、例２の両方に適用可能な判定処理である。この処理では、制御部３は、まず、図４（ｃ）の処理と同様に、ステップＳ４２を行い、現行ファームウェアにおける判定情報を抽出する。続いて、ステップＳ４４に進み、現行ファームウェアにおける判定情報と、書換データから抽出した判定情報が一致するか否かを判定する。一致する場合（ステップＳ４４：Ｙｅｓ）には、書き換え可と判定し、ステップＳ５ａに進む。一方、一致しない場合（ステップＳ４４：Ｎｏ）には、書き換え不可と判定し、ステップＳ５ｂに進む。このような判定処理を行うことにより、例１と例２のいずれにおいても、部品構成の異なるファームウェアへの書き換えが禁止され、部品構成に変更のない範囲でのファームウェアへの書き換えのみが許可される。
【００３６】
（発明の効果）
以上のように、本例では、プリンター１のファームウェア記憶領域４３の固定アドレス、例えば、先頭のセクターの中の先頭のアドレスや末尾のアドレスなどに、ファームウェアの書換の可否を判定するための判定情報を記憶させている。このため、ファームウェアの書き換え時にこの情報を容易に参照でき、書き換えの可否を容易に判定できる。判定情報は、単なるバージョン情報とは異なり、ファームウェアと電子機器との適合性を判別できる内容に適宜設定できる。例えば、本例のように、サーマルヘッド２１やモーター２３などのファームウェアの制御下にある部品の新旧やその組み合わせなどの部品情報を用いることにより、部品の変更に伴う制御上の互換性の有無を識別可能な判定情報を設定できる。これにより、プリンター１を正しく制御することのできないファームウェアへの書き換えのみを許可せず、正しく制御できるファームウェアへの書き換えについては許可するように構成できる。従って、プリンター１におけるファームウェアの書き換えを不必要に制限することなく、不適切なファームウェアへの書き換えを確実に防止できる。
【００３７】
また、本例では、ファームウェア記憶領域４３における最初にデータが書き換えられる単位データ領域であるブートセクター４５に判定領域を設けている。従って、書き換え処理の開始後、最初の１セクター分のデータを取得した段階で書き換えの可否を判定できる。よって、書換処理の初期段階で書き換えの可否を判定でき、短時間で書き換えの可否を判定できる。特に、例２のように、ブートセクター４５の先頭に判定領域４６を設けることにより、最も早い段階で書き換えの可否を決定できる。
【００３８】
（他の実施形態）
上記実施形態は、プリンター１およびそのファームウェアの書換方法に本発明を適用したものであったが、本発明は、ファームウェアによって制御を行う各種の電子機器に適用可能である。例えば、プリンターを備える各種機器、スキャナー、ファクシミリ、プロジェクターなどにも適用可能である。この場合には、判定情報の内容や対応させる部品構成は装置構成に応じて適宜設定すればよく、モーターやヘッド以外の部品情報を判定情報として用いることができる。
【符号の説明】
【００３９】
１…プリンター（電子機器）、２…印刷機構、３…制御部、４…記憶部、５…通信部、２１…サーマルヘッド、２２…プラテンローラー、２３…モーター、４１…ＦｌａｓｈＲＯＭ（ＦＲＯＭ）、４２…ＲＡＭ、４３…ファームウェア記憶領域、４４…セクター、４５…ブートセクター、４６…判定領域、Ｆ１０、Ｆ１１…ファームウェア、Ｆ２０〜Ｆ２５…ファームウェア
【図１】
2013125405.tif 000003
【図２】
2013125405.tif 000004
【図３】
2013125405.tif 000005
【図４】
2013125405.tif 000006