(57)【特許請求の範囲】
【請求項１】
電子機器の動作を制御する制御用ファームウェアを記憶したマイコンシステムに、通信手段を介して接続されたホストコンピュータから別の制御用ファームウェアをダウンロードして前記マイコンシステムの制御用ファームウェアを書き換えるプログラム書き換え装置において、
前記マイコンシステムは、前記マイコンシステムを起動する起動プログラムと前記ホストコンピュータとの通信を行う通信プログラムとを有する起動用ファームウェアを記憶した第１ＲＯＭと、前記ホストコンピュータからダウンロードしたデータを一時記憶するＲＡＭと、制御用ファームウェアを記憶する第２ＲＯＭとを備え、
第２ＲＯＭに記憶された制御用ファームウェアを消去するための消去プログラムと、第２ＲＯＭに制御用ファームウェアを書き込むための書き込みプログラムとを前記ホストコンピュータに配置し、前記ホストコンピュータから前記消去プログラムをダウンロードして第２ＲＯＭの制御用ファームウェアを消去した後、前記ホストコンピュータから前記書き込みプログラムをダウンロードして第２ＲＯＭに別の制御ファームウェアを書き込むことを特徴とするプログラム書き換え装置。
【請求項２】
前記ホストコンピュータから制御用ファームウェアを分割したブロック毎にダウンロードして前記ＲＡＭに記憶するとともに、前記ＲＡＭから第２ＲＯＭに前記ブロック毎に制御用ファームウェアを書き込み、前記ＲＡＭに記憶された制御用ファームウェアの前記ブロックは次にダウンロードされる前記ブロックにより順次上書きされることを特徴とする請求項１に記載のプログラム書き換え装置。
【請求項３】
第２ＲＯＭ内に当初記憶された初期バージョンの制御用ファームウェアを、前記起動用ファームウェア内に含んだことを特徴とする請求項１または請求項２に記載のプログラム書き換え装置。
【請求項４】
第１ＲＯＭは部分的に消去、書き込み可能な不揮発性メモリから成り、第２ＲＯＭを第１ＲＯＭと兼用したことを特徴とする請求項１〜請求項３のいずれかに記載のプログラム書き換え装置。
【請求項５】
第１ＲＯＭはマスクＲＯＭ、ＰＲＯＭ、フラッシュメモリのいずれかから成ることを特徴とする請求項１〜請求項３のいずれかに記載のプログラム書き換え装置。
【請求項６】
電子機器の動作を制御する制御用ファームウェアを記憶したマイコンシステムに、通信手段を介して接続されたホストコンピュータから別の制御用ファームウェアをダウンロードして前記マイコンシステムの制御用ファームウェアを書き換えるプログラム書き換え方法において、
前記マイコンシステムは、前記マイコンシステムを起動する起動プログラムと前記ホストコンピュータとの通信を行う通信プログラムとを有する起動用ファームウェアを記憶した第１ＲＯＭと、前記ホストコンピュータからダウンロードしたデータを一時記憶するＲＡＭと、制御用ファームウェアを記憶する第２ＲＯＭと、を備え、
第２ＲＯＭに記憶された制御用ファームウェアを消去するための消去プログラムと、第２ＲＯＭに制御用ファームウェアを書き込むための書き込みプログラムとを前記ホストコンピュータに配置し、前記ホストコンピュータから前記消去プログラムをダウンロードして第２ＲＯＭの制御用ファームウェアを消去した後、前記ホストコンピュータから前記書き込みプログラムをダウンロードして第２ＲＯＭに別の制御ファームウェアを書き込むことを特徴とするプログラム書き換え方法。
【請求項７】
前記ホストコンピュータから制御用ファームウェアを分割したブロック毎にダウンロードして前記ＲＡＭに記憶するとともに、前記ＲＡＭから第２ＲＯＭに前記ブロック毎に制御用ファームウェアを書き込み、前記ＲＡＭに記憶された制御用ファームウェアの前記ブロックは次にダウンロードされる前記ブロックにより順次上書きされることを特徴とする請求項６に記載のプログラム書き換え方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子機器の動作を制御するファームウェアを記憶したマイコンシステムに、通信手段で接続されたホストコンピュータから別のファームウェアをダウンロードしてマイコンシステムのファームウェアを書き換えるプログラム書き換え装置及びプログラム書き換え方法に関する。
【０００２】
【従来の技術】
電子機器の動作を制御するマイコンシステムは、制御プログラムであるファームウェアを格納したＲＯＭを有している。ファームウェアを変更するためにはＲＯＭを基板上から取り外し、別のファームウェアを格納したＲＯＭを再度実装する必要があり、工数がかかる問題があった。このため、特開平１０−２５４６９４号公報には、ＲＯＭを基板上から取り外すことなくファームウェアを変更するプログラム書き換え装置が開示されている。
【０００３】
このプログラム書き換え装置を図５に示すと、マイコンシステム１０とホストコンピュータ３０とは通信ケーブル４１によって互いに接続されている。マイコンシステム１０の各部の制御はＣＰＵ及び周辺ＩＣを有するＭＰＵ１１により行われる。ＭＰＵ１１にはバスラインによってフラッシュメモリ１２、ドライバ１３及びＲＡＭ１４が接続されている。ドライバ１３はホストコンピュータ３０とファームウェアのデータや制御情報の受け渡しを行う。
【０００４】
フラッシュメモリ１２は不揮発性メモリから成っており、記憶内容を電気的に書き込み及び消去するとともに電源電圧の有無に関わらず記憶内容を保持する。フラッシュメモリ１２には図６に示すように、スタートアッププログラム１２ａ、予備プログラム１２ｂ及びダウンロードプログラム１２ｃから成るファームウェアが記憶されている。
【０００５】
スタートアッププログラム１２ａは、リセットによりマイコンシステム１０が新たに起動された際の一連の手順が記されている。ダウンロードプログラム１２ｃはＲＡＭ１４にコピーされ、ＭＰＵ１１がＲＡＭ１４に一時記憶されたプログラムを実行してマイコンシステム１０の各部及び電子機器を制御する。予備プログラム１２ｂはダウンロードプログラム１２ｃが損傷した場合の予備のために、ダウンロードプログラム１２ｃと同一の内容が記述されている。
【０００６】
図７は、上記構成のデータ書き換え装置の動作を示すフローチャートである。ステップ＃１０ではフラッシュメモリ１２に記憶されたダウンロードプログラム１２ｃが正常か否かを確認する。正常な場合はステップ＃１１でダウンロードプログラム１２ｃがＲＡＭ１４にコピーされる。正常でない場合はステップ＃１２で予備プログラム１２ｂがＲＡＭ１４にコピーされる。ＲＡＭ１４に格納されたプログラムは実行プログラムとなり、ステップ＃１３で実行プログラムの先頭アドレスにポインタが設定される。
【０００７】
ＲＡＭ１４に記憶された実行プログラムの実行によりホストコンピュータ３０との通信が行われ、ステップ＃１４ではホストコンピュータ３０からダウンロードプログラム１２ｃ用のデータをドライバ１３で受信したか否かが判断される。受信しない場合はステップ＃１７に移行して通常の電子機器の制御処理がＭＰＵ１１により行われる。受信があった場合はステップ＃１５で、ＲＡＭ１４に記憶された実行プログラムにより、フラッシュメモリ１２に記憶されたダウンロードプログラム１２ｃを消去する。
【０００８】
そして、ステップ＃１６でホストコンピュータ３０から受信したダウンロードプログラム１２ｃ用のデータをＲＡＭ１４に記憶された実行プログラムによりフラッシュメモリ１２に書き込む。そして、スタートアッププログラム１２ａを再起動して書き替えられたダウンロードプログラム１２ｃをＲＡＭ１４にコピーし、ステップ＃１７で新たな実行プログラムをＭＰＵ１１により実行して電子機器の制御処理が行われる。このようにして、フラッシュメモリ１２に記憶されている制御プログラム（１２c）をホストコンピュータ３０からオンラインで書き換えることができるようになっている。
【０００９】
【発明が解決しようとする課題】
しかしながら上記の従来のプログラム書き換え装置によると、ダウンロードプログラム１２ｃが損傷したときのためにフラッシュメモリ１２内にダウンロードプログラム１２ｃと同一の予備プログラム１２ｂが配される。このため、使用頻度の少ない予備プログラム１２ｂのためにフラッシュメモリ１２から成るＲＯＭが大きな記憶容量を必要とし、プログラム書き換え装置のコストを高くする要因となっていた。
【００１０】
また、一旦フラッシュメモリ１２内のダウンロードプログラム１２ｃをＲＡＭ１４にコピーし、ＲＡＭ１４から通信プログラムや書き込みプログラム等を実行してフラッシュメモリ１２内のダウンロードプログラム１２ｃを書き換える必要がある。このため、ＲＡＭ１４は演算時の変数等の一時記憶だけでなくダウンロードプログラム１２ｃの大きさのデータを全て一時記憶するために大きな記憶容量を必要としていた。
【００１１】
本発明は、ＲＡＭやＲＯＭの記憶容量を削減できるプログラム書き換え装置及びプログラム書き換え方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するために本発明のプログラム書き換え装置は、電子機器の動作を制御する制御用ファームウェアを記憶したマイコンシステムに、通信手段を介して接続されたホストコンピュータから別の制御用ファームウェアをダウンロードして前記マイコンシステムの制御用ファームウェアを書き換えるプログラム書き換え装置において、
前記マイコンシステムは、前記マイコンシステムを起動する起動プログラムと前記ホストコンピュータとの通信を行う通信プログラムとを有する起動用ファームウェアを記憶した第１ＲＯＭと、前記ホストコンピュータからダウンロードしたデータを一時記憶するＲＡＭと、制御用ファームウェアを記憶する第２ＲＯＭとを備え、
第２ＲＯＭに記憶された制御用ファームウェアを消去するための消去プログラムと、第２ＲＯＭに制御用ファームウェアを書き込むための書き込みプログラムとを前記ホストコンピュータに配置し、前記ホストコンピュータから前記消去プログラムをダウンロードして第２ＲＯＭの制御用ファームウェアを消去した後、前記ホストコンピュータから前記書き込みプログラムをダウンロードして第２ＲＯＭに別の制御ファームウェアを書き込むことを特徴としている。
【００１３】
この構成によると、制御用ファームウェアの書き換え時に第１ＲＯＭに記憶された起動用ファームウェアが実行されてマイコンシステムの立ち上げを行うとともにホストコンピュータと通信可能になる。これにより、ホストコンピュータから書き換え用の制御用ファームウェアがダウンロードされてＲＡＭに記憶される。そして、第２ＲＯＭ内の制御用ファームウェアが消去され、ＲＡＭから新たな制御用ファームウェアがコピーされる。
また、ホストコンピュータから制御用ファームウェアの消去プログラムがダウンロードされてＲＡＭに記憶され、第２ＲＯＭ内の制御用ファームウェアが消去プログラムにより消去される。その後、ホストコンピュータから制御用ファームウェアの書き込みプログラムがダウンロードされてＲＡＭに記憶され、書き込みプログラムにより第２ＲＯＭ内に制御用ファームウェアの書き込みが行われる。
【００１４】
また本発明は、上記構成のプログラム書き換え装置において、前記ホストコンピュータから制御用ファームウェアを分割したブロック毎にダウンロードして前記ＲＡＭに記憶するとともに、前記ＲＡＭから第２ＲＯＭに前記ブロック毎に制御用ファームウェアを書き込み、前記ＲＡＭに記憶された制御用ファームウェアの前記ブロックは次にダウンロードされる前記ブロックにより順次上書きされることを特徴としている。
【００１５】
この構成によると、制御用ファームウェアを分割して一部がＲＡＭにダウンロードされると第２ＲＯＭに該一部が書き込まれ、次の一部がダウンロードしてＲＡＭに上書きされると第２ＲＯＭに該一部が書き込まれる。この動作が繰り返し行われて第２ＲＯＭの制御用ファームウェアが書き換えられる。
【００１９】
また本発明は、上記構成のプログラム書き換え装置において、第２ＲＯＭ内に当初記憶された初期バージョンの制御用ファームウェアを、前記起動用ファームウェア内に含んだことを特徴としている。この構成によると、第２ＲＯＭに記憶された新たな制御用ファームウェアを消去することにより、元の制御用ファームウェアの動作を起動用ファームウェアにより実行することができる。
【００２０】
また本発明は、上記構成のプログラム書き換え装置において、第１ＲＯＭは部分的に消去、書き込み可能な不揮発性メモリから成り、第２ＲＯＭを第１ＲＯＭと兼用したことを特徴としている。この構成によると、不揮発性メモリから成る第１ＲＯＭには起動用ファームウェアと制御用ファームウェアとが記憶され、起動用ファームウェアを残して制御用ファームウェアの書き換えが行われる。
【００２１】
また本発明は、上記構成のプログラム書き換え装置において、第１ＲＯＭはマスクＲＯＭ、ＰＲＯＭ、フラッシュメモリのいずれかから成ることことを特徴としている。
【００２２】
また本発明のプログラム書換え方法は、電子機器の動作を制御する制御用ファームウェアを記憶したマイコンシステムに、通信手段を介して接続されたホストコンピュータから別の制御用ファームウェアをダウンロードして前記マイコンシステムの制御用ファームウェアを書き換えるプログラム書き換え方法において、
前記マイコンシステムは、前記マイコンシステムを起動する起動プログラムと前記ホストコンピュータとの通信を行う通信プログラムとを有する起動用ファームウェアを記憶した第１ＲＯＭと、前記ホストコンピュータからダウンロードしたデータを一時記憶するＲＡＭと、制御用ファームウェアを記憶する第２ＲＯＭと、を備え、
第２ＲＯＭに記憶された制御用ファームウェアを消去するための消去プログラムと、第２ＲＯＭに制御用ファームウェアを書き込むための書き込みプログラムとを前記ホストコンピュータに配置し、前記ホストコンピュータから前記消去プログラムをダウンロードして第２ＲＯＭの制御用ファームウェアを消去した後、前記ホストコンピュータから前記書き込みプログラムをダウンロードして第２ＲＯＭに別の制御ファームウェアを書き込むことを特徴としている。
【００２４】
また本発明は、上記構成のプログラム書換え方法において、前記ホストコンピュータから制御用ファームウェアを分割したブロック毎にダウンロードして前記ＲＡＭに記憶するとともに、前記ＲＡＭから第２ＲＯＭに前記ブロック毎に制御用ファームウェアを書き込み、前記ＲＡＭに記憶された制御用ファームウェアの前記ブロックは次にダウンロードされる前記ブロックにより順次上書きされることを特徴としている。
【００２５】
【発明の実施の形態】
以下に本発明の実施形態を図面を参照して説明する。図１は第１実施形態のプログラム書き換え装置の構成を示すブロック図である。プログラム書き換え装置はマイコンシステム１とホストコンピュータ２とが通信ケーブル３によって互いに接続されている。
【００２６】
マイコンシステム１は通信インターフェース６を介してホストコンピュータ２とデータの送受信を行う。マイコンシステム１の各部の制御はＣＰＵ４により行われる。ＣＰＵ４にはバスラインによって第１、第２ＲＯＭ７、８、ＲＡＭ１４及び通信インターフェース６が接続されている。
【００２７】
第１、第２ＲＯＭ７、８はマスクＲＯＭ、ＰＲＯＭまたはフラッシュメモリ等の不揮発性メモリから成っており、記憶内容を電気的に書き込み及び消去するとともに電源電圧の有無に関わらず記憶内容を保持する。第１ＲＯＭ７には、リセットによりマイコンシステム１０が新たに起動された際の一連の手順が記された起動プログラム及びホストコンピュータ２と通信を行うための通信プログラム等から成る起動用ファームウェアが記憶されている。起動プログラムには第２ＲＯＭ８を認識するための認識プログラムが含まれている。
【００２８】
第２ＲＯＭ８には、マイコンシステム１に接続される電子機器を制御する制御プログラムから成る制御用ファームウェアが記憶されている。ＲＡＭ１４は制御プログラム等の実行時の演算結果等を一時記憶するとともに、ホストコンピュータ２から通信インターフェース６を介してダウンロードしたデータを一時記憶するようになっている。
【００２９】
ホストコンピュータ２には、第２ＲＯＭ８の記憶内容を消去する消去プログラム２１、第２ＲＯＭ８にファームウェアの書き込みを行う書き込みプログラム２２及び所定の制御プログラムから成るファームウェアデータ２３が格納されている。
【００３０】
マイコンシステム１が起動されると、図２のフローチャートが実行される。まずステップ＃６１で第１ＲＯＭ７の起動用ファームウェアが実行される。これにより、起動プログラム及び通信プログラムが実行され、マイコンシステム１を立ち上げて、ホストコンピュータ２との通信を可能にするとともに認識プログラムにより第２ＲＯＭ８の認識が行われる。
【００３１】
次にステップ＃６２で、第２ＲＯＭ８内の制御用ファームウェアが正常か否かが判断される。制御用ファームウェアが有効に機能する場合は、ステップ＃６３に移行して第２ＲＯＭ８内の制御用ファームウェアが実行され、マイコンシステム１に接続された電子機器の制御が行われる。
【００３２】
ステップ＃６２で制御用ファームウェアが有効に機能していないと判断すると、ステップ＃６４に移行して、後述する制御用ファームウェアの書き換え処理が行われる。第２ＲＯＭ８内の制御用ファームウェアの書き換えが終了すると、ステップ＃６３に移行して第２ＲＯＭ８内の書き換えられた制御用ファームウェアが実行される。
【００３３】
書き換え処理は、制御用ファームウェアの機能追加やバグフィックス等によるバージョンアップ時にホストコンピュータ２からの指示により実行され、第２ＲＯＭ８内の制御用ファームウェアの書き換えが行われる。また、上記のように第２ＲＯＭ８内の制御用ファームウェアが正常に動作していない場合にも実行される。
【００３４】
図３は書き換え処理のフローチャートを示している。同図において、Ａはマイコンシステム１の動作を示し、Ｂはホストコンピュータ２の動作を示している。まず、ステップ＃５１でホストコンピュータ２から第２ＲＯＭ８に記憶された制御用プログラムのバージョン番号の送信命令が出され、ステップ＃２１でマイコンシステム１からバージョン番号が送信される。これにより、ホストコンピュータ２は、制御用プログラムのバージョン番号を取得する。
【００３５】
次に、ステップ＃５２では、ホストコンピュータ２から消去プログラム２１が送信され、マイコンシステム１は通信インターフェース６を介してこれを受信する（ステップ＃２２）。ステップ＃２３で消去プログラム２１がＲＡＭ５にダウンロードされ、ステップ＃２４でＲＡＭ５から消去プログラム２１が実行される。これにより、第２ＲＯＭ８内の制御用ファームウェアが消去される。
【００３６】
ステップ＃２５では制御用ファームウェアの消去が正常に行われた否かが判断され、消去の成功または失敗がホストコンピュータ２に通知される（ステップ＃２６、＃２７）。消去に失敗した場合はマイコンシステム１の書き込み処理を終了し、通知を受けたホストコンピュータ２もステップ＃５３で通知内容を判断して書き込み処理を終了する。
【００３７】
消去が正常な場合は、ステップ＃５４でホストコンピュータ２からリセットコードが送信される。マイコンシステム１はリセットコードを受信するとステップ＃２８でシステムをリセットし、第１ＲＯＭ７内の起動用ファームウェアが実行される。
【００３８】
従って、前述の図２のフローチャートが実行され、ステップ＃６４（図２参照）で書き込み処理が呼出される。この時、制御用ファームウェアの消去が終了しているため、フラグの設定によりホストコンピュータ２の処理はステップ＃５５にジャンプする。
【００３９】
ステップ＃５５では、ホストコンピュータ２から書き込みプログラム２２及び制御用ファームウェアのファームウェアデータ２３が送信される。マイコンシステム１はステップ＃２９で書き込みプログラム２２及び制御用ファームウェアのファームウェアデータ２３を受信し、ステップ＃３０でＲＡＭ５にダウンロードする。
【００４０】
ステップ＃３２では、ＲＡＭ５から書き込みプログラム２２が実行され、ＲＡＭ５上の制御用ファームウェアが第２ＲＯＭ８に書き込まれる。この時、ファームウェアデータ２３はホストコンピュータ２から分割されたブロック毎に送信され、制御用ファームウェアの一のブロックをＲＡＭ５にダウンロードして第２ＲＯＭ８に書き込むようになっている。
【００４１】
そして、一のブロックの書き込みが終了すると次のブロックがＲＡＭ５にダウンロードされ、第２ＲＯＭ８に書き込まれる。この動作を順次行って、制御用ファームウェアの全部が書き込まれる。ダウンロードを分割して行って並行して第２ＲＯＭ８に書き込みを行うことで、ファームウェアデータ２３のダウンロードに必要なＲＡＭ５の記憶容量を一ブロック分だけ確保すればよく、ＲＡＭ５の記憶容量を削減することができるようになっている。
【００４２】
第２ＲＯＭ８への新たな制御用ファームウェアの書き込みが終了すると、ステップ＃３３で書き込みが正常に行われた否かが判断され、消去の成功または失敗がホストコンピュータ２に通知される（ステップ＃３４、＃３５）。消去に失敗した場合はマイコンシステム１の書き込み処理を終了し、通知を受けたホストコンピュータ２もステップ＃５６で通知内容を判断して書き込み処理を終了する。これにより、制御用ファームウェアが正しく書き換えられなかったことをホストコンピュータが検知し、書き込み処理の再実行等の対応策を行うことができる。
【００４３】
書き込みが正常な場合は、ステップ＃５７でホストコンピュータ２からリセットコードが送信される。マイコンシステム１はリセットコードを受信するとステップ＃３６でシステムをリセットし、第１ＲＯＭ７内の起動用ファームウェアが実行される。そして、前述の図２のフローチャートから書き込み処理が呼出され、フラグの設定によりホストコンピュータ２の処理はステップ＃５８にジャンプする。
【００４４】
ステップ＃５８ではホストコンピュータ２から第２ＲＯＭ８に記憶された制御用プログラムのバージョン番号の送信命令が出され、ステップ＃３７でマイコンシステム１からバージョン番号が送信される。これにより、ホストコンピュータ２は、制御用プログラムのバージョン番号を取得し、バージョンが更新されたことを確認して終了する。
【００４５】
本実施形態のプログラム書き換え装置によると、起動用ファームウェアが通信プログラムを有することによって、マイコンシステム１に接続された電子機器を制御する制御用ファームウェアに損傷等があってもホストコンピュータ２からダウンロードすることにより修復することができる。このため、従来のような予備プログラム１２ｂ（図６参照）をマイコンシステム１内に設ける必要がなく、第１、第２ＲＯＭ７、８の記憶容量を削減することができる。
【００４６】
また、第１、第２ＲＯＭ７、８に制御用ファームウェアの消去プログラムや書き込みプログラムを記憶させずホストコンピュータ２からダウンロードして実行する。このため、第１、第２ＲＯＭ７、８の記憶容量をより削減することができる。更に、第２ＲＯＭ８には制御用ファームウェアのみを記憶して通信プログラムや起動用プログラムを記憶させないので更に記憶容量削減を図ることができる。
【００４７】
また、第２ＲＯＭ８の消去終了後に、書き込みプログラム２２をダウンロードしているので、ＲＡＭ５に消去プログラム２１と書き込みプログラム２２とが同時に記憶されず、ＲＡＭ５の記憶容量を削減することができる。また、ファームウェアデータ２３がホストコンピュータ２から分割されたブロック毎に送信され、制御用ファームウェアの一のブロックがＲＡＭ５にダウンロードして第２ＲＯＭ８に書き込まれる。一のブロックの書き込みが終了すると次のブロックがＲＡＭ５にダウンロードされ、第２ＲＯＭ８に書き込まれる。この動作を順次行って、制御用ファームウェアの全部が書き込まれる。これにより、制御用ファームウェアのダウンロードとＲＡＭ５から第２ＲＯＭ８への書き込みとが並行して行われる。従って、ＲＡＭ５は分割してダウンロードされるファームウェアデータ２２と書き込みプログラム２３の容量を確保すればよく、ＲＡＭ５の記憶容量をより削減することができる。
【００４８】
尚、予備プログラム１２ｂ（図６参照）を設けていないので、ＣＰＵ４からアクセスする制御プログラムのアドレスを一定にするために制御プログラムをＲＡＭ５にコピーしなくても、第２ＲＯＭ８から実行することができる。このため、制御用ファームウェア実行時には、ＲＡＭ５は演算結果等の一時記憶ができる容量があればよく、上記のように分割してファームウェアデータをダウンロードする際に必要な容量で提供可能である。
【００４９】
また、第２ＲＯＭ８として種類の異なる不揮発性メモリを使用したマイコンシステム１に対して、第２ＲＯＭ８を操作する消去プログラム及び書き込みプログラムの変更を要するが、電子機器を制御する制御用プログラムを変更する必要はない。第２ＲＯＭ８には制御プログラムのみから成る制御用ファームウェアが記憶されているため、ファームウェアデータ２３をそのまま使用して制御用ファームウェアの書き換えを容易に行うことができる。
【００５０】
また、制御用ファームウェアの書き換え処理の最中に、マイコンシステム１及びホストコンピュータ２への電源供給が遮断されると、ＲＯＭ５の記憶内容が消滅する。この場合に、第２ＲＯＭ８の内容が消去されていても、第１ＲＯＭ７の記憶内容は消去されないため第１ＲＯＭ７に記憶された起動用ファームウェアを実行して制御用ファームウェアをダウンロードすることにより容易に復旧することができる。
【００５１】
次に、第２実施形態のプログラム書き換え装置を図面を参照して説明する。本実施形態のプログラム書き換え装置の構成は前述の図１に示す第１実施形態と同様である。第１実施形態と異なる点は、第１ＲＯＭ７に記憶された起動用ファームウェア内に、第２ＲＯＭ８に当初記憶された制御プログラムを有している点である。
【００５２】
図４は本実施形態のプログラム書き換え装置の動作を示すフローチャートである。マイコンシステム１が起動されると、まずステップ＃７１で第１ＲＯＭ７の起動用ファームウェアが実行される。これにより、起動プログラム及び通信プログラム実行され、マイコンシステム１を立ち上げて、ホストコンピュータ２との通信を可能にするとともに認識プログラムにより第２ＲＯＭ８の認識が行われる。
【００５３】
次にステップ＃７２で、第２ＲＯＭ８が正常に認識されたか否か及び第２ＲＯＭ８内の制御用ファームウェアが正常か否かが判断される。第２ＲＯＭ８が正常に認識されて制御用ファームウェアが有効に機能する場合は、ステップ＃７３に移行して第２ＲＯＭ８内の制御用ファームウェアが実行され、マイコンシステム１に接続された電子機器の制御が行われる。
【００５４】
ステップ＃７２で制御用ファームウェアが有効に機能していないと判断すると、ステップ＃７４に移行して、第１ＲＯＭ７に記憶された制御プログラムが実行される。これにより、電子機器の制御が行われる。
【００５５】
また、前述の図３と同様の書き換え処理を行うことによって、ホストコンピュータ２からの指示により第２ＲＯＭ８内の制御用ファームウェアの書き換えが行われる。この時、ステップ＃５３で制御用ファームウェアの消去が成功したことを確認して書き換え処理を終了してもよい。このようにすると、マイコンシステム１は第１ＲＯＭ７内の初期バージョンの制御プログラムによって電子機器を制御し、制御動作を容易に初期状態に戻すことができる。
【００５６】
本実施形態によると、第１ＲＯＭ７に制御プログラムが記憶されるため、第２ＲＯＭ８を認識できないときにも電子機器の制御を行うことができる。また、制御プログラムの分だけ第１実施形態よりも第１ＲＯＭ７の記憶容量を多く必要とするが、消去プログラム及び書き込みプログラムを記憶しないので従来よりも記憶容量を削減することができる。
【００５７】
尚、第１、第２実施形態において、第１、第２ＲＯＭ７、８を別の不揮発性メモリにより構成しているが、第１ＲＯＭ７として部分的に消去及び書き込みが可能な不揮発性メモリを使用する場合には、第１ＲＯＭ７の一領域に制御用ファームウェアを記憶して第２ＲＯＭ８を第１ＲＯＭ７と兼用してもよい。
【００５８】
【発明の効果】
本発明によると、第１ＲＯＭに記憶された起動用ファームウェアが通信プログラムを有するので、マイコンシステムに接続された電子機器を制御する制御用ファームウェアに損傷等があってもホストコンピュータからダウンロードすることによって修復することが可能である。このため、従来のような予備プログラムをマイコンシステム内に設ける必要がなく、第１、第２ＲＯＭの記憶容量を削減することができる。
【００５９】
また、第１、第２ＲＯＭに制御用ファームウェアの消去プログラムや書き込みプログラムを記憶させずホストコンピュータからダウンロードして実行するので、第１、第２ＲＯＭの記憶容量をより削減することができる。更に、第２ＲＯＭには制御用ファームウェアのみを記憶して通信プログラムや起動用プログラムを記憶させないので更に記憶容量削減を図ることができる。
【００６０】
また、第２ＲＯＭの消去終了後に、書き込みプログラムをダウンロードしているので、ＲＡＭに消去プログラムと書き込みプログラムとを同時に記憶されず、ＲＡＭの記憶容量を削減することができる。また、ファームウェアデータがホストコンピュータから分割されたブロック毎に送信され、制御用ファームウェアの一のブロックがＲＡＭにダウンロードして第２ＲＯＭに書き込まれる。一のブロックの書き込みが終了すると次のブロックがＲＡＭにダウンロードされ、第２ＲＯＭに書き込まれる。この動作を順次行って、制御用ファームウェアの全部が書き込まれる。これにより、制御用ファームウェアのダウンロードとＲＡＭから第２ＲＯＭへの書き込みとが並行して行われるので、ＲＡＭは分割してダウンロードされるファームウェアデータと書き込みプログラムの容量を確保すればよく、ＲＡＭの記憶容量をより削減することができる。
【００６１】
また、第２ＲＯＭとして異なる不揮発性メモリを使用した場合に、第２ＲＯＭを操作する消去プログラム及び書き込みプログラムの変更を要するが、電子機器を制御する制御用プログラムを変更する必要はない。第２ＲＯＭには制御プログラムのみから成る制御用ファームウェアを記憶されるので、ファームウェアデータをそのまま使用して制御用ファームウェアの書き換えを容易に行うことができる。
【００６２】
また、第１ＲＯＭに記憶された起動用ファームウェアがホストコンピュータと通信を行う通信プログラムを有しており第１ＲＯＭの記憶内容は消去されないので、制御用ファームウェアの書き換え処理の最中にマイコンシステム及びホストコンピュータへの電源供給が遮断されても、第１ＲＯＭに記憶された起動用ファームウェアを実行して制御用ファームウェアをダウンロードすることにより容易に復旧することができる。
【００６３】
また本発明によると、第１ＲＯＭに制御プログラムを記憶することにより、電子機器の制御動作を容易に初期状態に戻すことができるとともに、第２ＲＯＭを認識できないときにも電子機器の制御を行うことができる。また、制御プログラムの分だけ記憶容量を多く必要とするが、消去プログラム及び書き込みプログラムを記憶しないので従来よりも記憶容量を削減することができる。
【図面の簡単な説明】
【図１】    本発明の第１実施形態のプログラム書き換え装置の構成を示すブロック図である。
【図２】    本発明の第１実施形態のプログラム書き換え装置の動作を示すフローチャートである。
【図３】    本発明の第１実施形態のプログラム書き換え装置の書き換え処理の動作を示すフローチャートである。
【図４】    本発明の第２実施形態のプログラム書き換え装置の動作を示すフローチャートである。
【図５】    従来のプログラム書き換え装置の構成を示すブロック図である。
【図６】    従来のプログラム書き換え装置のＲＯＭを示すメモリマップである。
【図７】    従来のプログラム書き換え装置の動作を示すフローチャートである。
【符号の説明】
１、１０    マイコンシステム
２、３０    ホストコンピュータ
３、４１    通信ケーブル
４    ＣＰＵ
５、１４    ＲＡＭ
６    通信インターフェース
７    第１ＲＯＭ
８    第２ＲＯＭ
１１    ＭＰＵ
１２    フラッシュメモリ
１３    ドライバ
２１    消去プログラム
２２    書き込みプログラム
２３    ファームウェアデータ
【図１】
0003805195.tif 000002
【図２】
0003805195.tif 000003
【図３】
0003805195.tif 000004
【図４】
0003805195.tif 000005
【図５】
0003805195.tif 000006
【図６】
0003805195.tif 000007
【図７】
0003805195.tif 000008