(57)【特許請求の範囲】
【請求項１】
少なくとも搭載した装置の外部から記憶内容を書換不可能な第１ＲＯＭと、前記外部から記憶内容を書換可能な第２ＲＯＭと、前記第１ＲＯＭおよび前記第２ＲＯＭに記憶された各プログラムを、各プログラムの起動条件に応じて起動する制御部と、フラグ等を記憶するＲＡＭと、を有するプログラム記憶装置の制御方法であって、
前記第２ＲＯＭには、
前記第２ＲＯＭの書換処理中には起動されず、かつ、外部からの書換えが必要になる可能性を含む書換必要性を有する第２タイプのプログラムと、
前記書換処理中にも起動される起動可能性を有し、かつ、前記書換必要性を有するプログラムであって、前記書換処理中およびそれ以外の双方で割込が許可される可能性を有する割込処理を規定すると共に当該割込処理を起動する割込の発生により起動される第３タイプ割込処理プログラムを含む第３タイプのプログラムと、が記憶され、
前記第１ＲＯＭには、
外部からの書換えが不要であると共に、前記第２ＲＯＭを書き換えるための書換処理プログラムと、
外部からの書換えが不要であると共に、前記第２ＲＯＭ内のプログラムが書換処理中であるか否かを判別するための割込１次処理プログラムと、
少なくとも前記第３タイプの各プログラムの一部を含み、前記書換処理中に実行する処理が規定された、それぞれの第３タイプのプログラムに対応するプログラムであって、前記第３タイプ割込処理プログラムに規定された割込処理に対応して前記書換処理中に実行する処理を規定した第４タイプ割込処理プログラムを含む第４タイプのプログラムと、が記憶され、
前記制御部が、
前記書換処理プログラムの実行開始により、前記ＲＡＭ上のフラグを「書換処理中」に設定するフラグ設定ステップと、
前記書換処理プログラムを用いて前記第２ＲＯＭ内のプログラムを書き換える書換ステップと、
前記割込の発生により、実行中のプログラムの実行を中断するプログラム中断ステップと、
実行中のプログラムの実行を中断した後、前記第１ＲＯＭ内の前記割込１次処理プログラムを実行し、前記フラグが「書換処理中」であるか否かを判別する判別ステップと、
前記判別ステップにより前記フラグが「書換処理中」でないと判定した場合は、前記第３タイプ割込処理プログラムを実行し、前記フラグが「書換処理中」であると判定した場合は、前記第３タイプ割込処理プログラムに対応する前記第４タイプ割込処理プログラムを実行する割込処理実行ステップと、
前記第３タイプ割込処理プログラムまたは前記第４タイプ割込処理プログラムの実行終了により、前記プログラム中断ステップで中断された前記実行中のプログラムの実行を再開するプログラム再開ステップと、
前記書換処理プログラムの実行終了により、前記ＲＡＭ上のフラグの設定を解除するフラグ解除ステップと、
を実行することを特徴とするプログラム記憶装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、搭載した装置の外部から書換可能にプログラムを記憶する書換可能ＲＯＭ（フラッシュＲＯＭ等）と、外部からは書換不可能なＲＯＭ（マスクＲＯＭ等）とを備えて、プログラムの内容等に応じて使い分けるプログラム記憶装置の制御方法。
【０００２】
【従来の技術】
例えばパソコンやワープロ等を初めとして、小型のテープ印刷装置や印章作成装置等を含む情報処理装置では、一般的に、基本的には書き換えしない（書換えを前提としない）プログラム等をＲＯＭに記憶し、書き換えることを前提とする一時データ等を作業領域となるＲＡＭに記憶する。しかし、書換えを前提としないプログラム等であっても、例えば装置の仕様が確定しないうちに作成したプログラム等では、仕様変更等により変更したい場合も生じる。また、論理的不良（バグ）等が見つかって変更したい場合もある。また、一連のシリーズの装置群のうちの一部の装置（例えば上位機種に対する下位機種等）では、基本的なプログラムの一部のみを変更して、いわばその装置用にカスタマイズして利用したい場合もある。
【０００３】
そして、これらの要望に応えられる書換可能ＲＯＭの一種として、フラッシュＲＯＭが知られ、利用されている。このフラッシュＲＯＭを利用すれば、例えばパソコン等の装置から直接、またはインタネット等のネットワークを介して、ダウンロード等により、外部からのプログラム書換えが可能となる。ただし、一般的には、書換不可能なＲＯＭ（以下代表して「マスクＲＯＭ」）に比べて高価なので、価格と利便性とのトレードオフなどを勘案した上で、混在して使用されている。
【０００４】
また、フラッシュＲＯＭ書換中に使用（起動）される処理プログラムがある。この種のプログラムは、フラッシュＲＯＭ内に記憶しておくと、フラッシュＲＯＭ書換中に起動されたときに、その実行中に書き換えられて不正動作をする可能性があり、それを回避するために、（例えば起動時にそのプログラムの書換えが開始されていれば起動を中止し、書換えが開始されていなければ、プログラム全体をＲＡＭ等にコピー後に実行するなどの）余分かつ煩雑な不正回避処理を要することになるので、通常、マスクＲＯＭ内に記憶される。
【０００５】
もちろん、そのフラッシュＲＯＭの書換のためのフラッシュ書換プログラム自体がその一種である。また、それ以外にも、いわゆる入力や表示や印刷等のマンマシンインタフェース用の処理、例えばキーボードやマウスによる入力、あるいはそれと並行して実行される入力結果、処理結果またはそれらの途中経過その他のディスプレイへの表示、それらの印刷、等々も、フラッシュＲＯＭ書換中にも実行したい処理である。これらも、例えば新規プログラム（または修正プログラム）をフラッシュＲＯＭにダウンロードして書換中（通信中）にも、実行できるように、通常、マスクＲＯＭ側に記憶される。
【０００６】
【発明が解決しようとする課題】
しかし、上記のフラッシュＲＯＭ書換中の起動可能性を有するプログラム（例えば上記のマンマシンインタフェース（入力、表示、印刷等）用のプログラムなど）の中にも、後日の仕様変更等に対応できるように、フラッシュＲＯＭ側に記憶させたいプログラムがある。とはいえ、単にフラッシュＲＯＭ側にそれらを記憶させるだけでは、フラッシュＲＯＭ書換中の実行をあきらめる（書換中の実行を禁止する）か、余分かつ煩雑な不正回避処理を付加する必要がある。
【０００７】
本発明は、外部から書換可能な書換可能ＲＯＭに、外部からの書換必要性を有するプログラムを記憶させつつ、煩雑な不正回避処理を付加することなく書換可能ＲＯＭ書換中にも適切な処理を行うことができるプログラム記憶装置の制御方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明の請求項１のプログラム記憶装置の制御方法は、少なくとも搭載した装置の外部から記憶内容を書換不可能な第１ＲＯＭと、前記外部から記憶内容を書換可能な第２ＲＯＭと、前記第１ＲＯＭおよび前記第２ＲＯＭに記憶された各プログラムを、各プログラムの起動条件に応じて起動する制御部と、フラグ等を記憶するＲＡＭと、を有するプログラム記憶装置の制御方法であって、前記第２ＲＯＭには、前記第２ＲＯＭの書換処理中には起動されず、かつ、外部からの書換えが必要になる可能性を含む書換必要性を有する第２タイプのプログラムと、前記書換処理中にも起動される起動可能性を有し、かつ、前記書換必要性を有するプログラムであって、前記書換処理中およびそれ以外の双方で割込が許可される可能性を有する割込処理を規定すると共に当該割込処理を起動する割込の発生により起動される第３タイプ割込処理プログラムを含む第３タイプのプログラムと、が記憶され、前記第１ＲＯＭには、外部からの書換えが不要であると共に、前記第２ＲＯＭを書き換えるための書換処理プログラムと、外部からの書換えが不要であると共に、前記第２ＲＯＭ内のプログラムが書換処理中であるか否かを判別するための割込１次処理プログラムと、少なくとも前記第３タイプの各プログラムの一部を含み、前記書換処理中に実行する処理が規定された、それぞれの第３タイプのプログラムに対応するプログラムであって、前記第３タイプ割込処理プログラムに規定された割込処理に対応して前記書換処理中に実行する処理を規定した第４タイプ割込処理プログラムを含む第４タイプのプログラムと、が記憶され、前記制御部が、前記書換処理プログラムの実行開始により、前記ＲＡＭ上のフラグを「書換処理中」に設定するフラグ設定ステップと、前記書換処理プログラムを用いて前記第２ＲＯＭ内のプログラムを書き換える書換ステップと、前記割込の発生により、実行中のプログラムの実行を中断するプログラム中断ステップと、実行中のプログラムの実行を中断した後、前記第１ＲＯＭ内の前記割込１次処理プログラムを実行し、前記フラグが「書換処理中」であるか否かを判別する判別ステップと、前記判別ステップにより前記フラグが「書換処理中」でないと判定した場合は、前記第３タイプ割込処理プログラムを実行し、前記フラグが「書換処理中」であると判定した場合は、前記第３タイプ割込処理プログラムに対応する前記第４タイプ割込処理プログラムを実行する割込処理実行ステップと、
前記第３タイプ割込処理プログラムまたは前記第４タイプ割込処理プログラムの実行終了により、前記プログラム中断ステップで中断された前記実行中のプログラムの実行を再開するプログラム再開ステップと、前記書換処理プログラムの実行終了により、前記ＲＡＭ上のフラグの設定を解除するフラグ解除ステップと、
を実行することを特徴とするプログラム記憶装置の制御方法。
【０００９】
このプログラム記憶装置の制御方法では、外部からは書換不可能な第１ＲＯＭと外部から書換可能な第２ＲＯＭとの２種類のＲＯＭにプログラムを記憶する。ここで、各プログラムを、外部からの書換の（必要になる可能性を含む）書換必要性と、第２ＲＯＭの書換処理中における起動可能性とにより、タイプに分けると、書換必要性のない第１タイプと、書換必要性のみ有する第２タイプと、書換必要性と起動可能性の双方を有する第３タイプに分類される。しかし、ここでは、これらの他に、第３タイプの各プログラムの起動条件に対応させて、少なくとも書換処理中に実行する処理を規定した各プログラムを、それぞれに対応する第４タイプのプログラムとし、他のタイプのプログラムとともに記憶する。この場合、第２タイプおよび第３タイプの書換必要性を有するプログラムは、第２ＲＯＭ（書換可能ＲＯＭ）に記憶できる。また、第１タイプは書換不可能な第１ＲＯＭに記憶するので、第２ＲＯＭ書換中に起動されても不正動作等の問題は発生しない。また、第２タイプは、書換処理中には起動されないので、問題は生じない。そして、第３タイプの起動条件に対応する書換処理中の処理は、第４タイプとして第１ＲＯＭに記憶されているので、第２ＲＯＭ書換中に第３タイプが起動されたときには、それに対応する第４タイプのプログラムを起動するだけで、煩雑な不正回避処理を行うことなく適切な処理を行うことができる。したがって、このプログラム記憶装置の制御方法によれば、外部から書換可能な第２ＲＯＭ（書換可能ＲＯＭ）に、外部からの書換必要性を有するプログラム（第２、第３タイプ）を記憶させつつ、書換中の処理を規定したプログラム（第４タイプ）を別のＲＯＭ（第１ＲＯＭ）に記憶しておき書換中にはそれを起動することにより、煩雑な不正回避処理を付加することなく書換中にも適切な処理を行うことができる。また、第３タイプのプログラムには、書換処理中か否かに拘わらず割込の許可可能性を有する割込処理を規定した第３タイプ割込処理プログラムが含まれ、その起動条件には、割込処理を起動する割込の発生が含まれる。この場合、この割込の発生に対して書換処理中か否かに拘わらずに第３タイプ割込処理プログラムを起動することも可能ではあるが、それでは不正回避処理等を要するので、ここでは、対応する第４タイプ割込処理プログラムを用意して、その起動条件を、書込処理中のときの第３タイプ割込処理プログラムの起動条件の成立としている。このため、第２ＲＯＭ書換中に第３タイプを起動する割込が発生したときには、それに対応する第４タイプを起動することで、煩雑な不正回避処理を行うことなく必要な割込処理を行うことができる。
【００１０】
また、少なくとも当該装置の外部からは書換不可能にプログラムを記憶する第１ＲＯＭと、前記外部から書換可能にプログラムを記憶する第２ＲＯＭと、当該第２ＲＯＭ内のプログラムを前記外部から書き換える書換手段と、前記第２ＲＯＭの書換処理中か否かを判別する判別手段と、前記第１ＲＯＭおよび前記第２ＲＯＭに記憶された各プログラムを、各プログラムの起動条件に応じて起動すると共に、前記書換手段および前記判別手段を制御する制御部と、を備えたプログラム記憶装置であって、前記プログラム記憶装置は、外部からの書換えが不要な第１タイプのプログラムと、前記第２ＲＯＭを書き換えるための書換処理中には起動されず、かつ、外部からの書換えが必要になる可能性を含む書換必要性を有する第２タイプのプログラムと、前記書換処理中にも起動される起動可能性を有し、かつ、前記書換必要性を有する第３タイプのプログラムと、少なくとも前記第３タイプの各プログラムの一部を含み、前記書換処理中に実行する処理が規定された、それぞれの第３タイプのプログラムに対応する第４タイプのプログラムと、を備え、前記第１ＲＯＭは、前記第１タイプおよび前記第４タイプのプログラムを有し、前記第２ＲＯＭは、前記第２タイプおよび前記第３タイプのプログラムを有し、前記判別手段は、前記第１タイプのプログラムを用いて前記第２ＲＯＭ内のプログラムが書換処理中か否かを判別し、前記制御部は、前記第３タイプのプログラムが起動されたとき、前記判別手段により前記第２ＲＯＭの書換処理中だと判別した場合、当該第３タイプのプログラムに対応する前記第４タイプのプログラムを起動して所定の処理を実行し、前記第２ＲＯＭの書換処理中以外だと判別した場合、当該第３タイプのプログラムを起動して所定の処理を実行することを特徴とする。
【００１１】
この構成によれば、外部からは書換不可能な第１ＲＯＭと外部から書換可能な第２ＲＯＭとの２種類のＲＯＭにプログラムを記憶し、かつ、第２ＲＯＭの記憶内容を外部から書き換えることができる。また、請求項１で上述したのと同様に、各プログラムを、外部からの書換の（必要になる可能性を含む）書換必要性と、第２ＲＯＭの書換処理中における起動可能性とにより、第１タイプ〜第３タイプに分類し、かつ、これらの他に、第３タイプの起動条件に対応させて、第２ＲＯＭ書換処理中に実行する処理を規定して第４タイプのプログラムとして、他のタイプのプログラムとともに記憶し、第２ＲＯＭの書換処理中に第３タイプのプログラムの起動条件が成立したときには、それに対応する第４タイプのプログラムを起動する。したがって、このプログラム記憶装置によれば、外部から書換可能な第２ＲＯＭ（書換可能ＲＯＭ）に、外部からの書換必要性を有するプログラム（第２、第３タイプ）を記憶させつつ、煩雑な不正回避処理を付加することなく書換中にも適切な処理（第４タイプの処理）を行うことができる。
【００１２】
また、請求項１のプログラム記憶装置の制御方法において、前記第２ＲＯＭはフラッシュＲＯＭであることが好ましい。
【００１４】
このプログラム記憶装置の制御方法では、第２ＲＯＭはフラッシュＲＯＭなので、そのフラッシュＲＯＭ書換中に起動される可能性を有しかつ外部からの書換必要性を有するプログラム（第３タイプのプログラム）を、フラッシュＲＯＭに記憶させつつ、煩雑な不正回避処理を付加することなくフラッシュＲＯＭ書換中にも適切な処理（第４タイプのプログラムにより規定された処理）を行うことができる。
【００１６】
また、前記第３タイプのプログラムには、前記書換処理中およびそれ以外の双方で割込が許可される可能性を有する割込処理を規定した第３タイプ割込処理プログラムが含まれ、当該第３タイプ割込処理プログラムは、少なくとも前記割込処理を起動する割込の発生により起動され、前記第４タイプのプログラムには、前記第３タイプ割込処理プログラムに規定された割込処理に対応して前記書換処理中に実行する処理を規定した第４タイプ割込処理プログラムが含まれ、前記第３タイプ割込処理プログラムは、前記第３タイプ割込処理プログラムを起動する割込が発生した際に、前記判別手段により前記第２ＲＯＭの書換処理中以外と判別された場合に実行され、前記第４タイプ割込処理プログラムは、前記第３タイプ割込処理プログラムを起動する割込が発生した際に、前記判別手段により前記第２ＲＯＭの書換処理中と判別された場合に実行されることが好ましい。
【００１７】
この構成によれば、第３タイプのプログラムには、書換処理中か否かに拘わらず割込の許可可能性を有する割込処理を規定した第３タイプ割込処理プログラムが含まれ、その起動条件には、割込処理を起動する割込の発生が含まれる。この場合、この割込の発生に対して書換処理中か否かに拘わらずに第３タイプ割込処理プログラムを起動することも可能ではあるが、それでは不正回避処理等を要するので、ここでは、対応する第４タイプ割込処理プログラムを用意して、その起動条件を、書込処理中のときの第３タイプ割込処理プログラムの起動条件の成立としている。このため、第２ＲＯＭ書換中に第３タイプを起動する割込が発生したときには、それに対応する第４タイプを起動することで、煩雑な不正回避処理を行うことなく必要な割込処理を行うことができる。
【００２０】
【発明の実施の形態】
以下、本発明の一実施形態に係るプログラム記憶装置の制御方法を適用した情報処理装置について、添付図面を参照しながら詳細に説明する。
【００２１】
まず、本実施形態のプログラム記憶装置の制御方法は、例えばテープ印刷装置などの情報処理装置に内蔵され、図１に示すように、装置外部からは書換不可能なマスクＲＯＭから成るＲＯＭ１（第１ＲＯＭ）と、外部から書換可能なフラッシュＲＯＭから成るＲＯＭ２（第２ＲＯＭ）との２種類のＲＯＭにプログラムを記憶し、ＲＡＭ３を処理対象のデータ等を記憶する作業領域（ワークエリア）とする。
【００２２】
また、このプログラム記憶装置は、それを内蔵する情報処理装置と兼用で、図外のマンマシンインタフェース部（入力部や表示部や印刷部を含む操作部）と、ＲＯＭ２内のプログラムを外部から書き換えるための図外のインタフェース部（通信部：書換手段）と、ＲＯＭ１およびＲＯＭ２に記憶された各プログラムを各起動条件に応じて起動する図外の制御部（プログラム起動手段、プログラム処理手段）と、を備えている。また、このプログラム記憶装置を内蔵する本実施形態の情報処理装置では、プログラム記憶装置内に記憶されたプログラムのうちの起動されたプログラムに従って処理（いわゆる情報処理）を行う。
【００２３】
図１に示すように、ＲＯＭ１の記憶領域１０には、各プログラムを起動する際に参照される先頭アドレスを示すいわゆるベクタ（Ｐｒ１）の領域１０１、割込発生時に（図３参照）ベクタ（Ｐｒ１）を介して起動される最初の処理（割込１次処理）のプログラム（Ｐｒ２）の領域１０２、ＲＯＭ２書換中に上記割込１次処理によって起動される割込処理（割込２次処理）のプログラム（Ｐｒ３）の領域１０３、電源投入時の初期設定等で起動される初期起動用のブート（ＢＯＯＴ）処理のプログラム（Ｐｒ４）の領域１０４、ＲＯＭ２（フラッシュＲＯＭ）書換処理のプログラム（Ｐｒ５）の領域１０５、および、その他のプログラム（Ｐｒ８）の領域１０６が確保されている。
【００２４】
また、ＲＯＭ２の記憶領域２０には、上述のＲＯＭ２書換中（フラッシュ書換中）の割込２次処理プログラム（Ｐｒ３）に対応して、ＲＯＭ２書換中以外のときに上記割込１次処理によって起動される割込処理（割込２次処理）のプログラム（Ｐｒ６）の領域２０１、通常処理（ＯＳその他の一般処理）のプログラム（いわば情報処理装置としてのプログラム本体（Ｐｒ７））の領域２０２、および、その他のプログラム（Ｐｒ９）の領域２０３が確保されている。
【００２５】
なお、これらの他、図外の各種制御に用いられる各種レジスタ類や各種フラグ類を有するが、これらの領域をＲＡＭ３内に確保しても良い。また、ＲＯＭ２（フラッシュＲＯＭ）の書換中か否か（図３参照）は、例えば上記フラグ類の一種としてフラッシュ書換中フラグを設け、フラッシュＲＯＭ書換処理プログラム（Ｐｒ５）の起動時にセットし、終了時にリセットするようにすれば、そのフラッシュ書換中フラグの状態により判別できる。
【００２６】
ここで、後日の仕様変更等やカスタマイズ等があったときに（あるいは有りそうなので）外部からの書換が必要になりそうなことを「書換必要性」有り、ＲＯＭ２の書換中（すなわちフラッシュＲＯＭ書換処理プログラム（Ｐｒ５）の実行中）にも起動される可能性があることを「起動可能性」有りとし、各プログラムをタイプ別に分けると、図２に示すように、書換必要性と起動可能性の双方を有するタイプＡ、書換必要性はあるが起動可能性がないタイプＢ、書換必要性がないタイプＣに分類できる。
【００２７】
本実施形態では、例えば上述のベクタ（Ｐｒ１）、割込１次処理プログラム（Ｐｒ２）、ＢＯＯＴ処理プログラム（Ｐｒ４）、フラッシュＲＯＭ書換処理プログラム（Ｐｒ５）、および、その他のプログラム（Ｐｒ８）を、タイプＣ（第１タイプ）とする。すなわち、これらについては、何らかの仕様変更等があっても、外部からの書換えによって対処しないものとする。また、これらは、ＲＯＭ１（書換不可能ＲＯＭ：第１ＲＯＭ）に記憶するので、ＲＯＭ２（第２ＲＯＭ）の書換中に起動されても、それによって不正動作するなどの可能性はない（すなわち不正動作等の問題は発生しない）。
【００２８】
また、例えば上述のプログラム本体（Ｐｒ７）およびその他のプログラム（Ｐｒ９）を、タイプＢ（第２タイプ）とする。すなわち、これらについては、何らかの仕様変更等により外部からの書換えを要する可能性（書換必要性）があるので、書換可能なＲＯＭ２に記憶するが、ＲＯＭ２の書換中には起動されないので、問題は生じない。
【００２９】
次に、書換必要性と起動可能性の双方を有するタイプＡであるが、これは、仕様変更等により外部からの書換必要性があるので、基本的には、書換可能なＲＯＭ２に記憶したいが、ＲＯＭ２の書換中にも起動されるので、不正動作をしないようにする必要がある。
【００３０】
そこで、本実施形態では、余分かつ煩雑な不正回避処理を付加する代わりに、このタイプＡのプログラムを、ＲＯＭ２書換中に実行する処理を規定したプログラムと、それ以外のときに実行する処理を規定したプログラムと、の２種類のタイプのプログラムに分けて規定し、前者を第４タイプとしてＲＯＭ１に記憶し、後者を第３タイプとしてＲＯＭ２に記憶する。両者は、ＲＯＭ２書換中か否か以外の起動条件は同一とし、ＲＯＭ２書換中に起動されたときには前者（第４タイプ）、それ以外のときに起動されたときには後者（第３タイプ）を起動する。
【００３１】
上述の図１の例では、割込２次処理プログラム（Ｐｒ３）を第４タイプとしてＲＯＭ１に、割込２次処理プログラム（Ｐｒ６）を第３タイプとしてＲＯＭ２に記憶している。
【００３２】
図３に示すように、これらを起動する割込が発生すると、まず、割込処理（割込１次処理：Ｐｒ２）が起動され（Ｓ１０）、フラグ（フラッシュ書換中フラグ））等の状態を検出してフラッシュＲＯＭ書換中か否かを判別し（Ｓ１１〜Ｓ１２；判別手段）、フラッシュＲＯＭ書換中のときには（Ｓ１２：Ｙｅｓ）、フラッシュ書換中のために用意された割込２次処理（Ｐｒ３）を起動して実行し（Ｓ１３）、フラッシュＲＯＭ書換中以外のときには（Ｓ１２：Ｎｏ）、それ以外のとき（通常時）の処理用に用意された割込２次処理（Ｐｒ６）を起動して実行し（Ｓ１３）、割込処理（Ｓ１０）を終了する（Ｓ１５）。
【００３３】
上述のように、本実施形態では、外部から書換可能なＲＯＭ２（第２ＲＯＭ：書換可能ＲＯＭ）に、外部からの書換必要性を有するプログラム（第２、第３タイプ）を記憶させつつ、書換中の処理を規定したプログラム（第４タイプ）をＲＯＭ１（別のＲＯＭ：第１ＲＯＭ）に記憶しておき、ＲＯＭ２書換中にはそれを起動することにより、煩雑な不正回避処理を付加することなく、ＲＯＭ２書換中にも適切な処理を行うことができる。
【００３４】
また、本実施形態では、タイプＡ（第３タイプ）として、書換処理中か否かに拘わらず割込が許可される可能性を有する割込処理（を規定した第３タイプ割込処理プログラム：Ｐｒ６）を例示しているが、その起動条件には、割込処理を起動する割込の発生が含まれる。
【００３５】
この場合、この割込の発生に対して書換処理中か否かに拘わらずに（フラッシュ書込中か否かの判断をせずに）第３タイプ割込処理を起動することも可能ではあるが、それでは（例えば起動時に）余分かつ煩雑な不正回避処理等を要するので、ここでは、対応する第４タイプ（割込処理プログラム：Ｐｒ３）を用意して、その起動条件を、ＲＯＭ２書込中か否か以外は第３タイプと同一（書込処理中のときの割込発生：第３タイプ割込処理の起動条件の成立）としている。
【００３６】
このため、ＲＯＭ２（第２ＲＯＭ）書換中に第３タイプ（Ｐｒ６）を起動する割込が発生したときには、それに対応する（ＲＯＭ１（第１ＲＯＭ）に記憶された）第４タイプ（Ｐｒ３）を起動することで、煩雑な不正回避処理を行うことなく必要な割込処理を行うことができる。
【００３７】
なお、第３タイプとそれに対応する第４タイプにおける処理内容は、全く同一でも良いし、全く異なっていても良いし、重複していても良い。また、第３タイプで規定された処理内容の一部を第４タイプの処理内容としても良い。
【００３８】
例えばユーザの所望の仕様の安定化や、装置としての安定供給が可能になるなど、バグ回避等も含めて仕様が確定して書換えが必要なくなり次第、ＲＯＭ１側に記憶させて（タイプＣ：第１タイプ）プログラムにできるように、すなわち、この場合、将来的には対応する第４タイプ（Ｐｒ３）を削除できるように、ＲＯＭ２書換中の処理をも含めて、第３タイプの割込２次処理プログラム（Ｐｒ６）を作成することもできる。そして、ＲＯＭ２書換中にも必要な処理（例えば外部装置との通信処理や各種のマンマシンインタフェース処理）のみを抽出（抜粋）して（使用機能を絞って）、第４タイプの割込２次処理プログラム（Ｐｒ３）とすることもできる。
【００３９】
なお、この場合、割込２次処理プログラム（Ｐｒ６）のうちの、割込２次処理プログラム（Ｐｒ３）への抽出部分（すなわち第４タイプとの共通部分）のみを第３タイプ、その他の部分を（書込中には実行されないという意味で）第２タイプと把握することもできる。もちろん、これらの他、同様の関係、すなわち将来を考えると書込必要性はあるが、ＲＯＭ２書換中にも実行したい処理がある（処理が含まれる）場合には、それが割込処理か否かに拘わらず、第３タイプおよびそれに対応する第４タイプとして同様に構成（記憶）できる。
【００４０】
【発明の効果】
上述のように、本発明のプログラム記憶装置の制御方法によれば、外部から書換可能な書換可能ＲＯＭに、外部からの書換必要性を有するプログラムを記憶させつつ、煩雑な不正回避処理を付加することなく書換可能ＲＯＭ書換中にも適切な処理を行うことができる、などの効果がある。
【図面の簡単な説明】
【図１】  本発明の一実施形態に係るプログラム記憶装置の制御方法を適用した情報処理装置のメモリマップの説明図である。
【図２】図１の２種類のＲＯＭに記憶されたプログラムのタイプ別分類および格納領域の説明図である。
【図３】図１の情報処理装置の割込処理を示すフローチャートである。
【符号の説明】
１      ＲＯＭ（第１ＲＯＭ：書換不可能ＲＯＭ：マスクＲＯＭ）
２      ＲＯＭ（第２ＲＯＭ：書換可能ＲＯＭ：フラッシュＲＯＭ）
３      ＲＡＭ
１０    ＲＯＭ１の格納（記憶）領域
２０    ＲＯＭ２の格納（記憶）領域
３０    ＲＡＭ３の格納（記憶）領域
Ｐｒ１〜Ｐｒ９  ……  プログラム
【図１】
0004061914.tif 000002
【図２】
0004061914.tif 000003
【図３】
0004061914.tif 000004