(57)【要約】  【課題】ROM修正機能を実施する際、ROM修正可能な箇所が、マイクロコンピュータに有するROM修正箇所とROM修正内容の個数に限定されていたため、ハードウェアが実装する以上のROM修正が不可能であった。  【解決手段】エリア比較器１４５に設定したい比較対照ブロックの開始アドレスと終了アドレスを設定し、エリア比較器１４５は入力されるプログラムカウンタのブロックが変更になった際にＭＵＸ１５０、１５５に検出ブロック信号を送り、ＭＵＸ１５０、１５５が検出ブロック信号により訂正アドレスから、該当ブロックで有効となる訂正アドレスと、対応する訂正データを訂正アドレスレジスタ１２０と訂正データレジスタ１２５に設定する。【選択図】  図１
2006243882.tif 000002
【特許請求の範囲】
【請求項１】
演算および制御を行う中央演算装置と、読み出し専用メモリと、この読み出し専用メモリのデータを修正する訂正データ群および訂正アドレス群を記憶したメモリと、前記読み出し専用メモリに格納されたROMデータを修正するデータを書き込むための訂正データレジスタおよび訂正アドレスレジスタと、前記中央演算装置による現在の実行エリアを比較対照エリアと比較して前記実行エリアで有効となる訂正アドレスと訂正データを前記訂正アドレス群および訂正データ群から選択することができる検出信号を出力するエリア比較器と、前記検出信号により前記訂正アドレスおよび前記訂正データを前記訂正アドレスレジスタおよび前記訂正データレジスタに設定するセレクタと、前記訂正アドレスレジスタのアドレスを前記中央演算装置による現在の実行エリアとエリア比較して一致したときに前記ROMデータを前記訂正データレジスタの内容に修正するエリア一致検出回路とを備えたROM修正装置。
【請求項２】
エリア比較器は、中央演算装置によるソフトウェア実行エリアの領域が変更になった際に割り込み信号を出力する請求項１記載のROM修正装置。  
【請求項３】
演算および制御を行う中央演算装置と、読み出し専用メモリと、この読み出し専用メモリのデータを修正する訂正データ群および訂正アドレス群を記憶したRAMと、前記読み出し専用メモリに格納されたROMデータを修正するデータを書き込むための訂正データレジスタおよび訂正アドレスレジスタと、前記中央演算装置による現在の実行エリアを比較対照エリアと比較してソフトウェア実行エリアの領域が変更になった際に前記実行エリアで有効となる訂正アドレスと訂正データを前記訂正アドレス群および訂正データ群から選択することができる割り込み信号を出力するエリア比較器と、前記訂正アドレスレジスタのアドレスを前記中央演算装置による現在の実行エリアとエリア比較して一致したとき前記ROMデータを前記訂正データレジスタの内容に修正するエリア一致検出回路とを備え、
前記中央演算装置は、前記割り込み信号に従い、前記訂正アドレス群と前記訂正データ群で有効な訂正アドレスと訂正データを検出し、検出された前記訂正アドレスと前記訂正データを前記訂正アドレスレジスタおよび前記訂正データレジスタに格納する機能を有するROM修正装置。
【請求項４】
演算および制御を行う中央演算装置と、読み出し専用メモリと、この読み出し専用メモリのデータを修正する訂正データ群および訂正アドレス群を記憶したメモリと、前記読み出し専用メモリに格納されたROMデータを修正するデータを書き込むための訂正データレジスタおよび訂正アドレスレジスタと、前記中央演算装置で実行されるソフトウェアで設定された修正モードを検出して修正モード信号を出力する修正モード判別器と、前記修正モード信号を受けて前記訂正アドレス群および前記訂正データ群より前記修正モード信号に対応した訂正アドレスおよび訂正データを前記訂正アドレスレジスタおよび前記訂正データレジスタに設定するセレクタと、前記訂正アドレスレジスタのアドレスを前記中央演算装置による現在の実行エリアとエリア比較して一致したとき前記ROMデータを前記訂正データレジスタの内容に修正するエリア一致検出回路とを備えたROM修正装置。
【請求項５】
演算および制御を行う中央演算装置と、読み出し専用メモリと、この読み出し専用メモリのデータを修正する訂正データ群および訂正アドレス群を記憶したメモリと、前記読み出し専用メモリに格納されたROMデータを修正する訂正データおよび訂正アドレスを書き込むための訂正データレジスタおよび訂正アドレスレジスタと、前記訂正アドレスレジスタのアドレスを前記中央演算装置による現在の実行エリアとエリア比較して一致したとき前記ROMデータを前記訂正データレジスタの内容に修正するエリア一致検出回路とを備え、
前記中央演算装置は、ソフトウェアの実行箇所に応じて、前記訂正アドレスと前記訂正データを、前記訂正アドレス群および前記訂正データ群から検出し、前記訂正アドレスレジスタと前記訂正データレジスタに設定する機能を有するROM修正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータ等において、動的にROM修正内容を変更するROM修正装置に関するものである。
【背景技術】
【０００２】
従来のROM修正装置は、訂正アドレスと訂正データが静的に決定されたものであった。したがって、ハードウェアが有する訂正アドレスと訂正データの個数以上のROM修正ができず、動的に訂正アドレスと訂正データを変更することができないものであった（例えば、特許文献１参照）。
【特許文献１】特開昭５９−７９３５９号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記のように、従来のROM修正装置は、訂正アドレスと訂正データが、ソフトウェアの全領域で常に同一の訂正アドレスと訂正データで静的に決定されているため、ソフトウェアの修正箇所がハードウェアの有する訂正アドレスと訂正データの個数に限定されている。
【０００４】
このため、ハードウェアの有する訂正アドレスと訂正データの個数以上のソフトウェアの修正が不可能であった。
【０００５】
したがって、本発明の目的は、ハードウェアが有する訂正アドレスと訂正データの個数以上のソフトウェア修正が可能なROM修正装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明のROM修正装置は、演算および制御を行う中央演算装置と、読み出し専用メモリと、この読み出し専用メモリのデータを修正する訂正データ群および訂正アドレス群を記憶したメモリと、読み出し専用メモリに格納されたROMデータを修正するデータを書き込むための訂正データレジスタおよび訂正アドレスレジスタと、中央演算装置による現在の実行エリアを比較対照エリアと比較して実行エリアで有効となる訂正アドレスと訂正データを訂正アドレス群および訂正データ群から選択することができる検出信号を出力するエリア比較器と、検出信号により訂正アドレスおよび訂正データを訂正アドレスレジスタおよび訂正データレジスタに設定するセレクタと、訂正アドレスレジスタのアドレスを中央演算装置による現在の実行エリアとエリア比較して一致したときにROMデータを訂正データレジスタの内容に修正するエリア一致検出回路とを備えたものである。
【０００７】
上記構成において、エリア比較器は、中央演算装置によるソフトウェア実行エリアの領域が変更になった際に割り込み信号を出力する。
【０００８】
具体的には、中央演算装置上で管理されているプログラムカウンタを監視する。また、エリア比較器には、開始アドレスと終了アドレスで規定されるブロック情報を有しており、監視しているプログラムカウンタが別ブロックに変更になった際に割り込み信号を出力する。
【０００９】
本発明の別のROM修正装置は、演算および制御を行う中央演算装置と、読み出し専用メモリと、この読み出し専用メモリのデータを修正する訂正データ群および訂正アドレス群を記憶したメモリと、読み出し専用メモリに格納されたROMデータを修正するデータを書き込むための訂正データレジスタおよび訂正アドレスレジスタと、中央演算装置による現在の実行エリアを比較対照エリアと比較してソフトウェア実行エリアの領域が変更になった際に実行エリアで有効となる訂正アドレスと訂正データを訂正アドレス群および訂正データ群から選択することができる割り込み信号を出力するエリア比較器と、訂正アドレスレジスタのアドレスを中央演算装置による現在の実行エリアとエリア比較して一致したときROMデータを訂正データレジスタの内容に修正するエリア一致検出回路とを備え、
中央演算装置は、割り込み信号に従い、訂正アドレス群と訂正データ群で有効な訂正アドレスと訂正データをチェックし、チェックされた有効な訂正アドレスと訂正データを訂正アドレスレジスタおよび訂正データレジスタに格納する機能を有する。
【００１０】
本発明の別のROM修正装置は、演算および制御を行う中央演算装置と、読み出し専用メモリと、この読み出し専用メモリのデータを修正する訂正データ群および訂正アドレス群を記憶したメモリと、読み出し専用メモリに格納されたROMデータを修正するデータを書き込むための訂正データレジスタおよび訂正アドレスレジスタと、中央演算装置で実行されるソフトウェアで設定された修正モードを検出して修正モード信号を出力する修正モード判別器と、修正モード信号を受けて訂正アドレス群および訂正データ群より修正モード信号に対応した訂正アドレスおよび訂正データを訂正アドレスレジスタおよび訂正データレジスタに設定するセレクタと、訂正アドレスレジスタのアドレスを中央演算装置による現在の実行エリアとエリア比較して一致したときROMデータを訂正データレジスタの内容に修正するエリア一致検出回路とを備えたものである。
【００１１】
本発明の別のROM修正装置は、演算および制御を行う中央演算装置と、読み出し専用メモリと、この読み出し専用メモリのデータを修正する訂正データ群および訂正アドレス群を記憶したメモリと、読み出し専用メモリに格納されたROMデータを修正する訂正データおよび訂正アドレスを書き込むための訂正データレジスタおよび訂正アドレスレジスタと、訂正アドレスレジスタのアドレスを中央演算装置による現在の実行エリアとエリア比較して一致したときROMデータを訂正データレジスタの内容に修正するエリア一致検出回路とを備え、
中央演算装置は、ソフトウェアの実行箇所に応じて、訂正アドレスと訂正データを、訂正アドレス群および訂正データ群から検出し、訂正アドレスレジスタと訂正データレジスタに設定する機能を有する。
【発明の効果】
【００１２】
本発明のROM修正装置によれば、従来のROM修正装置に、エリア比較器を追加し、エリア比較器から現在の実行エリアで有効となる訂正アドレスと訂正データを、訂正アドレス１〜ｎ、訂正データ１〜ｎから検出し、訂正アドレスレジスタと訂正データレジスタに設定することで、ソフトウェアの実行領域に応じて、動的に、訂正アドレスレジスタと訂正データレジスタを書き換えることができる。
【００１３】
このように、エリア比較器をROM修正装置に組み合わせ、ROM修正が有効な領域のROM修正データのみ、ROM修正アドレスとROM修正内容を設定するように、訂正アドレスと訂正データをソフトウェアの実行領域に応じて動的に書き換えることで、ハードウェアが有する訂正アドレスと訂正データの個数以上のソフトウェアの修正が可能となる。
【００１４】
本発明の別のROM修正装置によれば、訂正アドレス１〜ｎをRAMに配置し、エリア比較器の割り込み信号に従い、ソフトウェアにて、訂正アドレスと訂正データを、訂正アドレス１〜ｎ、訂正データ１〜ｎから検出し、訂正アドレスレジスタと訂正データレジスタに設定することができる。
【００１５】
本発明の別のROM修正装置によれば、上記構成のエリア比較器のかわりに、修正モード判別器を有し、ソフトウェアで設定された修正モードに対応した、訂正アドレスと訂正データを、訂正アドレス１〜ｎ、訂正データ１〜ｎから検出し、訂正アドレスレジスタと訂正データレジスタに設定することができる。
【００１６】
本発明の別のROM修正装置によれば、上記構成の修正モード判別器のかわりに、ソフトウェアの実行箇所に応じて、ソフトウェアにて、訂正アドレスと訂正データを、訂正アドレス１〜ｎ、訂正データ１〜ｎから検出し、訂正アドレスレジスタと訂正データレジスタに設定することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態について図面を参照しながら説明する。
【００１８】
図１は第１の実施の形態の基本構成を示すもので、ROM修正装置は、エリア比較器１４５からの後述のエリア比較結果に基づき、訂正アドレス１〜ｎ １６０、訂正データ１〜ｎ １６５からＭＵＸ（セレクタ）１５０、１５５により、訂正アドレスレジスタ１２０および訂正データレジスタ１２５にアドレスとデータを設定し、一致検出回路１３０において訂正アドレスレジスタの設定アドレスと演算および制御を行う中央処理装置（ＣＰＵ）１１５のプログラムカウンタが一致した際に、検出される検出信号により、ソフトウェアを修正する。具体的には、一致検出回路１３０においてＣＰＵ１１５のプログラムカウンタと一致した際に、ＭＵＸ（セレクタ）１４０によりＲＯＭ訂正許可レジスタ１３５がＲＯＭ修正を有効としている場合は訂正データレジスタ１２５のデータをＣＰＵ１１５で実行し、ＲＯＭ訂正許可レジスタ１３５がＲＯＭ修正を無効としている場合は実際のプログラムコードを実行する。ここでＲＯＭ修正の有効／無効情報は、ＲＡＭ１７０に格納されている。      
【００１９】
実際には、図２に示すようにエリア比較器１４５に設定したい比較対照ブロックの開始アドレスと終了アドレスを、エリア比較器１４５に内蔵されている開始アドレスレジスタ１〜ｎ、終了アドレスレジスタ１〜ｎに設定する。ここで、エリア比較器１４５はＣＰＵ１１５から入力されるプログラムカウンタのブロックが変更になった際にＭＵＸ（セレクタ）１５０、１５５に検出ブロック信号を送り、ＭＵＸ（セレクタ）１５０、１５５が検出ブロック信号により訂正アドレス１６０から、該当ブロックで有効となる訂正アドレスと、対応する訂正データ１６５を訂正アドレスレジスタ１２０と訂正データレジスタ１２５に設定する。
【００２０】
次に、図２を用いて具体的に説明を行う。例えば、訂正アドレスレジスタ１２０、訂正データレジスタ１２５にブロック０に該当するデータが設定されているとする。このときに、エリア比較器１４５に入力されるプログラムカウンタが０ｘ２ＦＦからｘ５００になったとすると、この時のブロックがブロック０からブロック１に変更になったことが検出される。このように、ブロックが変更になったときのみ検出ブロック信号をＭＵＸ（セレクタ）１５０、１５５に送ることで、訂正アドレス１〜ｎ、訂正データ１〜ｎから訂正アドレスレジスタ、訂正データレジスタへの設定処理の頻度を軽減することが可能となる。ここでＭＵＸ（セレクタ）１５０、１５５は検出ブロック信号がブロック１であるので、ブロック１で有効な訂正アドレス２（０ｘ０４００）と訂正アドレス３（０ｘ５００）、および、対応する訂正データ２（０ｘＢＣ）、訂正データ３（０ｘＤＥ）を訂正アドレスレジスタ１（１２０）、訂正アドレスレジスタ２（１２０）、訂正データレジスタ１（１２５）、訂正データレジスタ２（１２５）に設定する。
【００２１】
このように、プログラムカウンタとエリア比較器１５に設定されている開始アドレス、終了アドレスからなるブロック情報により、動的に訂正アドレスレジスタと訂正データレジスタを設定することが可能となる。
【００２２】
本発明の第２の実施の形態は、第１の実施の形態のエリア比較器１４５からの検出ブロック信号の代わりに、ブロックが変更になった際に出力される割り込み信号により、ソフトウェアを用いて、動的に訂正アドレスレジスタと訂正データレジスタを設定するものである。
【００２３】
具体的には図３を用いて説明する。エリア比較器１４５からの割り込み信号によって、図３のソフト処理を実施する。まず、ステップＳ３１０にて現在のプログラムカウンタを取得する。
【００２４】
次にステップＳ３２０にて、プログラムカウンタとエリア比較器の設定した開始アドレスと終了アドレスからブロック番号を特定する。
【００２５】
次にステップＳ３３０にて、ステップＳ３２０で判定したブロックから、ＲＡＭ（ランダムアクセスメモリ）上の特定領域に配置されている、訂正アドレス１〜ｎ、訂正データ１〜ｎで有効な訂正アドレスと訂正データをチェックする。このとき、ソフトウェアであらかじめ訂正アドレス１〜ｎと訂正データ１〜ｎは、不揮発性メモリ等から、マイクロコンピュータのＲＡＭに展開しておく必要がある。
【００２６】
次にステップＳ３４０にて、ステップＳ３３０でチェックした、有効な訂正アドレスと訂正データを訂正アドレスレジスタ１２０と訂正データレジスタ１２５に設定する。
【００２７】
このように、プログラムカウントとエリア比較器からのブロックが変更になった際に出力される割り込み信号とソフトウェアの処理にて、動的に訂正アドレスレジスタ１２０と訂正データレジスタ１２５を設定することが可能となる。
【００２８】
本発明の第３の実施の形態は、第１の実施の形態のエリア比較器１４５の代わりに修正モード判別器３１０を有し、設定された修正モードに応じて訂正アドレス１〜ｎ、訂正データ１〜ｎを訂正アドレスレジスタ１２０、訂正データレジスタ１２５に設定するものである。以下その方法について説明する。
【００２９】
図４は第３の実施の形態の基本構成を示すもので、第１の実施の形態と比較すると、次のように構成が異なる。エリア比較器１４５に代わり、修正モード判別器３１０を有し、訂正アドレス１〜ｎ、訂正データ１〜ｎに、それぞれ修正モードを追加して、これらを訂正アドレス１〜ｎ ３２０、訂正データ１〜ｎ ３３０としている。
【００３０】
動作方法としては、修正モード判別器３１０が有する修正モードレジスタの設定が変更になった際に、修正モード信号をＭＵＸ（セレクタ）３４０に通知する。ＭＵＸ（セレクタ）３４０は修正モード信号に従い、訂正アドレス１〜ｎ、訂正データ１〜ｎに設定されている修正モードと合致するものを訂正アドレスレジスタ３５０、訂正データレジスタ３６０に設定する。
【００３１】
次に、図４を用いて具体的に説明を行う。例えば、修正モードが０に設定されているとする。例えば修正モード０とはタスク０が動いているとき等のソフトウェアのモードを判別するものである。具体的にはタスク０を修正モード０、タスク１を修正モード２とすると、各タスクが起動した際に修正モードをソフトウェアによって書き換えることによって、モード０、すなわちタスク０の時のみの修正を行うことができる。
【００３２】
このときに、修正モードが１に変更になったときにのみ、修正モードの変更を検出し、修正モード信号をＭＵＸ（セレクタ）３４０におくる。ここでＭＵＸ（セレクタ）３４０は修正モード信号が１であるので、修正モード１で有効な訂正アドレス２（０ｘ０４００）と訂正アドレス３（０ｘ５００）、および、対応する訂正データ２（０ｘＢＣ）、訂正データ３（０ｘＤＥ）を訂正アドレスレジスタ２３５０の訂正アドレスレジスタ１、訂正アドレスレジスタ２、および訂正データレジスタ３６０の訂正データレジスタ１、訂正データレジスタ２に設定する。
【００３３】
このように、修正モード判別器３１０に設定されている修正モードにより、動的に訂正アドレスレジスタ３５０と訂正データレジスタ３６０を設定することが可能となる。
【００３４】
第４の実施の形態は、第３の実施の形態の修正モード判別器３１０の代わりに、ソフトウェアの実行箇所に応じて、ソフトウェアにて訂正アドレス１〜ｎ、訂正データ１〜ｎを訂正アドレスレジスタ、訂正データレジスタに設定するものである。以下その方法について説明する。
【００３５】
ソフトウェアをあらかじめ、図５に示すように、ブロック０〜ｎに分割しておく。そこで、ブロック０に入った時点で、ステップＳ５１０で訂正アドレス１〜ｎ、訂正データ１〜ｎからブロック０で有効となる訂正アドレス、訂正データを訂正アドレスレジスタ、訂正データレジスタに設定する。ステップ５２０で上記訂正データを用いた処理１を行う。上記の処理をブロック１でも同様に実行するもので、ステップ５３０でブロック１で有効となる訂正アドレス、訂正データを訂正アドレスレジスタおよび訂正データレジスタに設定し、ステップ５４０で処理２を実施し、同様にブロックｎにおいてステップ５５０で訂正アドレス、訂正データの設定を行い、ステップ５６０で処理ｎを実行する。このように各ブロック１〜ｎで実施することで、ソフトウェアの実行領域に応じて、動的に訂正アドレスレジスタと訂正データレジスタを設定することが可能となる。
【産業上の利用可能性】
【００３６】
本発明にかかるＲＯＭ修正装置は、ＲＯＭ修正装置を有するマイクロコンピュータのＲＯＭ修正装置の個数以上にＲＯＭ修正が可能となり、ＲＯＭ修正の個数を増やせる点でＲＯＭ修正装置等として有用である。
【図面の簡単な説明】
【００３７】
【図１】本発明の第１の実施の形態の、エリア比較器を有する動的ＲＯＭ修正装置のブロック図である。
【図２】エリア比較器による訂正アドレスおよび訂正データの設定を説明するブロック図である。
【図３】第２の実施の形態におけるエリア比較器による割り込み信号による動的ＲＯＭ修正方法のフローチャートである。
【図４】第３の実施の形態における修正モード判別器による訂正アドレスおよび訂正データの設定を説明するブロック図である。
【図５】第４の実施の形態におけるソフトウェアによる動的ＲＯＭ修正方法のフローチャートである。
【符号の説明】
【００３８】
１４５  エリア比較器
１５０  ＭＵＸ（セレクタ）
１６０  訂正アドレス１〜ｎ
１６５  訂正データ１〜ｎ
２１０  エリア比較器
３１０  修正モード判別器
３２０  訂正アドレス１〜ｎ
３３０  訂正データ１〜ｎ
【図１】
2006243882.tif 000003
【図２】
2006243882.tif 000004
【図３】
2006243882.tif 000005
【図４】
2006243882.tif 000006
【図５】
2006243882.tif 000007