(57)【要約】【課題】外部より、ワンチップマイクロコンピュータに内蔵されたマスクＲＯＭのプログラムもしくはデータを修正可能とする。【解決手段】ワンチップマイクロコンピュータ６に内蔵されたマスクＲＯＭ２と外部ＥＰＲＯＭ５に夫々バージョン情報を付加し、それらのバージョン番号を比較することにより、常に新しいバージョンのプログラム（ＴＡＳＫ，サブルーチン）を実行することや、新しいバージョンの更新データを利用することができるようにする。また、各ユーザに個別に対応することもできる。【選択図】図１
2006313560.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコンピュータなどに内蔵されているプログラムを、該マイクロコンピュータの外部から等価的に修正することができるようにしたマイクロコンピュータ制御システムにおいて、
該マイクロコンピュータなどに内蔵されているプログラム全体と該マイクロコンピュータの外部に用意された修正すべきプログラム全体とに夫々バージョン情報を付加し、該バージョン情報を用いて、該マイクロコンピュータなどに内蔵されているプログラムを使用するのか、該マイクロコンピュータの外部に用意された修正すべきプログラムを使用するのかを判断することを特徴とするマイクロコンピュータ制御システム。
【請求項２】
マイクロコンピュータなどに内蔵されているデータを、該マイクロコンピュータの外部より等価的に修正することができるようにしたマイクロコンピュータ制御システムにおいて、
該マイクロコンピュータなどに内蔵されているデータ全体と該マイクロコンピュータの外部に用意された修正すべきデータ全体とに夫々バージョン情報を付加し、該バージョン情報を用いて、該マイクロコンピュータなどに内蔵されているデータを使用するのか、該マイクロコンピュータの外部に用意された修正すべきデータを使用するのかを判断することを特徴とするマイクロコンピュータ制御システム。
【請求項３】
請求項１に記載のマイクロコンピュータ制御システムにおいて、
前記マイクロコンピュータなどに内蔵されている個々のプログラムと前記マイクロコンピュータの外部に用意された修正すべき個々のプログラムとに夫々バージョン情報を付加し、該バージョン情報を用いて、前記マイクロコンピュータなどに内蔵されているプログラムを使用するのか、前記マイクロコンピュータの外部に用意された修正すべきプログラムを使用するのかを判断することを特徴とするマイクロコンピュータ制御システム。
【請求項４】
請求項２に記載のマイクロコンピュータ制御システムにおいて、
前記マイクロコンピュータなどに内蔵されている個々のデータと前記マイクロコンピュータの外部に用意された修正すべき個々のデータとに夫々バージョン情報を付加し、該バージョン情報を用いて、前記マイクロコンピュータなどに内蔵されているデータを使用するのか、前記マイクロコンピュータの外部に用意された修正すべきデータを使用するのかを判断することを特徴とするマイクロコンピュータ制御システム。
【請求項５】
請求項１，２，３または４のいずれかに記載のマイクロコンピュータ制御システムにおいて、
前記マイクロコンピュータの外部に用意された修正すべきプログラムもしくはデータが格納された記憶部に識別情報を付加し、該識別情報を用いて、前記マイクロコンピュータ制御システムに適合する修正すべきプログラムもしくはデータが格納された記憶部であるかどうかを判断することを特徴とするマイクロコンピュータ制御システム。
【請求項６】
請求項１，２，３または４のいずれかに記載のマイクロコンピュータ制御システムにおいて、
前記バージョン番号を記憶する記憶領域を、固定アドレスとしたことを特徴とするマイクロコンピュータ制御システム。
【請求項７】
請求項５に記載のマイクロコンピュータ制御システムにおいて、
前記識別情報を記憶する記憶領域を、固定アドレスとしたことを特徴とするマイクロコンピュータ制御システム。
【請求項８】
請求項１，２，３，４，５，６または７のいずれかに記載のマイクロコンピュータ制御システムにおいて、
前記マイクロコンピュータなどに内蔵されている幾つかのプログラムもしくはデータが、実体がないプログラムもしくはデータで構成されていることを特徴とするマイクロコンピュータ制御システム。
【請求項９】
請求項１，２，３，４，５，６，７または８のいずれかに記載のマイクロコンピュータ制御システムにおいて、
前記マイクロコンピュータの外部に，外部デバイスを付加し、修正すべきプログラムもしくはデータを，前記外部デバイスから供給することを特徴とするマイクロコンピュータ制御システム。
【請求項１０】
請求項１，２，３，４，５，６，７，８または９のいずれかに記載のマイクロコンピュータ制御システムにおいて、
修正すべきプログラムもしくはデータに暗号化を施して、前記マイクロコンピュータの外部に接続された記憶部に格納したことを特徴とするマイクロコンピュータ制御システム。
【請求項１１】
請求項９に記載のマイクロコンピュータ制御システムにおいて、
前記外部デバイスとして、情報記録媒体再生装置を使用し、修正すべきプログラムもしくはデータを、前記情報記録媒体再生装置に格納する情報記録媒体に記録したことを特徴とするマイクロコンピュータ制御システム。
【請求項１２】
請求項１１に記載のマイクロコンピュータ制御システムにおいて、前記情報記録媒体として、光ディスクを採用したことを特徴とするマイクロコンピュータ制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の記憶手段に記憶されたプログラムもしくはデータに基づき制御されるマイクロコンピュータ制御システムに関する。
【背景技術】
【０００２】
従来、内臓ＲＯＭを擬似的に変更できるようにしたマイクロコンピュータ制御システムの一従来例として、例えば、特許文献１に記載の制御装置がある。
【０００３】
【特許文献１】特開平７−１８２１５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この制御装置は、その制御手順を示した制御プログラムを記憶するＲＯＭと、その制御プログラムを実行して装置を制御する処理装置とからなり、さらに、このＲＯＭ内の制御プログラムの一部に置き換わる置換プログラムとこの置き換えを行うか否かを指示する置換指定情報とを記憶した不揮発性メモリを着脱自在に備え、この置換指定情報に応じて、制御プログラムか、置換プログラムかを実行する。この結果、当初のプログラムＲＯＭを交換することなく、プログラムの修正を行うことができるものである。
【０００５】
ところで、上記特許文献１では、当初のプログラムＲＯＭを交換することなく、プログラムの修正ができるようにしたもであるが、この修正は不揮発性メモリに記憶されている置換指定情報で決まるから、例えば、当初のプログラムＲＯＭ内の制御プログラムの一部を修正してそのバージョンアップを図った制御装置を新たに作成し、これにこの不揮発性メモリを使用した場合には、この修正された部分がこの不揮発性メモリの置換指定情報でその置換プログラムと置換するように指示された部分であると、この修正された部分は利用されないことになる。これを防止するためには、プログラムＲＯＭの制御プログラムの修正とともに、これに対応した置換プログラムの不揮発性メモリを新たに必要となる。
【０００６】
このように、上記従来の技術では、内蔵されているＲＯＭ内の制御プログラムと外部の置換プログラムとを独立に変更することについては、全く配慮がされていなかった。
【０００７】
本発明の目的は、内蔵されているメモリ内の制御プログラムもしくはデータと外部のメモリの置換プログラムもしくはデータとを独立に変更することができるようにしたマイクロコンピュータ制御システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達するために、本発明は、内蔵されているメモリ内の制御プログラムもしくはデータと外部メモリの置換プログラムもしくはデータとにバージョン情報を付加し、そのバージョン情報により、内蔵されているメモリ内の制御プログラムもしくはデータを使用するのか、外部メモリの置換プログラムもしくはデータを使用するのかを判別する。
【０００９】
また、本発明では、上記バージョン情報に限定せず、複数あるプログラムもしくはデータを比較して、所用のプログラムもしくはデータを判別して、その結果に基づき、内部または、外部のプログラムもしくはデータを使用することによって、上記目的は達成される。
【発明の効果】
【００１０】
本発明によれば、ワンチップ内のＲＯＭのバージョン情報と外部ＥＰＲＯＭ内やフラッシュメモリ内もしくはＤＲＡＭ内のバージョン番号を比較するので、常に新しいバージョンのプログラム（ＴＡＳＫ，サブルーチン）を実行することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態を図面を用いて説明する。
【００１２】
第１図は、本発明によるマイクロコンピュータ制御システムの一実施形態を示すハードウェアブロック図であって、１はＣＰＵ（Central Processing Unit）、２はＲＯＭ（Read Only Memory）、３はＲＡＭ（Random Access Memory）、４はＩ／Ｏ（Input／Output）部、５はＥＰＲＯＭ（Erasable Programmable ROM）、６はワンチップマイクロコンピュータ、７はアドレスバス、８はデータバス、９は制御バスである。
【００１３】
同図において、この実施形態は、ＣＰＵ１やＲＯＭ２，ＲＡＭ３，Ｉ／Ｏ部４が１つの同じチップに格納されてなるワンチップマイクロコンピュータ６と、これとアドレスバス７やデータバス８，制御バス９によって接続される外部のＥＰＲＯＭ５とから構成されている。ＣＰＵ１はシステム全体を制御するものであって、このＣＰＵ１を動作させる手順（プログラム）やデータなどがＲＯＭ２に記憶されている。このＲＯＭ２は外部から書き換えすることができないメモリであり、ＲＡＭ３はデータ保存などに利用される書き換え可能なメモリである。Ｉ／Ｏ部４は外部とのデータなどの入出力に利用する。ＥＰＲＯＭ５には、外部から書き換えできないＲＯＭ２のプログラムやデータを等価的に置き換えるためのプログラムやデータが記憶されている。
【００１４】
ＣＰＵ１は、上記チップ内で、アドレス信号群を意味するアドレスバス７やＣＰＵ１の入出力データ信号群を意味するデータバス８，リードライト信号等の制御信号群を意味する制御バス９を介して、ＲＯＭ２やＲＡＭ３，Ｉ／Ｏ部４，ＥＰＲＯＭ５と結合している。
【００１５】
第２図（ａ）はＲＯＭ２に格納されている情報内容を、また、第２図（ｂ）はＥＰＲＯＭ５に格納されている情報内容を夫々示す。
【００１６】
第２図（ａ）において、ＲＯＭ２には、アドレス空間での記憶領域２００にリセットベクトルが、記憶領域２０１にバージョン情報であるバージョン番号ａが夫々記憶されており、記憶領域２０２，２０３には夫々ＴＡＳＫ１ａアドレス，ＴＡＳＫ２ａアドレスが記憶され、これらＴＡＳＫ１ａアドレス，ＴＡＳＫ２ａアドレスに対応するＴＡＳＫ１ａルーチン，ＴＡＳＫ２ａルーチンが記憶領域２０４，２０５に夫々記憶されているものとする。
【００１７】
また、第２図（ｂ）において、ＥＰＲＯＭ５には、記憶領域２１０に識別情報（識別コード）、記憶領域２１１にバージョン情報であるバージョン番号ｂが夫々記憶されており、記憶領域２１２，２１３には夫々ＴＡＳＫ１ｂアドレス，ＴＡＳＫ２ｂアドレスが記憶され、これらＴＡＳＫ１ｂアドレス，ＴＡＳＫ２ｂアドレスに対応するＴＡＳＫ１ｂルーチン，ＴＡＳＫ２ｂルーチンが記憶領域２１４，２１５に夫々記憶されているものとする。
【００１８】
第３図は電源投入時もしくはリセット時のこの実施形態の処理動作を示すフローチャートであって、以下、第２図及び第３図を用いてこの処理手順を説明する。
【００１９】
電源投入時もしくはリセット時には、ＲＯＭ２のリセットベクトルが格納されている記憶領域２００を指定するアドレスをＣＰＵ１が発行し、この記憶領域２００に格納されている情報（即ち、リセットベクトル）を読み出し、そのリセットベクトル（最初に動作するプログラムが格納されている先頭のアドレス）に制御を移す。
【００２０】
そして、電源投入時もしくはリセット時に最初に動作するプログラムでは、ＣＰＵ１の内部レジスタの初期設定やＩ／Ｏ部４の初期条件設定，ＲＡＭ３の内部初期化などの初期設定を行う（ステップ３０）。
【００２１】
次に、外部にＥＰＲＯＭ５が接続されているかどうかを判定する（ステップ３１）。具体的には、接統されているＥＰＲＯＭ５の記憶領域を読み出し、データの存在を確認することにより判別する。外部にＥＰＲＯＭ５が接続されていない場合は、ステップ３６へ移行するが、外部にＥＰＲＯＭ５が接続されている場合には、これがこの実施形態のマイクロコンピュータ制御システムに合致する所定のＥＰＲＯＭであるかどうかを判定する（ステップ３２）。これは、ＥＰＲＯＭ５の特定の記憶領域（ここでは、記憶領域２１０）に識別情報（識別コード）（例えば、文字コード「△△△△」や、ＥＰＲＯＭ５内のデータ及びプログラムコードから生成するハッシュ値など）を記録しておき、その識別情報（識別コード）が所定のものであるかどうかによって判定する。接続されているＥＰＲＯＭ５がこのマイクロコンピュータ制御システムに合致するＥＰＲＯＭでない場合は、ステップ３６へ移行する。
【００２２】
このＥＰＲＯＭ５がこのマイクロコンピュータ制御システムに合致する所定のＥＰＲＯＭであるときには、ＲＯＭ２の記憶領域２０１に格納されているバージョン情報（バージョン番号ａ）とＥＰＲＯＭ５の記憶領域２１１に格納されているバージョン情報（バージョン番号ｂ）とを比較し（ステップ３３）、その比較の結果、ＥＰＲＯＭ５のバージョン番号ｂの方が新しい場合には、ステップ３５に移行し、ＲＯＭ２のバージョン番号ａの方が新しい場合には、ステップ３６に移行する（ステップ３４）。
【００２３】
ステップ３５では、ＥＰＲＯＭ５に記憶されているＴＡＳＫのアドレス（ここでは、記憶領域２１２でのＴＡＳＫ１ｂアドレスと記憶領域２１３でのＴＡＳＫ２ｂアドレス）をＲＡＭ３に登録する。このＲＡＭ３に登録されている状態を第４図に示す。ここでは、登録されているのは、ＥＰＲＯＭ５に記憶されているＴＡＳＫのアドレスであるから、例えば、記憶領域４０にＴＡＳＫ１ｂアドレスが、記憶領域４１にＴＡＳＫ２ｂアドレスが夫々登録されている。
【００２４】
ステップ３６では、ＲＯＭ２に記録されているＴＡＳＫのアドレス（ここでは、記憶領域２０２でのＴＡＳＫ１ａアドレスと記憶領域２０３でのＴＡＳＫ２ａアドレス）をＲＡＭ３に登録する。この場合、ＲＡＭ３に登録されているＴＡＳＫアドレスは、第４図に示したの内容と異なり、例えば、機構領域４０にＴＡＳＫ１ａアドレスが、記憶領域４１にＴＡＳＫ２ａアドレスが夫々登録されることになる。
【００２５】
ＲＡＭ３に登録されたＴＡＳＫを読み出す場合には、このＲＡＭ３に登録されている各ＴＡＳＫのアドレスを用いて読み出す。ＲＡＭ３に登録されているＴＡＳＫのアドレスが、第４図に示したように、ＥＰＲＯＭ５でのＴＡＳＫ１ｂアドレスとＴＡＳＫ２ｂアドレスである場合には、ＴＡＳＫ１はＥＰＲＯＭ５の記憶領域２１４に記憶されているＴＡＳＫ１ｂルーチンを実行し、ＴＡＳＫ２はＥＰＲＯＭ５の記憶領域２１５に記憶されているＴＡＳＫ２ｂルーチンを実行する。この場合には、ＲＯＭ２に記憶されているプログラムやデータ全体がＥＰＲＯＭ５に記憶されているプログラムやデータと置き換えられ、ＥＰＲＯＭ５に記憶されているプログラムやデータが使用されることになる。
【００２６】
逆に、ＲＡＭ３に登録されているＴＡＳＫアドレスがＲＯＭ２でのＴＡＳＫ１ａアドレスとＴＡＳＫ２ａアドレスの場合には、ＴＡＳＫ１はＲＯＭ２の記憶領域２０４に記憶されているＴＡＳＫ１ａルーチンを実行し、ＴＡＳＫ２はＲＯＭ２の記憶領域２０５に記憶されているＴＡＳＫ２ａルーチンを実行する。この場合には、ＲＯＭ２に記憶されているプログラムやデータの方が使用されることになる。
【００２７】
従って、ＲＯＭ２に格納されるプログラムやデータが修正されてバージョンアップしたマイクロコンピュータ制御システムが開発されても、その度にＲＯＭ２のバージョン番号ａが新しいものに変更されていくから、修正される前のプログラムやデータを格納したＲＯＭ２を内蔵したマイクロコンピュータ制御システムに使用されて外部のＥＰＲＯＭ５を使用しても、このバージョン番号ａがこのＥＰＲＯＭ５のバージョン番号ｂよりも新しければ、修正されたプログラムやデータが利用されることになる。勿論、外部のＥＰＲＯＭ５のプログラムやデータが修正され、そのバージョン番号ｂがＲＯＭ２のバージョン番号ａよりも新しくなると、このＥＰＲＯＭ５のプログラムやデータが利用されることになる。このように、ＲＯＭ２のバージョン番号ａとＥＰＲＯＭ５のバージョン番号ｂとの任意の組み合わせが可能となり、ＲＯＭ２のプログラムやデータとＥＰＲＯＭ５のプログラムやデータとは独立に変更することができて、しかも、このように変更があっても、これらＲＯＭ２のプログラムやデータとＥＰＲＯＭ５のプログラムやデータとは有機的に結合して利用されることになる。
【００２８】
なお、ＲＯＭ２バージョン番号ａは、新しくなるほど、１００，２００，３００，……のように、あるブロック単位で増加し、バージョン番号ｂは、１０１，２１３，３６５，……のように、細かい値を持って増加する。これにより、これらのバージョン番号ａ，ｂに差が必ず生じ、その大小関係でバージョンの新旧を判断することができる。仮に、バージョン番号が一致した場合は、ＲＯＭ２のプログラムやデータを利用することにすれば、不都合は生じない。
【００２９】
なお、第２図の実施形態で、記憶領域２００，２０１，２０２，２０３，２１０，２１１，２１２，２１３は、夫々、絶対アドレス空間内で、アドレスの絶対値が固定的に決定されている固定アドレスになっている方が、システム構成上有効である。但し、本発明の実施を固定アドレスのみに限定するものではない。
【００３０】
第５図（ａ）は本発明によるマイクロコンピュータ制御システムの他の実施形態でのワンチップマイクロコンピュータ６内のＲＯＭ２に格納されている情報内容を、第５図（ｂ）は同じく外部のＥＰＲＯＭ５に格納されている情報内容を夫々示す。この実施形態のハードウェア構成も第１図に示したものと同様である。
【００３１】
第５図（ａ）において、ＲＯＭ２には、記憶領域５００，５０１に夫々リセットベクトル、バージョン番号ａが記憶されており、記憶領域５０２以降には、ＴＡＳＫアドレスが夫々毎にバージョン番号が付加されて記憶され、これらＴＡＳＫアドレスに対するＴＡＳＫルーチンが記憶領域５０６以降に記憶されている。
【００３２】
ここでは、ＴＡＳＫアドレスとして、ＴＡＳＫ１ａアドレスとＴＡＳＫ２ａアドレスが、また、これらに対するＴＡＳＫ１ａルーチンとＴＡＳＫ２ａルーチンとが記憶されているものとし、ＴＡＳＫ１ａアドレスが記憶領域５０３に、これに対するＴＡＳＫ１ａバージョン番号がその前の記憶領域５０２に夫々記憶され、ＴＡＳＫ２ａアドレスが記憶領域５０５に、これに対するＴＡＳＫ２ａバージョン番号がその前の記憶領域５０４に夫々記憶されている。
【００３３】
また、第５図（ｂ）において、ＥＰＲＯＭ５には、記憶領域５１０，５１１に夫々識別コード、バージョン番号ｂが記憶されており、記憶領域５１２以降には、ＴＡＳＫアドレスが夫々毎にバージョン番号が付加されて記憶され、これらＴＡＳＫアドレスに対するＴＡＳＫルーチンが記憶領域５１６以降に記憶されている。ここでは、ＴＡＳＫアドレスとして、ＴＡＳＫ１ｂアドレスとＴＡＳＫ２ｂアドレスが、また、これらに対するＴＡＳＫ１ｂルーチンとＴＡＳＫ２ｂルーチンとが記憶されているものとし、ＴＡＳＫ１ｂアドレスが記憶領域５１３に、これに対するＴＡＳＫ１ｂバージョン番号がその前の記憶領域５１２に夫々記憶され、ＴＡＳＫ２ｂアドレスが記憶領域５１５に、これに対するＴＡＳＫ２ｂバージョン番号がその前の記憶領域５１４に夫々記憶されている。
【００３４】
この実施形態においても、上記の形態でＲＯＭ２とＥＰＲＯＭ５とに夫々プログラムとデータの全体が記憶されており、第２図に示した実施形態では、バージョン番号ａ，ｂの比較によってこれらＲＯＭ２とＥＰＲＯＭ５とのいずれかのプログラム及びデータを使用するものであって、プログラムやデータの全体を置き換えるものであったが、第５図に示すこの実施形態は、ＲＯＭ２に記憶されているプログラムやデータを、上記のようにＴＡＳＫアドレス毎にバージョン番号を設けることにより、部分的に（即ち、ルーチン単位で）ＥＰＲＯＭ５に記憶されたプログラムやデータと置き換えることができるようにしたものである。従って、ＥＰＲＯＭ５のＴＡＳＫ１ｂルーチン，ＴＡＳＫ２ｂルーチンは夫々ＲＯＭ２のＴＡＳＫ１ａルーチン，ＴＡＳＫ２ａルーチンと置き換え可能なものであり、このように対応付けてＴＡＳＫバージョン番号やＴＡＳＫアドレス，ＴＡＳＫルーチンがＲＯＭ２やＥＰＲＯＭ５に格納されている。
【００３５】
なお、リセットベクトルや識別コード、バージョン番号ａ，ｂについては、先に説明した実施形態と同様であるが、この実施形態では、ＥＰＲＯＭ５のバージョン番号ｂが最大値（例えば、１６進数でＦＦＦＦ）をとる場合には、先の実施形態と同様、全てのＴＡＳＫがＥＰＲＯＭ５内のＴＡＳＫルーチンを実行し、そうでない場合には、各ＴＡＳＫ毎にバージョン番号を比較するアルゴリズムとなっている。従って、先の実施形態と同様に、これらバージョン番号ａ，ｂの比較を行う場合には、ＲＯＭ２のバージョン番号ａを上記の最大値よりも、例えば、１つ小さい値（例えば、１６進数でＦＦＦＥ）とすればよく、あるいは、このような比較をせずに、バージョン番号ｂを読み出してこれが上記の最大値かどうかを判断するようにすればよい。
【００３６】
ＥＰＲＯＭのバージョン番号ｂが最大値でない場合、第５図（ａ），（ｂ）において、ＲＯＭ２の記憶領域５０２に記憶されているＴＡＳＫ１ａバージョン番号とＥＰＲＯＭ５の記憶領域５１２に記憶されているＴＡＳＫ１ｂバージョン番号とを比較し、新しい方のバージョン番号のＴＡＳＫ１のアドレスをＲＡＭ３に登録する。ＴＡＳＫ１ａバージョン番号の方が新しい場合には、これに対するＴＡＳＫ１ａアドレスをＲＡＭ３に登録する。ここでは、ＥＰＲＯＭ５のＴＡＳＫ１ｂバージョン番号の方が新しいとして、これに対するＴＡＳＫ１ｂアドレスをＲＡＭ３に登録するものとする。
【００３７】
同様に、ＲＯＭ２の記憶領域５０４に記憶されているＴＡＳＫ２ａバージョン番号とＥＰＲＯＭ５の記憶領域５１４に記憶されているＴＡＳＫ２ｂバージョン番号とを比較し、新しい方のバージョン番号のＴＡＳＫ２のアドレスをＲＡＭ３に登録する。ＴＡＳＫ２ｂバージョン番号の方が新しい場合には、これに対するＴＡＳＫ２ｂアドレスをＲＡＭ３に登録する。ここでは、ＲＯＭ２のＴＡＳＫ２ａバージョン番号の方が新しいとして、これに対するＴＡＳＫ２ａアドレスをＲＡＭ３に登録するものとする。
【００３８】
その結果、第６図に示すように、ＲＡＭ３にはＴＡＳＫ１のアドレスとして記憶領域６０にＥＰＲＯＭ５のＴＡＳＫ１ｂアドレスが、また、ＴＡＳＫ２のアドレスとして記憶領域６１にＲＯＭ２のＴＡＳＫ２ａアドレスが夫々登録される。
【００３９】
従って、ＴＡＳＫ１は、ＥＰＲＯＭ５のＴＡＳＫ１ｂルーチンを、ＴＡＳＫ２はＲＯＭ２のＴＡＳＫ２ａルーチンを夫々実行する。
【００４０】
勿論、ＲＯＭ２のＴＡＳＫ１ａアドレスとＥＰＲＯＭ５のＴＡＳＫ２ｂアドレスが登録されている場合には、ＲＯＭ２のＴＡＳＫ１ａルーチンとＥＰＲＯＭ５のＴＡＳＫ２ｂルーチンを実行する。
【００４１】
この実施形態も、先の実施形態と同様に、ＲＯＭ２のプログラムやデータとＥＰＲＯＭ５のプログラムやデータとは独立に変更することができて、しかも、このように変更があっても、これらＲＯＭ２のプログラムやデータとＥＰＲＯＭ５のプログラムやデータとは有機的に結合して利用されることになる。
【００４２】
なお、第５図の実施形態で、記憶領域５００，５０１，５０２，５０３，５０４，５０５，５１０，５１１，５１２，５１３，５１４，５１５は、夫々、絶対アドレス空間内で、アドレスの絶対値が固定的に決定されている固定アドレスになっている方が、システム構成上有効である。但し、本発明の実施を固定アドレスのみに限定するものではない。
【００４３】
ところで、一般的に、ワンチップマイクロコンピュータ６内のＲＯＭ２のアクセス速度は外部のＥＰＲＯＭ５のアクセス速度より速いので、システム的には、ワンチップマイクロコンピュータ６内のＲＯＭ２を利用する方が有利となる。第７図はそれを実現した本発明によるマイクロコンピュータ制御システムのさらに他の実施形態でのメモリ部の情報内容を示す図であって、第７図（ａ）はワンチップマイクロコンピュータ６内のＲＯＭ２に格納されている情報内容を、第７図（ｂ）は外部のＥＰＲＯＭ５に格納されている情報内容を夫々示す。この実施形態においても、そのハードウェア構成は第１図と同様である。
【００４４】
この実施形態は、第２図で説明した実施形態のように、バージョン番号ａ，ｂの比較結果に応じてＲＯＭ２，ＥＰＲＯＭ５のいずれかに記録されているプログラムやデータを実行するものであるが、ＥＰＲＯＭ５に格納されているサブルーチンのうち、その一部のサブルーチンがＲＯＭ２の対応するサブルーチンに対して変更したものでないとすると、ＥＰＲＯＭ５に格納されているプログラムやデータを実行する場合には、ＲＯＭ２に記憶されているサブルーチンも利用することができるようにしたものである。
【００４５】
そこで、第７図（ａ），（ｂ）において、いま、外部のＥＰＲＯＭ５内の処理手順がサブルーチン１，サブルーチン２，サブルーチン３の場合であって、サブルーチン２に変更がなく、ＲＯＭ２のサブルーチン２ａが利用することができるものとすると、ＥＰＲＯＭ５には、例えば、その記憶領域７１３，７１４にサブルーチン１ｂ，３ｂを格納し、サブルーチン２ｂとしては、ＲＯＭ２に格納されているサブルーチン２ａを利用するようになる。そして、ＥＰＲＯＭ５の記憶領域７１０〜７１２には、これらのサブルーチンを呼び出す命令であるサブルーチンコール命令を格納しておくのであるが、記憶領域７１０，７１２には、ＥＰＲＯＭ５に記憶されているサブルーチン１ｂ，３ｂを呼び出す命令であるサブルーチン１ｂコール命令，サブルーチン３ｂコール命令を格納し、記憶領域７１１には、ＲＯＭ２の記憶領域７０４に記憶されているサブルーチン２ａを読みだすサブルーチン２ａコール命令を格納する。
【００４６】
このように、ＥＰＲＯＭ５にサブルーチンコール命令を記憶しておくことにより、ＥＰＲＯＭ５の方が新しくてそこに格納されているプログラムやデータを利用する場合には、ＥＰＲＯＭ５に格納されているサブルーチン１ｂコール命令，サブルーチン２ｂコール命令，サブルーチン３ｂコール命令により、ＥＰＲＯＭ５に格納されているサブルーチン１ｂ，２ｂ，３ｂが利用されるのであるが、第７図の実施形態では、このとき、サブルーチン２ａコール命令によりサブルーチンとしてＲＯＭ２のサブルーチン２ａを実行することとなる。
【００４７】
外部のＥＰＲＯＭ５の方が新しい場合には、ＲＯＭ２のサブルーチンのアドレスが既知であるので、このままでもよいが、この実施形態のように、サブルーチン１ａ、サブルーチン２ａ、サブルーチン３ａの各アドレスをサブルーチン１ａアドレス、サブルーチン２ａアドレス、サブルーチン３ａアドレスとしてＲＯＭ２内に格納する方が望ましいことはいうまでもない。
【００４８】
このように、この実施形態は、先の各実施形態と同様、ＲＯＭ２のプログラムやデータとＥＰＲＯＭ５のプログラムやデータを独立に変更できて、しかも、これらを有機的に結合して利用することができるとともに、さらに、ＥＰＲＯＭ５では、ＲＯＭ２のプログラムやデータに対し、その修正部分のみを記憶すればよいので、記憶容量を小さくすることができる。
【００４９】
なお、第７図の実施形態で、記憶領域７００，７０１，７０２は、夫々、絶対アドレス空間内で、アドレスの絶対値が固定的に決定されている固定アドレスになっている方が、システム構成上有効である。但し、本発明の実施を固定アドレスのみに限定するものではない。（記憶領域７１０，７１１，７１２については、必要に応じて任意に配置するプログラムであるので、特に固定アドレスにする必要はない。）
第８図は、第２図の実施形態に、記憶領域２５１，２５２，２６１，２６２を付加した実施形態である。
【００５０】
第８図（ａ）は本発明によるマイクロコンピュータ制御システムの他の実施形態でのワンチップマイクロコンピュータ６内のＲＯＭ２に格納されている情報内容を、第８図（ｂ）は同じく外部のＥＰＲＯＭ５に格納されている情報内容を夫々示す。この実施形態のハードウェア構成も第１図に示したものと同様である。
【００５１】
第８図（ａ）において、ＲＯＭ２には、記憶領域２５１にＴＡＳＫ？ａアドレスが記憶され、このＴＡＳＫ？ａアドレスに対応するＴＡＳＫ？ａルーチンが記憶領域２５２に記憶されている。
また、第８図（ｂ）において、ＥＰＲＯＭ５には、記憶領域２６１には、ＴＡＳＫ？ｂアドレスが記憶され、このＴＡＳＫ？ｂアドレスに対するＴＡＳＫ？ｂルーチンが記憶領域２６２に記憶されている。
【００５２】
ＴＡＳＫ？ａルーチンは、処理実体が無いＴＡＳＫであり、ＴＡＳＫ？ｂルーチンは処理実体が有るＴＡＳＫである。ＲＯＭ２制作時は、ＴＡＳＫ？ａルーチンの有無により不都合が生じない状態でシステムが構成されているが、このシステムに、ＥＰＲＯＭ５のＴＡＳＫ？ｂルーチンが付加されると、新規にＴＡＳＫ？ｂルーチンが実行されることになる。
【００５３】
このように、ＴＡＳＫ？ｂルーチンが追加されると、ＲＡＭ３には第９図に示すようにアドレスが登録される。すなわち、第４図の実施形態に記憶領域４２が付加され、その記憶領域４２にＴＡＳＫ？ｂアドレスが登録されている。
【００５４】
勿論、新規に処理を追加する必要が無ければ、ＴＡＳＫ？ｂルーチンは、処理実体が無いＴＡＳＫとして登録すれば良い。また、ＴＡＳＫ？ｂアドレスとしてシステム構成上取り得ないアドレス（例えば、０番地）を設定しても良い。このアドレスとしてシステム構成上取り得ないアドレスを設定した場合は、ＴＡＳＫアドレスの整合性を、そのＴＡＳＫを利用する度に判断する必要があるが、例えば設定アドレスが０番地であれば、０であるかどうかを判断することは容易であるので、システム構成上は問題無い。
【００５５】
なお、第８図の実施形態で、第２図の実施形態に追加された記憶領域２５１，２６１は、夫々、絶対アドレス空間内で、アドレスの絶対値が固定的に決定されている固定アドレスになっている方が、システム構成上有効である。但し、本発明の実施を固定アドレスのみに限定するものではない。
【００５６】
第１０図は、第５図の実施形態に、記憶領域５５１，５５２，５５３，５６１，５６２，５６３を付加した実施形態である。
【００５７】
第１０図（ａ）は本発明によるマイクロコンピュータ制御システムの他の実施形態でのワンチップマイクロコンピュータ６内のＲＯＭ２に格納されている情報内容を、第１０図（ｂ）は同じく外部のＥＰＲＯＭ５に格納されている情報内容を夫々示す。この実施形態のハードウェア構成も第１図に示したものと同様である。
【００５８】
第１０図（ａ）において、ＲＯＭ２には、記憶領域５５２にＴＡＳＫ？ａアドレスが記憶され、このＴＡＳＫ？ａアドレスに対応するＴＡＳＫ？ａルーチンが記憶領域５５３に記憶されている。また、このＴＡＳＫ？ａルーチンに対するバージョン番号が、ＴＡＳＫ？ａアドレスが記憶されている記憶領域５５２の直前の記憶領域である記憶領域５５１に記憶されている。
【００５９】
また、第１０図（ｂ）において、ＥＰＲＯＭ５には、記憶領域５６２には、ＴＡＳＫ？ｂアドレスが記憶され、このＴＡＳＫ？ｂアドレスに対するＴＡＳＫ？ｂルーチンが記憶領域５６３に記憶されている。また、このＴＡＳＫ？ｂルーチンに対するバージョン番号が、ＴＡＳＫ？ｂアドレスが記憶されている記憶領域５６２の直前の記憶領域である記憶領域５６１に記憶されている。
【００６０】
ＴＡＳＫ？ａルーチンは、処理実体が無いＴＡＳＫであり、ＴＡＳＫ？ｂルーチンは処理実体が有るＴＡＳＫである。ＲＯＭ２制作時は、ＴＡＳＫ？ａルーチンの有無により不都合が生じない状態でシステムが構成されているが、このシステムに、ＲＯＭ２のＴＡＳＫ？ａバージョン番号より新しいバージョン番号を持つＥＰＲＯＭ５のＴＡＳＫ？ｂルーチンが付加されると、新規にＴＡＳＫ？ｂルーチンが実行されることになる。
【００６１】
このように、ＴＡＳＫ？ｂルーチンが追加されると、ＲＡＭ３には第１１図に示すようにアドレスが登録される。すなわち、第６図の実施形態に記憶領域６２が付加され、その記憶領域６２にＴＡＳＫ？ｂアドレスが登録されている。
【００６２】
勿論、新規に処理を追加する必要が無ければ、ＴＡＳＫ？ｂルーチンは、処理実体が無いＴＡＳＫとして登録しても良いし、ＴＡＳＫ？ｂバージョン番号を古いバージョン番号（例えば、０）に設定し、ＴＡＳＫ？ａルーチンを登録しても良い。また、ＴＡＳＫ？ｂアドレスとしてシステム構成上取り得ないアドレス（例えば、０番地）を設定しても良い。このアドレスとしてシステム構成上取り得ないアドレスを設定した場合は、ＴＡＳＫアドレスの整合性を、そのＴＡＳＫを利用する度に判断する必要があるが、例えば設定アドレスが０番地であれば、０であるかどうかを判断することは容易であるので、システム構成上は問題無い。
【００６３】
なお、第１０図の実施形態で、第５図の実施形態に追加された記憶領域５５１，５６１は、夫々、絶対アドレス空間内で、アドレスの絶対値が固定的に決定されている固定アドレスになっている方が、システム構成上有効である。但し、本発明の実施を固定アドレスのみに限定するものではない。
【００６４】
これら第８図〜第１１図の手法により、ＲＯＭ２制作後でもＥＰＲＯＭ５により処理が追加出来、ＲＯＭ２制作時には予期していなかった事態に対処することができる。
第１２図は、ＲＡＭ３に登録された第４図，第６図，第９図及び第１１図について、別の登録方法を示した図である。ＴＡＳＫ登録テーブル（本実施形態では８ビット）を用意し、各ＴＡＳＫがその各ビットに対応している。０が内部ＲＯＭ２に格納されているＴＡＳＫを意味し、１が外部ＥＰＲＯＭ５に格納されているＴＡＳＫを意味する。また、最上位ビット（ビット７）は、外部ＥＰＲＯＭ５の存在をあらわすビットであり、０が外部ＥＰＲＯＭ５が存在していないことを意味し、１が外部ＥＰＲＯＭ５が存在していることを意味する。
【００６５】
第１２図（ａ）は、第６図と等価な情報を示している。すなわち、ＴＡＳＫ１に対応するビット（最下位ビット０）が１であるから、外部ＥＰＲＯＭ５に格納されているＴＡＳＫ１ｂを利用し、ＴＡＳＫ２に対応するビット（ビット１）が０であるから、内部ＲＯＭ２に格納されているＴＡＳＫ２ａを利用することを、意味している。
【００６６】
同様に、第１２図（ｂ）は、第１１図と等価な情報を示している。第１２図（ａ）に、第６図に追加されたＴＡＳＫ？に対応するビット（ビット２）を加えている。すなわち、第６図に追加されたＴＡＳＫ？に対応するビット（ビット２）が１であるから、外部ＥＰＲＯＭ５に格納されているＴＡＳＫ？ｂを利用することを、意味している。
【００６７】
また、第１２図で、対応するＴＡＳＫの各ビットが全て１であれば、第４図及び第９図と等価な情報を意味することは言うまでもない。
【００６８】
この第１２図の実施形態では、第４図，第６図，第９図及び第１１図の実施形態に比べて、内部ＲＡＭ３における占有記憶エリアが少なくてすむという効果がある。
【００６９】
第１３図は、本発明の他の実施形態を示すブロック図であり、第１図の実施形態に外部デバイス１０を接続した例である。尚、第１図と同一物は、同一番号を付している。但し、アドレスバスと制御バスについては省略している。また、第１図では、ＥＰＲＯＭを利用したが、第１３図では、電気的に書き換え可能なフラッシュメモリ１１を利用している。
【００７０】
外部デバイス１０からの情報は、インターフェイス１２を介して、ワンチップマイクロコンピュータ６のデータバス８に伝達され、フラッシュメモリ１１に格納される。
【００７１】
第１４図に、フラッシュメモリ１１に格納する処理動作を示す。尚、第３図のフローチャートと同じ処理内容については、同一符号を付している。
【００７２】
ここでは、第３図の処理内容と異なる処理について説明する。
【００７３】
（ステップ１４１）外部デバイス１０の接続を確認する。ＣＤ−ＲＯＭ等の情報記録媒体を読み出す外部デバイスでは、情報記録媒体が装着されていない場合も、情報が読み出せないので、外部デバイス接続無しと判断する。
【００７４】
（ステップ１４２）外部デバイス１０より情報（識別情報及びバージョン情報）を読み出し、内部ＲＡＭ３に格納する。但し、フラッシュメモリ１１に情報（識別情報及びバージョン情報が格納されていない場合は、直接フラッシュメモリ１１に格納し、ステップ１４６に移行する。
【００７５】
（ステップ１４３）内部ＲＡＭ３に格納された情報が所定の情報（識別情報）かどうかを判断する。所定の情報とは、例えば、ＣＤ−ＲＯＭのボリュームディスクリプターに記録されている著作権表示などが利用できる。もし、所定の情報でなければステップ１４７に移行し、所定の情報であれば、内部ＲＡＭ３に記憶されているバージョン情報（バージョン番号）とフラッシュメモリ１１に格納されたバージョン情報（バージョン番号）とを比較する（ステップ１４４）。
【００７６】
ステップ１４２での比較の結果、内部ＲＡＭ３に格納されたバージョン情報の方が新しい場合には、ステップ１４６に移行し、フラッシュメモリ１１のバージョン情報の方が新しい場合には、ステップ１４７に移行する（ステップ１４６）。
【００７７】
（ステップ１４６）内部 RAM ３から情報（識別情報及びバージョン情報）を読み出しフラッシュメモリ１１に格納後、外部デバイス１０より、バージョン変更された処理プログラム（ＴＡＳＫ）を追加読み出しして、フラッシュメモリ１１に追加格納する。
【００７８】
但し、ステップ１４２で、フラッシュメモリ１１に情報（識別情報及びバージョン情報が格納されていない為、直接フラッシュメモリ１１に格納した場合は、外部デバイス１０より、バージョン変更された処理プログラム（ＴＡＳＫ）を追加読み出しして、フラッシュメモリ１１に追加格納する処理のみを行う。
【００７９】
（ステップ１４７）終了する。その後は、第３図と同じ処理手順（但し、第３図におけるＥＰＲＯＭはフラッシュメモリと置き換える）にて、外部フラッシュメモリ１１内のＴＡＳＫアドレス、または内部 ROM ２内のＴＡＳＫアドレスを、内部 RAM ３に登録する。
【００８０】
本実施形態では、情報記録媒体として、プレスされたＣＤ−ＲＯＭディスクやＤＶＤ−ＲＯＭディスク、追記型のＣＤ−ＲディスクやＤＶＤ−Ｒディスク、書き換え可能なＣＤ−ＲＷディスクやＤＶＤ−ＲＡＭディスクなどが利用でき、ＥＰＲＯＭを使用する場合に比べて、バージョン変更に伴う追加作業が、簡便になる。また、外部デバイスとしては、ＣＤ−ＲＯＭ等の情報記録媒体から情報を呼び出す情報再生装置を想定しているが、放送や通信で伝達された情報を受信再生する装置を用いても、本発明の範疇あることは、明白である。
【００８１】
第１３図の実施形態において、内部ＲＯＭ２内に、バージョン情報や、制御プログラムもしくはデータを格納せず、制御プログラムもしくはデータをフラッシュメモリ１１にのみ格納して、システムを構築することができる。
【００８２】
この場合は、第３図における内部 ROM ２とＥＰＲＯＭ５の関係が、それぞれフラッシュメモリ１１と外部デバイス１０の関係と同様に考える事が出来る。従って、システムとしては、結果的に、フラッシュメモリ１１に格納されている制御プログラムもしくはデータを使用することとなる。
【００８３】
第１５図は、第１３図の実施形態にＤＲＡＭ１３を付加した実施形態である。
【００８４】
第１５図の実施形態では、フラッシュメモリ１１に格納されている制御プログラムもしくはデータを、ＤＲＡＭ１３に移動して、ＤＲＡＭ１３に格納された制御プログラムもしくはデータを使用する。この実施形態では、フラッシュメモリ１１に格納されている制御プログラムもしくはデータは、暗号化処理された制御プログラムもしくはデータとし、ＤＲＡＭ１３には、暗号解読後の制御プログラムもしくはデータを格納している。
【００８５】
バージョン情報にも暗号化が施されている場合は、バージョン情報を比較する必要が生じた時だけ、バージョン情報を暗号解読し、フラッシュメモリ１１に格納すべきかどうかを判断する。
第１５図の実施形態では、バージョン情報比較後、最新バージョンの制御プログラムもしくはデータが、暗号化を施されたまま、フラッシュメモリ１１に格納されている。
【００８６】
実際の処理流れを、第１６図のフローチャートを用いて説明する。
【００８７】
（ステップ１６１）外部フラッシュメモリ１１に格納されている暗号化された情報（識別情報、バージョン情報、制御プログラムもしくはデータ等）を内部 RAM ３に読み出す。
【００８８】
（ステップ１６２）読み出した暗号化された情報を、暗号解読し、外部ＤＲＡＭ１３に格納する。
【００８９】
（ステップ１６３）終了する。その後は、第３図と同じ処理手順（但し、第３図におけるＥＰＲＯＭはＤＲＡＭと置き換える）にて、外部ＤＲＡＭ１３内のＴＡＳＫアドレス、または内部 ROM ２内のＴＡＳＫアドレスを、内部 RAM ３に登録する。
【００９０】
ステップ１６１で、フラッシュメモリ１１から読み出す１回当たりのデータ量は、内部ＲＡＭ３のバッファ容量で制限されるが、そのバッファ容量内で完結できる暗号であれば、何回か、ステップ１６１とステップ１６２を繰り返して実行することにより、解決できる。
【００９１】
暗号化された情報を用いることにより、外部からフラッシュメモリ１１内容を知ることが出来なくなり、更に、ＤＲＡＭ１３に格納された暗号解読後の情報は、ＤＲＡＭ特有のリフレッシュ処理が必要となり、電源ＯＦＦ時に消滅する。また、暗号を解読する処理プログラムは、内部ＲＯＭ２に格納されており、容易に外部に読み出せないので、システムとして、セキュリティに配慮した構成となっている。但し、電源ＯＮ時毎に、第１６図の処理が必要となる。
【００９２】
第１５図の実施形態において、内部ＲＯＭ２内に、バージョン情報や、制御プログラムもしくはデータを格納せず、制御プログラムもしくはデータをＤＲＡＭ１３にのみ格納して、システムを構築することができる。
【００９３】
この場合は、第３図における内部 ROM ２とＥＰＲＯＭ５の関係が、それぞれＤＲＡＭ１３と外部デバイス１０の関係と同様に考える事が出来る。従って、システムとしては、結果的に、ＤＲＡＭ１３に格納されている制御プログラムもしくはデータを使用することとなる。
【００９４】
同じバージョン情報である（制御プログラムもしくはデータの本質は変わっていない）が、レビジョン情報（レビジョン番号）の違いにより、その内容が異なるようにすることもできる。第１表は、その具体例を示す実施形態である。
【００９５】
第１表では、レビジョン番号に応じて、使用される言語が異なる実施形態を示している。
【００９６】
ＥＰＲＯＭ５やフラッシュメモリ１１もしくはＤＲＡＭ１３には、各レビジョン番号に対応するデータをすべて用意しておき、バージョン番号が同じで、レビジョン番号のみが異なる場合、ＥＰＲＯＭ５やフラッシュメモリ１１もしくはＤＲＡＭ１３に格納されている制御プログラムもしくはデータのレビジョン番号のみ変更するだけでよい。
【００９７】
但し、レビジョン番号の相違により使用する言語を変更するアルゴリズムを、制御プログラムに組み込んでおく必要がある。
【００９８】
第１表では、使用する言語の識別にレビジョン番号を利用したが、利用国の識別（日本，アメリカ，中国，等），使用する機能の識別（機能Ａ，機能Ａ＋Ｂ，等），利用者に対する識別（Ａ社向け，Ｂ社向け，等）のなどにも、レビジョン番号を利用して識別することが出来る。
【００９９】
なお、以上の実施形態を各ユーザが夫々の用途で使用する場合、夫々でのワンチップマイクロコンピュータ６を共通にし（即ち、ＲＯＭ２に格納されるプログラムやデータを共通にし）、外部のＥＰＲＯＭ５やフラッシュメモリ１１もしくはＤＲＡＭ１３によって各ユーザ毎に個別対応させるようにすることができる。
【０１００】
この場合には、第５図，第１０図に示したように、個別対応すべきＴＡＳＫのみＥＰＲＯＭ５やフラッシュメモリ１１もしくはＤＲＡＭ１３に登載し、もしくは、第７図に示したように、個別対応すべきサブルーチンのみＥＰＲＯＭ５やフラッシュメモリ１１もしくはＤＲＡＭ１３に登載するようにすればよい。
【０１０１】
また、以上の実施形態では、ワンチップマイクロコンピュータ６内のＲＯＭ２と外部のＥＰＲＯＭ５とにおける処理プログラム（ＴＡＳＫ，サブルーチン）の更新について説明したが、ＲＯＭ２に格納されているデータの更新についても、ＥＰＲＯＭ５やフラッシュメモリ１１もしくはＤＲＡＭ１３によって対応できることは自明である。
【０１０２】
さらに、以上の実施形態では、ＲＯＭ２としては、書き換えできないマスクＲＯＭを用いたが、書き換え可能なＥＰＲＯＭやフラッシュメモリなどのメモリを用いてもよいし、また、外部のメモリとしても、書き換え可能なＥＰＲＯＭメモリやフラッシュメモリ１１もしくはＤＲＡＭ１３を用いたが、書き換えできないマスクＲＯＭを用いるようにしてもよい。
【０１０３】
さらに、以上の実施形態では、実行すべきプログラム（ＴＡＳＫ，サブルーチン）のアドレスをワンチップマイクロコンピュータ６内のＲＡＭ２に登録したが、登録する情報内容は、アドレスのみならず、実行すべきプログラム（ＴＡＳＫ，サブルーチン）本体を登録してもよい。また、ワンチップマイクロコンピュータ６の外部に、ＲＡＭ，フラッシュメモリ，ＤＲＡＭ等を付加し、そこに実行すべきプログラム（ＴＡＳＫ，サブルーチン）のアドレスや、実行すべきプログラム（ＴＡＳＫ，サブルーチン）本体を登録することもできる。
【０１０４】
上記本発明の実施形態の説明では、バージョン情報を用いているが、バージョン情報に限定せず、プログラムもしくはデータの情報等を利用して比較することも出来る。例えばプログラムもしくはデータ内にあるコメント文、著作権表示、プログラムサイズ、データサイズ、プログラム開始アドレス、データ開始アドレス等の情報を利用することが出来る。
【０１０５】
以上説明したように、本発明によれば、ワンチップ内のＲＯＭのバージョン情報と外部ＥＰＲＯＭ内やフラッシュメモリ内もしくはＤＲＡＭ内のバージョン番号を比較するので、常に新しいバージョンのプログラム（ＴＡＳＫ，サブルーチン）を実行することができるし、新しいバージョンの更新データを利用することができる。また、各ユーザに個別に対応することもできる。
【０１０６】
また、更新、変更すべきプログラムもしくはデータのみを外部に付加するので、付加すべきプログラムもしくはデータを最小サイズにすることが出来る。
【０１０７】
なお、バージョン情報以外にも、プログラムもしくはデータ内の情報を用いて比較することにより、バージョン情報を不要とすることが出来る。
【図面の簡単な説明】
【０１０８】
【図１】第１図は、本発明によるマイクロコンピュータ制御システムの一実施形態を示すハードウェアブロック図である。
【図２】第２図は、第１図におけるＲＯＭ内とＥＰＲＯＭ内とに記憶されている情報内容を示す図である。
【図３】第３図は、第２図で示した情報内容を用いた本発明によるマイクロコンピュータ制御システムの一実施形態での電源投入時もしくはリセット時の処理動作を示すフローチャートである。
【図４】第４図は、第３図に示した処理動作によって第１図でのＲＡＭに格納された情報内容の一具体例を示す図である。
【図５】第５図は、本発明によるマイクロコンピュータ制御システムの他の実施形態での第１図におけるＲＯＭ内とＥＰＲＯＭ内とに記憶されている情報内容を示す図である。
【図６】第６図は、本発明によるマイクロコンピュータ制御システムの他の実施形態での第１図におけるＲＡＭに格納された情報内容の一具体例を示す図である。
【図７】第７図は、本発明によるマイクロコンピュータ制御システムの他の実施形態での第１図におけるＲＯＭ内とＥＰＲＯＭ内とに記憶されている情報内容を示す図である。
【図８】第８図は、本発明によるマイクロコンピュータ制御システムの他の実施形態での第１図におけるＲＯＭ内とＥＰＲＯＭ内とに記憶されている情報内容を示す図である。
【図９】第９図は、本発明によるマイクロコンピュータ制御システムの他の実施形態での第１図におけるＲＡＭに格納された情報内容の一具体例を示す図である。
【図１０】第１０図は、本発明によるマイクロコンピュータ制御システムの他の実施形態での第１図におけるＲＯＭ内とＥＰＲＯＭ内とに記憶されている情報内容を示す図である。
【図１１】第１１図は、本発明によるマイクロコンピュータ制御システムの他の実施形態での第１図におけるＲＡＭに格納された情報内容の一具体例を示す図である。
【図１２】第１２図は、本発明によるマイクロコンピュータ制御システムの他の実施形態での第１図におけるＲＡＭに格納された情報内容の一具体例を示す図である。
【図１３】第１３図は、本発明の他の実施形態を示すブロック図であり、第１図の実施形態に外部デバイス１０を接続した実施形態を示すブロック図である。
【図１４】第１４図は、フラッシュメモリ１１に格納する処理動作を示すフローチャートである。
【図１５】第１５図は、第１３図の実施形態にＤＲＡＭ１３を付加した実施形態を示すブロック図である。
【図１６】第１６図は、第１５図の実施形態の処理手順を示すフローチャートである。
【符号の説明】
【０１０９】
１  ＣＰＵ部
２  ＲＯＭ部
３  ＲＡＭ部
４  Ｉ／Ｏ部
５  ＥＰＲＯＭ部
６  ワンチップマイクロコンピュータ
【図１】
2006313560.tif 000003
【図２】
2006313560.tif 000004
【図３】
2006313560.tif 000005
【図４】
2006313560.tif 000006
【図５】
2006313560.tif 000007
【図６】
2006313560.tif 000008
【図７】
2006313560.tif 000009
【図８】
2006313560.tif 000010
【図９】
2006313560.tif 000011
【図１０】
2006313560.tif 000012
【図１１】
2006313560.tif 000013
【図１２】
2006313560.tif 000014
【図１３】
2006313560.tif 000015
【図１４】
2006313560.tif 000016
【図１５】
2006313560.tif 000017
【図１６】
2006313560.tif 000018
【手続補正書】
【提出日】平成18年7月28日(2006.7.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マイクロコンピュータなどに内蔵されているプログラムを、該マイクロコンピュータの外部から等価的に修正することができるようにしたマイクロコンピュータ制御システムにおいて、
該マイクロコンピュータなどに内蔵されているプログラム全体と該マイクロコンピュータの外部に用意された修正すべきプログラム全体とに夫々バージョン情報を付加し、該バージョン情報を用いて、該マイクロコンピュータなどに内蔵されているプログラムを使用するのか、該マイクロコンピュータの外部に用意された修正すべきプログラムを使用するのかを判断することを特徴とするマイクロコンピュータ制御システム。
【手続補正書】
【提出日】平成18年9月11日(2006.9.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マイクロコンピュータの内蔵記憶部に記憶されているプログラム又はデータが、不揮発性メモリにより等価的に修正されるマイクロコンピュータ制御システムにおいて、
前記マイクロコンピュータの外部に外部デバイスが接続可能になっており、
前記外部デバイスから取得された暗号化されたプログラム又はデータが、前記不揮発性メモリのプログラム又はデータの全部又は一部よりもバージョンが新しい場合に、前記不揮発性メモリのプログラム又はデータの全部又は一部を、前記新しいバージョンのプログラム又はデータに更新することを特徴とするマイクロコンピュータ制御システム。
【請求項２】
マイクロコンピュータの内蔵記憶部に記憶されているプログラム又はデータが、不揮発性メモリにより等価的に修正されるマイクロコンピュータ制御システムにおいて、
前記マイクロコンピュータの外部に外部デバイスが接続可能になっており、
前記プログラム又はデータは、各ユーザに個別に対応するユーザ対応プログラム又はデータを含んでおり、
前記外部デバイスから取得されたユーザ対応プログラム又はデータが、前記不揮発性メモリのユーザ対応プログラム又はデータの全部又は一部よりもバージョンが新しい場合に、前記不揮発性メモリのユーザ対応プログラム又はデータの全部又は一部を、前記バージョンの新しいユーザ対応プログラム又はデータに更新することを特徴とするマイクロコンピュータ制御システム。
【請求項３】
請求項２に記載のマイクロコンピュータ制御システムにおいて、
前記バージョンの新しいユーザ対応プログラム又はデータは暗号化が施されていることを特徴とするマイクロコンピュータ制御システム。
【請求項４】
請求項２又は３に記載のマイクロコンピュータ制御システムにおいて、
前記バージョンの新しいユーザ対応プログラム又はデータは、前記マイクロコンピュータが実行するプログラム又はデータの一部のタスク又はサブルーチンであることを特徴とするマイクロコンピュータ制御システム。
【請求項５】
請求項１〜４のいずれかに記載のマイクロコンピュータ制御システムにおいて、
前記外部デバイスから取得されるプログラム又はデータと、前記不揮発性メモリのプログラム又はデータは、それぞれ、バージョン情報を有することを特徴とするマイクロコンピュータ制御システム。
【請求項６】
請求項１〜５のいずれかに記載のマイクロコンピュータ制御システムにおいて、
前記外部デバイスは、放送又は通信により伝達された情報を受信する装置であることを特徴とするマイクロコンピュータ制御システム。
【請求項７】
請求項１〜６のいずれかに記載のマイクロコンピュータ制御システムにおいて、
前記プログラム又はデータの少なくとも一つが、実体がないプログラム又はデータで構成されていることを特徴とするマイクロコンピュータ制御システム。
【請求項８】
マイクロコンピュータが実行する個々のプログラム又はデータを、不揮発性メモリにより等価的に修正する修正方法であって、
前記マイクロコンピュータの外部に接続可能になっている外部デバイスから、暗号化されたプログラム又はデータを取得し、前記暗号化されたプログラム又はデータが前記不揮発性メモリのプログラム又はデータの全部又は一部よりもバージョンが新しい場合に、前記不揮発性メモリのプログラム又はデータの全部又は一部を、前記新しいバージョンのプログラム又はデータに更新することを特徴とする修正方法。
【請求項９】
マイクロコンピュータが実行する個々のプログラム又はデータを、不揮発性メモリにより等価的に修正する修正方法であって、
前記個々のプログラム又はデータは、各ユーザに個別に対応するユーザ対応プログラム又はデータを含んでおり、
前記マイクロコンピュータの外部に接続可能になっている外部デバイスから、ユーザ対応プログラム又はデータを取得し、前記ユーザ対応プログラム又はデータが、前記不揮発性メモリのユーザ対応プログラム又はデータの全部又は一部よりもバージョンが新しい場合に、前記不揮発性メモリのユーザ対応プログラム又はデータの全部又は一部を、前記バージョンの新しいユーザ対応プログラム又はデータに更新することを特徴とする修正方法。
【請求項１０】
マイクロコンピュータと、
前記マイクロコンピュータに実行させるプログラム又はデータの全部又は一部が格納される不揮発性メモリと、
前記マイクロコンピュータの外部に設けられた外部デバイスとの接続を可能にするインターフェース部とを有し、
前記外部デバイスから前記インターフェースを介して取得された暗号化されたプログラム又はデータが前記不揮発性メモリに格納されているプログラム又はデータの全部又は一部よりも新しいバージョンの場合に、前記不揮発性メモリに格納されているプログラム又はデータの全部又は一部を、前記外部デバイスから取得された新しいバージョンのプログラム又はデータに更新することを特徴とするマイクロコンピュータ制御システム。
【請求項１１】
マイクロコンピュータと、
前記マイクロコンピュータに実行させるプログラム又はデータが記憶されている内蔵記憶部と、
前記プログラム又はデータの全部又は一部を等価的に修正するプログラム又はデータが記憶される不揮発性メモリと、
前記マイクロコンピュータの外部に設けられた外部デバイスとの接続を可能にするインターフェース部とを有し、
前記外部デバイスから新しいバージョンの暗号化されたプログラム又はデータを取得したときに、前記不揮発性メモリに記憶されているプログラム又はデータの全部又は一部を、前記新しいバージョンのプログラム又はデータに更新することを特徴とするマイクロコンピュータ制御システム。
【請求項１２】
マイクロコンピュータと、
前記マイクロコンピュータに実行させるプログラム又はデータが記憶されている内蔵記憶部と、
前記プログラム又はデータの全部又は一部を等価的に修正するプログラム又はデータが記憶される不揮発性メモリと、
前記マイクロコンピュータの外部に設けられた外部デバイスとの接続を可能にするインターフェース部とを有し、
前記プログラム又はデータは、各ユーザに個別に対応するユーザ対応プログラム又はデータを含んでおり、
前記外部デバイスから新しいバージョンのユーザ対応プログラム又はデータを取得したときに、前記不揮発性メモリに記憶されているユーザ個別プログラム又はデータの全部又は一部を、前記新しいバージョンのユーザ対応プログラム又はデータに更新することを特徴とするマイクロコンピュータ制御システム。