(57)【要約】【課題】ＲＯＭコレクション機能を搭載したマイクロコンピュータと修正プログラムを格納した不揮発性メモリとを備えた家電製品等の応用システムにおいて、修正プログラムデータの書き込みが途中で失敗し、プログラムデータが異常な場合でも、マイクロコンピュータ暴走等の異常動作を防止することができ、不揮発性メモリに格納されたデータの書き換えを実施することができるようにする。【解決手段】読み出し専用メモリであるＲＯＭ４と、ＲＯＭの修正プログラムを格納する不揮発性メモリ１と、不揮発性メモリに格納されたＲＯＭの修正プログラムの読出しと読出したプログラムデータの異常を判定するプログラム読出し手段３と、プログラム読出し手段により読出された修正プログラムに基づいて前記ＲＯＭのプログラムを修正した動作を行うＲＯＭ修正制御手段２とを備える。【選択図】図１
2008009798.tif 000002
【特許請求の範囲】
【請求項１】
読み出し専用メモリであるＲＯＭと、前記ＲＯＭのプログラムを修正した修正プログラムを格納する不揮発性メモリと、前記不揮発性メモリに格納された前記ＲＯＭの修正プログラムの読出しと読出したプログラムデータの異常を判定するプログラム読出し手段と、前記プログラム読出し手段により読出された修正プログラムに基づいて前記ＲＯＭのプログラムを修正した動作を行うＲＯＭ修正制御手段とを備えたソフトウェア修正装置。
【請求項２】
不揮発性メモリにＲＯＭの修正プログラムを複数箇所格納することを特徴とする請求項１に記載のソフトウェア修正装置。
【請求項３】
不揮発性メモリにＲＯＭの修正プログラムとＲＯＭの修正プログラムの反転データを格納することを特徴とする請求項１に記載のソフトウェア修正装置。
【請求項４】
不揮発性メモリにＲＯＭの修正プログラムとＲＯＭの修正プログラムのチェックコードを格納することを特徴とする請求項１に記載のソフトウェア修正装置。
【請求項５】
ＲＯＭ修正制御手段は、プログラム読出し手段により読出された修正プログラムデータが異常であると判定された場合、不揮発性メモリのデータ書き換え処理動作を許可することを特徴とする請求項１〜４のいずれか１項に記載のソフトウェア修正装置。
【請求項６】
ＲＯＭ修正制御手段は、プログラム読出し手段により読出された修正プログラムデータが異常であると判定された場合、ＲＯＭのプログラムを修正した動作を行わないことを特徴とする請求項１〜５のいずれか１項に記載のソフトウェア修正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスクＲＯＭに書き込まれたプログラムを修正して、誤りなく実行する技術に関するものである。
【背景技術】
【０００２】
ＣＰＵとメモリなどを１チップ上に構成したシングルチップ型マイクロコンピュータは、種々の電子機器の制御用途に使用されている。ＣＰＵの命令実行部で実行されるプログラムは、一般に、マイクロコンピュータに内蔵されるマスクＲＯＭに書き込まれるが、プログラムのバグなどの不具合点が発見されてもこれを修正することはできない。このような場合にはＲＯＭコレクションと呼ばれるプログラムデータ修正機能を使い、プログラムの修正を行うのが一般的である。ＲＯＭコレクションは、修正プログラムを不揮発性メモリ内に記憶させて、マスクＲＯＭの不具合箇所のプログラムの代わりに使用する機能である（例えば、特許文献１参照）。
【特許文献１】特開平１１−２４９８８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、修正プログラムを不揮発性メモリ内に記憶させる従来のソフトウェア修正装置の構成においては、不揮発性メモリにしかるべき修正プログラムデータが書き込まれていることが前提として成り立っており、不揮発性メモリに書き込まれた修正プログラムデータに異常が生じると、マイクロコンピュータの制御がどうなるかは予想がつかないという非常に大きな問題となる。この場合、時としてマイクロコンピュータの暴走となるという課題を有していた。
【０００４】
また、不揮発性メモリにデータを書き込む際に、途中でデータの書き込みを失敗した場合、不揮発性メモリに格納されたデータが異常であるため、データの書き換えを再度実施しようとしても、マイクロコンピュータ暴走となると、データの書き換えができないという課題を有していた。
【０００５】
本発明は、上記従来の課題を解決するもので、ＲＯＭの修正プログラムの読出しを行う際に、マイクロコンピュータ暴走等の異常動作を防止することができ、また、修正プログラムデータの書き込みを失敗した時でも、不揮発性メモリに格納されたデータの書き換えを実施することができるソフトウェア修正装置の提供を目的とする
【課題を解決するための手段】
【０００６】
前記従来の課題を解決するために、本発明のソフトウェア修正装置は、読み出し専用メモリであるＲＯＭと、ＲＯＭの修正プログラムを格納する不揮発性メモリと、不揮発性メモリに格納されたＲＯＭの修正プログラムの読出しを行うプログラム読出し手段と、プログラム読出し手段により読出された修正プログラムに基づいてＲＯＭのプログラムを修正した動作を行うＲＯＭ修正制御手段とを備え、プログラム読出し手段によりＲＯＭの修正プログラムの読出しを行う際に、読出したプログラムデータの異常を判定するものである。
【０００７】
これにより、ＲＯＭの修正プログラムの読出しを行う際に、読出したプログラムデータの異常を判定することにより、マイクロコンピュータ暴走等の異常動作を防止することができる。
【発明の効果】
【０００８】
本発明のソフトウェア修正装置は、ＲＯＭの修正プログラムの読出しを行う際に、読出したプログラムデータの異常を判定することにより、マイクロコンピュータ暴走等の異常動作を防止することができ、また、修正プログラムデータの書き込みを失敗した時でも、不揮発性メモリに格納されたデータの書き換えを実施することができる。
【発明を実施するための最良の形態】
【０００９】
第１の発明は、読み出し専用メモリであるＲＯＭと、ＲＯＭの修正プログラムを格納する不揮発性メモリと、不揮発性メモリに格納されたＲＯＭの修正プログラムの読出しを行うプログラム読出し手段と、プログラム読出し手段により読出された修正プログラムに基づいてＲＯＭのプログラムを修正した動作を行うＲＯＭ修正制御手段とを備え、プログラム読出し手段によりＲＯＭの修正プログラムの読出しを行う際に、読出したプログラムデータの異常を判定することにより、マイクロコンピュータ暴走等の異常動作を防止することができる。
【００１０】
第２の発明は、不揮発性メモリにＲＯＭの修正プログラムを複数箇所格納し、プログラム読出し手段によりＲＯＭの修正プログラムの読出しを行う際に、複数箇所格納されたプログラムデータが全て一致しているかどうかチェックしてプログラムデータの異常を判定することにより、マイクロコンピュータ暴走等の異常動作を防止することができ、また、修正プログラムデータの書き込みを失敗した時でも、不揮発性メモリに格納されたデータの書き換えを実施することができる。
【００１１】
第３の発明は、不揮発性メモリにＲＯＭの修正プログラムとＲＯＭの修正プログラムの反転データを格納し、プログラム読出し手段によりＲＯＭの修正プログラムの読出しを行う際に、反転データをチェックすることにより、不揮発性メモリが、一度も書き込みが行われおらず、データが不定となっている場合でも（通常は全データがＦＦＨとなっている）、プログラムデータの異常を判定することができる。
【００１２】
第４の発明は、不揮発性メモリにＲＯＭの修正プログラムとＲＯＭの修正プログラムのチェックコードを格納し、プログラム読出し手段によりＲＯＭの修正プログラムの読出しを行う際に、チェックコードをチェックすることにより、不揮発性メモリの必要容量を抑えて、かつ、プログラムデータの異常を判定することができる。
【００１３】
第５の発明は、プログラム読出し手段により読出された修正プログラムデータが異常であると判定された場合、不揮発性メモリのデータ書き換え処理動作を可能にするため、修正プログラムデータが異常である場合においても、不揮発性メモリに格納されたデータの書き換えを実施することができる。
【００１４】
第６の発明は、プログラム読出し手段により読出された修正プログラムデータが異常であると判定された場合、ＲＯＭのプログラム修正動作を行わないため、マイクロコンピュータ暴走を確実に防止し、不揮発性メモリに格納されたデータの書き換えを実施することができる。
【００１５】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、この実施の形態によって本発明が限定されるものではない。
【００１６】
（実施の形態１）
図１は、本発明の実施の形態１におけるソフトウェア修正装置のブロック図を示すものである。図１において、マイクロコンピュータ１０は、ＲＯＭコレクション機能を有するＲＯＭ修正制御部を備えシステムの制御を行う制御部２と、不揮発メモリであるＥＥＰＲ
ＯＭ１のプログラムデータの読み出しと読み出されたプログラムデータが正常かどうか判定するプログラム読出し部３と、制御部２の命令実行部で実行されるプログラムを格納するＲＯＭ４から構成され、ＥＥＰＲＯＭ１とシリアルインタフェース等を介してデータの送受信を行っている。
【００１７】
図２は、本発明の第１の実施の形態におけるソフトウェア修正装置のＥＥＰＲＯＭ１のメモリマップの一例を示す図である。図２では、ＥＥＰＲＯＭ１にＲＯＭ４の修正プログラムが３箇所格納されている。
【００１８】
以上のように構成されたソフトウェア修正装置について、以下、図３のフローチャートを用いて説明する。まず、電源投入により、プログラム読出し部３によりＥＥＰＲＯＭ１からＲＯＭ４の修正プログラム１を読み出す（Ｓ１０１）。つぎに、ＥＥＰＲＯＭ１からＲＯＭ４の修正プログラム２を読み出す（Ｓ１０２）。続けて、ＥＥＰＲＯＭ１からＲＯＭ４の修正プログラム３を読み出す（Ｓ１０３）。３箇所格納されたＲＯＭ４の修正プログラムを全て読み出した後、ＲＯＭ４の修正プログラム１・修正プログラム２・修正プログラム３を比較し（Ｓ１０４）、全て一致すれば、ＲＯＭコレクション機能を使用する（Ｓ１０５）、一致しなければ、ＲＯＭコレクション機能を使用しない（Ｓ１０６）。
【００１９】
以上のように、本実施の形態においては、ＥＥＰＲＯＭ１にＲＯＭ４の修正プログラムを複数箇所格納し、プログラム読出し部３によりＲＯＭ４の修正プログラムの読出しを行い、複数箇所格納されたプログラムデータが全て一致しているかどうかチェックすることにより、プログラムデータの異常が判定可能となり、マイクロコンピュータ暴走等の異常動作を防止することができ、また、修正プログラムデータの書き込みを失敗した時でも、ＥＥＰＲＯＭ１に格納されたデータの書き換えを実施することができる。
【００２０】
（実施の形態２）
図４は、本発明の実施の形態２におけるソフトウェア修正装置のＥＥＰＲＯＭ１のメモリマップの一例を示す図である。図４では、ＥＥＰＲＯＭ１にＲＯＭ４の修正プログラムと修正プログラムの反転データが格納されている。
【００２１】
以上のように構成されたソフトウェア修正装置について、以下、図５のフローチャートを用いて説明する。まず、電源投入により、プログラム読出し部３によりＥＥＰＲＯＭ１からＲＯＭ４の修正プログラムを読み出す（Ｓ２０１）。つぎに、ＥＥＰＲＯＭ１からＲＯＭ４の修正プログラムの反転データを読み出す（Ｓ２０２）。ＲＯＭ４の修正プログラムと修正プログラムの反転データを読み出した後、修正プログラムと修正プログラムの反転データ加算し（Ｓ２０３）、全データを”ＦＦＨ”と比較する（Ｓ２０４）。全て一致すれば、ＲＯＭコレクション機能を使用する（Ｓ２０５）、一致しなければ、ＲＯＭコレクション機能を使用しない（Ｓ２０６）。
【００２２】
以上のように、本実施の形態においては、ＥＥＰＲＯＭ１にＲＯＭ４の修正プログラムと修正プログラムの反転データを格納し、プログラム読出し部３により読出しを行い、修正プログラムと修正プログラムの反転データの加算結果が”ＦＦＨ”かどうかチェックすることにより、ＥＥＰＲＯＭ１が、”００Ｈ”や”ＦＦＨ”等の不定値になっている場合や、データ書き込み途中で書き込み失敗し、ＥＥＰＲＯＭ１の一部の領域が一度も書き込みが行われていない場合でも、確実にプログラムデータの異常が判定可能となり、マイクロコンピュータ暴走等の異常動作を防止することができ、また、修正プログラムデータの書き込みを失敗した時でも、ＥＥＰＲＯＭ１に格納されたデータの書き換えを実施することができる。
【産業上の利用可能性】
【００２３】
以上のように、本発明にかかるソフトウェア修正装置は、ＲＯＭの修正プログラムの読出しを行う際に、読出したプログラムデータの異常を判定することにより、マイクロコンピュータ暴走等の異常動作を防止することができ、また、プログラムデータ異常時でも、不揮発性メモリに格納されたデータの書き換えを実施することができるため、電子機器の制御用途に使用されているマイクロコンピュータのソフトウェアを修正する技術として広く有用である。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態１におけるソフトウェア修正装置のブロック図
【図２】本発明の実施の形態１におけるソフトウェア修正装置のＥＥＰＲＯＭのメモリマップ
【図３】本発明の実施の形態１におけるソフトウェア修正装置の動作を示すフローチャート
【図４】本発明の実施の形態２におけるソフトウェア修正装置のＥＥＰＲＯＭのメモリマップ
【図５】本発明の実施の形態２におけるソフトウェア修正装置の動作を示すフローチャート
【符号の説明】
【００２５】
１  ＥＥＰＲＯＭ
２  制御部（ＲＯＭ修正制御部）
３  プログラム読出し部
４  ＲＯＭ
１０  マイクロコンピュータ
【図１】
2008009798.tif 000003
【図２】
2008009798.tif 000004
【図３】
2008009798.tif 000005
【図４】
2008009798.tif 000006
【図５】
2008009798.tif 000007