(57)【特許請求の範囲】
【請求項１】
実行プログラムが複数のタスクに分割されて形成され、これらの複数のタスクが任意に実行されるようにした電子装置において、
情報が固定的に記憶された固定記憶手段と、アドレス制御を行うアドレス制御手段と、外部からの情報が入力される入力手段と、この入力手段を介して外部から入力される修正情報が記憶される修正情報記憶手段と、上記固定記憶手段の修正箇所への上記アドレス制御手段によるアクセスを判別する判別手段と、この判別手段からの信号により上記アクセスを上記固定記憶手段から上記修正情報記憶手段へ切り換える切り換え手段と、上記タスクごとに上記修正制御情報をそれぞれ指示する値を記憶する第１の記憶手段と、上記第１の記憶手段を上記タスクごとに最初に用いられる上記修正制御情報を指示する値に初期化する手段と、上記アドレス制御手段への割り込み処理ごとに上記修正制御情報をそれぞれ指示する値を記憶する第２の記憶手段と、実行中の上記修正制御情報を指示する値を退避するスタックメモリとが一体に集積され、
上記実行されるタスクが変更されるごとに上記判別手段及び上記切り換え手段の上記固定記憶手段の修正箇所に関する上記修正制御情報が書き換えられ、
上記第１の記憶手段に記憶された値に基づいて上記判別手段及び上記切り換え手段への上記修正制御情報の書き換えが行われ、
上記修正情報にはそれぞれ次の上記修正制御情報を指示する値が含められてこの値を用いて上記第１の記憶手段に記憶される値が書き換えられ、
上記実行されるタスクのスタート時に上記第１の記憶手段を上記タスクごとに最初に用いられる上記修正制御情報を指示する値に初期化し、
上記割り込み処理が行われたときには、上記第２の記憶手段に記憶された値に基づいて上記判別手段及び上記切り換え手段への上記修正制御情報の書き換えが行われると共に、
上記割り込み処理の終了時に、上記スタックメモリに記憶された値に基づいて上記判別手段及び上記切り換え手段への上記修正制御情報の書き換えが行われる
ことを特徴とする電子装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、例えば電子機器に内蔵されて使用される１チップ・マイクロコンピュータのような電子装置に関し、特にリアルタイム・マルチタスク処理を行う場合に利用されるものである。
【０００２】
【従来の技術】
例えば電子機器に内蔵されて使用される１チップ・マイクロコンピュータは、固定記憶手段（ＲＯＭ）、処理手段（ＣＰＵ）、入力手段、可変記憶手段（ＲＡＭ）等が一体に集積された電子装置から構成されている。
【０００３】
このような電子装置（１チップ・マイクロコンピュータ）において、処理手段（ＣＰＵ）での処理のプログラムは、例えば固定記憶手段（ＲＯＭ）に記憶されている。すなわちこの固定記憶手段（ＲＯＭ）に記憶された情報（処理プログラム）に従って特定の処理が行われる。そこでこの固定記憶手段（ＲＯＭ）を例えばマスクＲＯＭで形成することにより、このような電子装置は、特に量産化によってその価格を低廉にすることが可能である。
【０００４】
一方、上述の電子装置は、民生用のカメラ一体形ＶＴＲ、小型ビデオデッキ等の電子機器に内蔵されて使用されている。このような電子機器（民生用カメラ一体形ＶＴＲ等）においては、近年商品の差別化を目的とした多機能化が進められている。このため固定記憶手段（ＲＯＭ）に記憶される情報（処理プログラム）の量が増大し、特に処理プログラムの長大化に伴って、その不備（バグ）の発生は避けられない問題になっている。
【０００５】
そこでこのような不備が装置の量産後に発見された場合には、既に量産された装置を廃棄して再度量産を行ったり、その不備を修正するための外部部品を設けるなどの処理を行う必要が生じる。しかし再度量産を行うには多大な追加経費が必要であり、また外部部品を設けることは部品の実装密度の高い電子機器では実施が困難である場合が多い。
【０００６】
これに対して本願出願人は、先にこのような固定記憶手段に記憶される情報の不備を、製品の量産が行われた後に修正する手段を提案した（特開平４−３４６１２７号公報参照）。
【０００７】
すなわちこの先願では、電子装置内に不備修正のための修正情報記憶手段とアクセス切り換え手段を設ける。そして固定記憶手段に記憶される情報が不備の部分を判別して、その部分ではアクセスを固定記憶手段から修正情報記憶手段に切り換える。またこの修正情報の中に次の固定記憶手段の不備の部分に関する情報を設け、この情報に基づいてアクセス切り換え手段の修正制御情報等を書き換えるようにしたものである。
【０００８】
これによれば、固定記憶手段に記憶される情報が不備の部分を、修正情報記憶手段に記憶される情報で置き換えて不備の修正を行うと共に、この修正情報に基づいてアクセス切り換え手段の修正制御情報等を書き換えることによって、固定記憶手段に記憶される情報の不備の部分の数を予め限定せずに、必要な数の修正を行うことができる。
【０００９】
ところで上述のような電子装置（１チップ・マイクロコンピュータ）において、近年μＩＴＲＯＮ等のリアルタイム・マルチタスク処理を行う装置が実施されるようになっている。すなわちこのようなリアルタイム・マルチタスク処理においては、実行プログラムが複数のタスクに分割されて形成され、これらの複数のタスクが所定の優先順位に従って任意に実行されるようになっている。
【００１０】
この場合に上述の先願の装置において、固定記憶手段（ＲＯＭ）に記憶される情報（処理プログラム）が常に所定の順番でアクセスされている場合には、任意の修正箇所で修正が行われた最後で次の修正箇所を指定することで、複数の不備の部分を順次修正することができる。
【００１１】
ところが上述のリアルタイム・マルチタスク処理では、複数のタスクが任意に実行されるようになっている。このため上述のように任意の修正箇所で修正が行われた最後で次の修正箇所を指定するのでは、タスクが切り換えられた場合に、正しく次の修正箇所を指定することができなくなってしまう。すなわちリアルタイム・マルチタスク処理では、任意の修正箇所で修正が行われた最後で次の修正箇所を指定することは困難である。
【００１２】
なお従来、割り込み処理によって別の情報がアクセスされる場合には、上述のアクセス切り換え手段の修正制御情報等をスタックメモリに退避させ、割り込み処理の先頭でその処理の修正制御情報を設定し、割り込み処理の終了時に修正制御情報を割り込み処理の前の状態に復帰させることによって、割り込み処理中の情報の修正も良好に行わせることができる（特開平５−２０４６３０号公報参照）。これは割り込み処理では、割り込み処理の終了時に必ず割り込みの行われた位置に戻るために、１つのスタックメモリで対処が可能なものである。
【００１３】
しかしながら上述のリアルタイム・マルチタスク処理では、複数のタスクが任意に実行されるために、上述の割り込み処理と同様の方法では、それぞれの処理ごとにスタックメモリが必要になり、全ての処理に対処するためには膨大なスタックメモリの容量が必要になって実現が困難であった。
【００１４】
【発明が解決しようとする課題】
この発明はこのような点に鑑みて成されたものであって、解決しようとする問題点は、従来の電子装置では、リアルタイム・マルチタスク処理で複数のタスクが任意に実行される場合に、その情報の不備の修正を容易に行うことができなかったというものである。
【００１５】
【課題を解決するための手段】
本発明は、実行プログラムが複数のタスクに分割されて形成され、これらの複数のタスクが任意に実行されるようにした電子装置において、情報が固定的に記憶された固定記憶手段と、アドレス制御を行うアドレス制御手段と、外部からの情報が入力される入力手段と、この入力手段を介して外部から入力される修正情報が記憶される修正情報記憶手段と、上記固定記憶手段の修正箇所への上記アドレス制御手段によるアクセスを判別する判別手段と、この判別手段からの信号により上記アクセスを上記固定記憶手段から上記修正情報記憶手段へ切り換える切り換え手段と、上記タスクごとに上記修正制御情報をそれぞれ指示する値を記憶する第１の記憶手段と、上記第１の記憶手段を上記タスクごとに最初に用いられる上記修正制御情報を指示する値に初期化する手段と、上記アドレス制御手段への割り込み処理ごとに上記修正制御情報をそれぞれ指示する値を記憶する第２の記憶手段と、実行中の上記修正制御情報を指示する値を退避するスタックメモリとが一体に集積され、上記実行されるタスクが変更されるごとに上記判別手段及び上記切り換え手段の上記固定記憶手段の修正箇所に関する修正制御情報が書き換えられ、上記第１の記憶手段に記憶された値に基づいて上記判別手段及び上記切り換え手段への上記修正制御情報の書き換えが行われ、上記修正情報にはそれぞれ次の上記修正制御情報を指示する値が含められてこの値を用いて上記第１の記憶手段に記憶される値が書き換えられ、上記実行されるタスクのスタート時に上記第１の記憶手段を上記タスクごとに最初に用いられる上記修正制御情報を指示する値に初期化し、上記割り込み処理が行われたときには、上記第２の記憶手段に記憶された値に基づいて上記判別手段及び上記切り換え手段への上記修正制御情報の書き換えが行われると共に、上記割り込み処理の終了時に、上記スタックメモリに記憶された値に基づいて上記判別手段及び上記切り換え手段への上記修正制御情報の書き換えが行われることを特徴とする電子装置である。
【００２０】
【作用】
これによれば、実行されるタスクが変更されるごとに、判別手段及び切り換え手段の固定記憶手段の修正箇所に関する修正制御情報が書き換えられることによって、リアルタイム・マルチタスク処理で複数のタスクが任意に実行される場合においても、固定記憶手段の情報の不備の修正を良好に行うことができる。
【００２１】
また、タスクごとに修正制御情報をそれぞれ指示する値を記憶する第１の記憶手段が設けられ、この第１の記憶手段に記憶された値に基づいて判別手段及び切り換え手段への修正制御情報の書き換えが行われることによって、実行されるタスクが任意に変更されても、修正を良好に行うことができる。
【００２２】
さらに、修正情報にはそれぞれ次の修正制御情報を指示する値が含められることによって必要な数の修正を容易に行うことができると共に、この値を用いて第１の記憶手段に記憶される値を書き換えることによって、実行されるタスクが任意に変更されても、修正を良好に行うことができる。
【００２３】
また、実行されるタスクのスタート時には、第１の記憶手段をタスクごとに最初に用いられる修正制御情報を指示する値に初期化する手段が設けられることによって、タスクが強制終了されたような場合にも、修正を良好に行うことができる。
【００２４】
さらに、アドレス制御手段への割り込み処理ごとに修正制御情報をそれぞれ指示する値を記憶する第２の記憶手段が設けられ、割り込み処理が行われたときには、第２の記憶手段に記憶された値に基づいて判別手段及び切り換え手段への修正制御情報の書き換えを行うと共に、実行中の修正制御情報を指示する値を退避するスタックメモリが設けられ、割り込み処理の終了時に、スタックメモリに記憶された値に基づいて判別手段及び切り換え手段への修正制御情報の書き換えが行われることによって、任意の割り込み処理に対しても修正を良好に行うことができる。
【００２５】
【実施例】
図１において、１００は電子装置としての１チップ・マイクロコンピュータの全体を示す。この電子装置１００には、処理手段としてのＣＰＵ１、固定記憶手段としてのＲＯＭ２、修正情報記憶手段としてのＲＡＭ３、入力手段４等が設けられる。このＣＰＵ１、ＲＯＭ２、ＲＡＭ３及び入力手段４は互いにデータバス５を介して接続される。またＣＰＵ１で形成されたアドレス出力がアドレスバス６を介してＲＯＭ２及びＲＡＭ３のアドレス入力に接続される。
【００２６】
また修正箇所を示す修正アドレスのレジスタ７とその修正データのレジスタ８とが設けられ、これらのレジスタ７、８がデータバス５に接続される。さらにこのレジスタ７に記憶されたアドレスとアドレスバス６のアドレスとの一致を検出する比較器９が設けられる。そしてこの比較器９のアドレスが一致したことを示す信号の出力部がアンド回路１０に接続される。
【００２７】
また後述する修正許可信号のレジスタ１１と修正制御情報（ＰＣＢ）を指示する値（ＰＣＢＰ）のレジスタ１２が設けられ、これらのレジスタ１１、１２がデータバス５に接続される。さらにレジスタ１１の出力部がアンド回路１０に接続される。そしてこのアンド回路１０の出力部が、ＲＯＭ２及びレジスタ８の入出力部に接続され、これらの入出力部の接続が切り換えられる。なおレジスタ７〜レジスタ１２の回路は、例えばｍチャンネル分が並列に設けられる。
【００２８】
さらに入力手段４には外部記憶装置２００が接続される。この外部記憶装置２００も電子機器内に設けられる。なおこの外部記憶装置２００は、例えばＥＥＰＲＯＭで構成され、通常は電子機器の調整工程で得られたパラメータ等が記憶されるものである。そしてこの外部記憶装置２００からの情報は入力手段４を通じてＲＡＭ３に記憶されてＣＰＵ１での処理等に使用される。
【００２９】
また、上述のＲＯＭ２にはＣＰＵ１での処理のプログラムの情報が固定的に記憶される。すなわちこの処理プログラムには、例えば図中に示すように、まず基本プログラム（ＯＳ）２０が設けられる。この基本プログラム２０には、後述する割り込み処理や、タスクの優先順位等を定めてその実行を行うためのプログラム等が設けられる。
【００３０】
さらにＲＯＭ２には、目的とする処理を行う主プログラムが設けられる。この主プログラムは、例えば複数のタスク２１、２２・・・２ｎに分割されて形成される。そしてこれらの複数のタスク２１、２２・・・２ｎが上述の基本のプログラム２０によって定められる所定の優先順位等に従って任意に実行される。またＲＯＭ２には、任意の割り込み処理のためのプログラム２ｘも設けられる。
【００３１】
また、上述のＲＡＭ３には、後述する修正制御情報（ＰＣＢ：Ｐａｔｃｈ  Ｃｏｎｔｒｏｌ  Ｂｌｏｃｋ  ）の記憶されるエリア３１、各タスクごとに使用されるＰＣＢをそれぞれ指示する値（ＰＣＢＰ：ＰＣＢ  Ｐｏｉｎｔｅｒ  ）の記憶されるタスクＰＤＳ（Ｐａｔｃｈ  Ｄａｔｅ  Ｓｅｌｅｃｔ  ）エリア３２（第１の記憶手段）、各割り込みごとに使用されるＰＣＢをそれぞれ指示する値（ＰＣＢＰ）の記憶される割り込みＰＤＳエリア３３（第２の記憶手段）が設けられる。
【００３２】
さらにＲＡＭ３には、後述する各タスクごとに最初に用いられるＰＣＢをそれぞれ指示する値（ＰＣＢＰ）の記憶されるＰＤＳ初期化テーブルのエリア３４、ＲＯＭ２に記憶された情報を変更する修正情報の記憶されるエリア３５、スタックエリア３６、実行中のＰＣＢを指示する値（ＰＣＢＰ）の記憶されるカレントＰＣＢエリア３７等が設けられる。
【００３３】
このような電子装置１００において、まず起動時には上述の基本プログラム２０が実行される。そしてこの中の処理によって、上述の外部記憶装置２００からの情報が入力手段４を通じてＲＡＭ３に記憶される。これによりＲＡＭ３には、上述のエリア３１〜３５にそれぞれの情報が記憶される。なおエリア３２とエリア３４には、起動時には同じ情報が記憶される。
【００３４】
そして任意のタスクｉが実行されるときには、まずＲＡＭ３のタスクＰＤＳエリア３２に記憶された、実行されるタスクで使用されるＰＣＢをそれぞれ指示する値（ＰＣＢＰ）がレジスタ１２に読み出される。すなわちタスクＰＤＳエリア３２には、例えば図２に示すように、各タスク１、２・・・ｎごとに、ｍチャンネル分の使用されるＰＣＢをそれぞれ指示する値（ＰＣＢＰ）が記憶されている。このタスクＰＤＳエリア３２の値が、各修正チャンネル１、２・・・ｍごとにレジスタ１２に書き込まれる。
【００３５】
さらにこのレジスタ１２の内容に従って、それぞれ指示されたＰＣＢがＲＡＭ３のＰＣＢエリア３１から読み出され、それぞれ修正アドレスのレジスタ７と修正データのレジスタ８に書き込まれる。またレジスタ１２の内容が、ＲＡＭ３のカレントＰＣＢエリア３７に書き込まれる。また例えばＰＤＳ初期化テーブルエリア３４に関連して各タスクの修正チャンネルごとに修正許可信号が記憶され、実行されるタスクに対応する修正許可信号がレジスタ１１に書き込まれる。なおこれらの処理は、上述の基本プログラム２０によって行われる。
【００３６】
すなわち上述のＰＣＢエリア３１に記憶されるＰＣＢ（修正制御情報）は、例えば図３に示すように、ＲＯＭ２の修正箇所の修正アドレスと修正データが対にされて順次記憶されている。またレジスタ１２には、例えばこれらの各ＰＣＢの先頭のアドレスに相当するＰＣＢをそれぞれ指示する値（ＰＣＢＰ）が記憶される。そして上述の処理では、これらのレジスタ１２の値に従ってＰＣＢエリア３１に記憶されたＰＣＢが読み出され、この中の修正アドレスがレジスタ７に書き込まれ、修正データがレジスタ８に書き込まれる。
【００３７】
従ってこの装置において、上述の任意のタスクｉが実行されている間に、レジスタ７に書き込まれた修正アドレスとアドレスバス６に供給される実行アドレスとが比較器９で比較され、それらの一致が判別される。そしてこれらの一致が比較器９で判別されると、この判別信号がアンド回路１０を通じてＲＯＭ２及びレジスタ８の入出力部に供給され、この判別信号の期間にＲＯＭ２の入出力部が遮断され、レジスタ８の入出力部がデータバス５に接続される。
【００３８】
これによって上述のＲＯＭ２の修正箇所では、ＲＯＭ２のデータに代わってレジスタ８の修正データがデータバス５に供給され、ＲＯＭ２のデータの修正が行われる。このようにしてＲＯＭ２に記憶されたデータの修正が行われる。
【００３９】
そしてこの装置において、実行されるタスクが変更された場合には、ＲＡＭ３のタスクＰＤＳエリア３２に記憶された、変更されたタスクで使用されるＰＣＢをそれぞれ指示する値（ＰＣＢＰ）がレジスタ１２に読み出される。さらにこのレジスタ１２の内容に従って、それぞれ指示されたＰＣＢがＲＡＭ３のＰＣＢエリア３１から読み出され、それぞれの修正アドレスと修正データがレジスタ７、８に書き込まれる。
【００４０】
これによってこの変更されたタスクにおいても、上述のＲＯＭ２の修正箇所では、ＲＯＭ２のデータに代わってレジスタ８の修正データがデータバス５に供給され、ＲＯＭ２のデータの修正が行われる。このようにしてＲＯＭ２に記憶されたデータの修正が行われる。なおＰＣＢエリア３１は各タスクに共通に設けられる。また異なるタスクから同じＰＣＢが指示されて、ＰＣＢが共用されるようにすることもできる。
【００４１】
こうして上述の装置によれば、実行されるタスクが変更されるごとに、判別手段（レジスタ７）及び切り換え手段（レジスタ８）の固定記憶手段（ＲＯＭ２）の修正箇所に関する修正制御情報（ＰＣＢ）が書き換えられることによって、リアルタイム・マルチタスク処理で複数のタスクが任意に実行される場合においても、固定記憶手段の情報の不備の修正を良好に行うことができるものである。
【００４２】
また、タスクごとに修正制御情報（ＰＣＢ）をそれぞれ指示する値を記憶する第１の記憶手段（タスクＰＤＳエリア３２）が設けられ、この第１の記憶手段に記憶された値に基づいて判別手段（レジスタ７）及び切り換え手段（レジスタ８）への修正制御情報の書き換えが行われることによって、実行されるタスクが任意に変更されても、修正を良好に行うことができるものである。
【００４３】
さらに上述の装置において、レジスタ８の修正データには、例えばジャンプ命令とそのジャンプベクトルを設けることができる。この場合に、比較器９でレジスタ７の修正アドレスとアドレスバス６の実行アドレスとの一致が判別されるとジャンプ命令が実行される。そしてそのジャンプベクトルに、ＲＡＭ３の修正情報エリア３５の任意の修正情報の先頭のアドレスを指定しておくことによって、ＲＯＭ２の修正箇所でＲＡＭ３の任意の修正情報が実行される。
【００４４】
すなわちＲＡＭ３の修正情報エリア３５には、例えば図４に示すようにそれぞれ任意の長さの修正情報が任意の数設けられている。そして比較器９でレジスタ７の修正アドレスとアドレスバス６の実行アドレスとの一致が判別されたときには、このＲＡＭ３の修正情報エリア３５のジャンプベクトルで指定されたアドレスから必要な修正情報が読み出される。
【００４５】
さらにこの修正情報には、例えばその末尾に次の修正箇所に関する情報が含められ、この次の修正箇所の情報を用いてレジスタ７、８の修正アドレスと修正データを書き換える処理が行われる。すなわち修正情報の末尾には、例えば次の修正箇所の修正制御情報（ＰＣＢ）を指示する値（ＰＣＢＰ）が含められ、上述のレジスタ１２の値がこの修正情報の末尾からの値に書き換えられる。
【００４６】
そしてこのレジスタ１２の値によって、ＰＣＢエリア３１に記憶された次の修正箇所の修正制御情報（ＰＣＢ）が読み出され、この中の修正アドレスと修正データがレジスタ７、８に書き込まれる。これによって、レジスタ７、８が次の修正箇所の修正アドレスと修正データに書き換えられ、ＲＯＭ２の次の修正箇所の修正が行われる。このようにして、上述の修正チャンネル数ｍ以上の、必要な数の修正箇所の修正を行うことができる。
【００４７】
さらに、上述のレジスタ１２の書き換えられた値と、上述のＲＡＭ３のカレントＰＣＢエリア３７に書き込まれた値が比較され、値が一致しないチャンネルのタスクＰＤＳエリア３２の値が書き換えられる。その後、レジスタ１２の内容が、ＲＡＭ３のカレントＰＣＢエリア３７に書き込まれる。これらの処理も、上述の基本プログラム２０によって行われる。
【００４８】
従ってこの装置において、任意のタスクｉの処理が中断され、他のタスクが実行された後に元の任意のタスクｉの処理が再開される場合にも、タスクＰＤＳエリア３２の値が再度レジスタ１２に書き込まれることによって、再開後のタスクの次のＲＯＭ２の修正箇所の修正が行われる。
【００４９】
こうして上述の装置によれば、修正情報にはそれぞれ次の修正制御情報（ＰＣＢ）を指示する値（ＰＣＢＰ）が含められることによって必要な数の修正を容易に行うことができると共に、この値を用いて第１の記憶手段（タスクＰＤＳエリア３２）に記憶される値を書き換えることによって、実行されるタスクが任意に変更されても、修正を良好に行うことができるものである。
【００５０】
さらに上述の装置において、タスクは強制終了される場合がある。このようなタスクの強制終了では、次にそのタスクの処理が開始されるときにはタスクの最初から処理が行われることになる。その場合に、上述のようにタスクＰＤＳエリア３２の値が書き換えられていると、タスクの処理が開始されたときに最初からのＲＯＭ２の修正箇所の修正が行われない恐れが生じる。
【００５１】
そこで上述の装置においては、ＲＡＭ３に、各タスクごとに最初に用いられるＰＣＢをそれぞれ指示する値（ＰＣＢＰ）の記憶されるＰＤＳ初期化テーブルのエリア３４が設けられ、タスクの処理が開始されるときにタスクＰＤＳエリア３２の値の初期化が行われるようにされる。なおこれらの処理は、上述の基本プログラム２０によって行われる。
【００５２】
すなわちエリア３４には、図５に示すようなＰＤＳ初期化テーブルが設けられる。このエリア３４に設けられるＰＤＳ初期化テーブルは、上述のタスクＰＤＳエリア３２と同じ構成とされる。そして上述の任意のタスクｉの処理が最初から行われるときには、このエリア３４に設けられるＰＤＳ初期化テーブルの対応するタスクの値が、タスクＰＤＳエリア３２の任意のタスクｉの部分に書き込まれるようにする。
【００５３】
従って上述の装置において、タスクは強制終了され、次にそのタスクの処理が開始されるときには、タスクＰＤＳエリア３２がエリア３４に設けられるＰＤＳ初期化テーブルの値で書き換えられ、最初からのＲＯＭ２の修正箇所の修正を行うことができる。
【００５４】
こうして上述の装置実行されるタスクのスタート時には、第１の記憶手段をタスクごとに最初に用いられる修正制御情報を指示する値に初期化する手段が設けられることによって、タスクが強制終了されたような場合にも、修正を良好に行うことができるものである。
【００５５】
また上述の装置において、ＲＯＭ２の割り込み処理のためのプログラム２ｘの最初には、上述のカレントＰＣＢエリア３７に記憶されたデータをスタックエリア３６に退避させる処理と、ＲＡＭ３の割り込みＰＤＳエリア３３に記憶された、実行される割り込みで使用されるＰＣＢをそれぞれ指示する値（ＰＣＢＰ）をレジスタ１２に書き込む処理が設けられる。
【００５６】
すなわち割り込みＰＤＳエリア３３には、例えば図６に示すように、各割り込み１、２・・・ｎごとに、ｍチャンネル分の使用されるＰＣＢをそれぞれ指示する値（ＰＣＢＰ）が記憶されている。なおこの割り込みＰＤＳエリア３３の構成は、上述のタスクＰＤＳエリア３２の構成と等しくされる。この割り込みＰＤＳエリア３３の値が、各修正チャンネル１、２・・・ｍごとにレジスタ１２に書き込まれる。
【００５７】
さらにこのレジスタ１２の内容に従って、それぞれ指示されたＰＣＢがＲＡＭ３のＰＣＢエリア３１から読み出され、それぞれ修正アドレスのレジスタ７と修正データのレジスタ８に書き込まれる。なおこれらの処理も上述の割り込み処理のためのプログラム２ｘに設けられる。これによって以下、上述のタスクの処理と同様にしてＲＯＭ２の情報の修正が行われる。さらにＰＣＢエリア３１はタスク処理のものと共通に設けられ、タスク処理からと同じＰＣＢが指示されて、ＰＣＢが共用されるようにすることもできる。
【００５８】
また割り込みプログラム２ｘの最後には、スタックエリア３２に退避させたデータをレジスタ１２に再度書き込む処理が設けられる。そしてこのレジスタ１２の内容に従って、それぞれ指示されたＰＣＢがＲＡＭ３のＰＣＢエリア３１から読み出され、それぞれ修正アドレスのレジスタ７と修正データのレジスタ８に書き込まれる。
【００５９】
従ってこの装置において、ＣＰＵ１に割り込み要求がされると、割り込みの処理が行われる。そしてこの割り込みプログラム２ｘの最初で、カレントＰＣＢエリア３７に記憶されたデータがＲＡＭ３のスタックエリア３６に退避される。さらにその割り込みに対応する修正制御情報（ＰＣＢ）がレジスタ７及び８に書き込まれる。そして割り込みプログラムが進行し、そのアドレスがレジスタ７のアドレスと一致すると、レジスタ８の修正データによって修正が行われる。
【００６０】
こうして上述の装置によれば、アドレス制御手段（ＣＰＵ１）への割り込み処理ごとに修正制御情報をそれぞれ指示する値を記憶する第２の記憶手段（割り込みＰＤＳエリア３３）が設けられ、割り込み処理が行われたときには、第２の記憶手段に記憶された値に基づいて判別手段（レジスタ７）及び切り換え手段（レジスタ８）への修正制御情報の書き換えを行うと共に、実行中の修正制御情報を指示する値（カレントＰＣＢ）を退避するスタックメモリ３６が設けられ、割り込み処理の終了時に、スタックメモリに記憶された値に基づいて判別手段及び切り換え手段への修正制御情報の書き換えが行われることによって、任意の割り込み処理に対しても修正を良好に行うことができるものである。
【００６１】
なお上述の装置において、割り込み処理の際にも、例えば修正情報の末尾には次の修正箇所の修正制御情報（ＰＣＢ）を指示する値（ＰＣＢＰ）が含められ、上述のレジスタ１２の値がこの修正情報の末尾からの値に書き換えられる。ただしこの場合に、割り込み処理は常に所定の順番でその処理の最後まで実行されることが保証されているので、この次の修正箇所の修正制御情報（ＰＣＢ）を指示する値（ＰＣＢＰ）によって割り込みＰＤＳエリア３３を書き換えることはせず、従って割り込みＰＤＳの初期値テーブルを設ける必要もない。
【００６２】
また上述の装置において、スタックエリア３６をいわゆるプッシュダウンスタックの構成とすることによって、割り込み処理中にさらに割り込みを行う、多重割り込みにもこの装置を適用することができる。すなわちその場合には、割り込みごとにカレントＰＣＢエリア３７に記憶されたデータをスタックエリア３６にプッシュダウンすると共に、割り込みが終了されるごとにポップアップされるデータをレジスタ１２に再度書き込むことによって、多重割り込みの際にもこの装置を適用することができる。
【００６３】
すなわち上述の装置において、全体の信号の流れは図７に示すようになる。この図７において、任意のタスクが実行されると、タスクＰＤＳエリア３２の対応するＰＣＢＰの値がレジスタ１２に書き込まれ、この値に従ってＰＣＢエリア３１が検索されて修正制御情報（ＰＣＢ）がレジスタ７、８に書き込まれる。そしてレジスタ７の修正アドレスがアドレスバス６のアドレスに一致されると、レジスタ８の修正データに従って情報が修正されるか、ジャンプ命令によって修正情報エリア３５の修正情報が実行される。
【００６４】
さらにこの修正情報の最後に設けられた次のＰＣＢＰの値がレジスタ１２に書き込まれ、この値に従ってＰＣＢエリア３１が検索されてＰＣＢがレジスタ７、８に書き込まれる。また事前にレジスタ１２の値がカレントＰＣＢエリア３７に書き込まれ、このカレントＰＣＢエリア３７に値とレジスタ１２の値が不一致になると、実行されているタスクのそのチャンネルのタスクＰＤＳエリア３２が書き換えられる。またタスクが最初から実行されるときは、ＰＤＳ初期化テーブル３４の値によって、実行されるタスクのタスクＰＤＳエリア３２が書き換えられる。
【００６５】
また、割り込み処理が行われるときは、カレントＰＣＢエリア３７に書き込まれた値がスタックエリア３６に書き込まれる。さらに割り込みＰＤＳエリア３３の対応するＰＣＢＰの値がレジスタ１２に書き込まれ、この値に従ってＰＣＢエリア３１が検索されて修正制御情報（ＰＣＢ）がレジスタ７、８に書き込まれる。そしてレジスタ７の修正アドレスがアドレスバス６のアドレスに一致されると、レジスタ８の修正データに従って情報が修正されるか、ジャンプ命令によって修正情報エリア３５の修正情報が実行される。さらに割り込み処理が終了されると、スタックエリア３６に書き込まれた値がレジスタ１２に書き込まれる。
【００６６】
このようにしてＲＯＭ２に書き込まれた情報の修正が行われる。そしてこの場合に、上述の装置によれば、実行されるタスクが変更されるごとに、判別手段及び切り換え手段の固定記憶手段の修正箇所に関する修正制御情報が書き換えられることによって、リアルタイム・マルチタスク処理で複数のタスクが任意に実行される場合においても、固定記憶手段の情報の不備の修正を良好に行うことができるものである。
【００６７】
また、タスクごとに修正制御情報をそれぞれ指示する値を記憶する第１の記憶手段が設けられ、この第１の記憶手段に記憶された値に基づいて判別手段及び切り換え手段への修正制御情報の書き換えが行われることによって、実行されるタスクが任意に変更されても、修正を良好に行うことができるものである。
【００６８】
さらに、修正情報にはそれぞれ次の修正制御情報を指示する値が含められることによって必要な数の修正を容易に行うことができると共に、この値を用いて第１の記憶手段に記憶される値を書き換えることによって、実行されるタスクが任意に変更されても、修正を良好に行うことができるものである。
【００６９】
また、実行されるタスクのスタート時には、第１の記憶手段をタスクごとに最初に用いられる修正制御情報を指示する値に初期化する手段が設けられることによって、タスクが強制終了されたような場合にも、修正を良好に行うことができるものである。
【００７０】
さらに、アドレス制御手段への割り込み処理ごとに修正制御情報をそれぞれ指示する値を記憶する第２の記憶手段が設けられ、割り込み処理が行われたときには、第２の記憶手段に記憶された値に基づいて判別手段及び切り換え手段への修正制御情報の書き換えを行うと共に、実行中の修正制御情報を指示する値を退避するスタックメモリが設けられ、割り込み処理の終了時に、スタックメモリに記憶された値に基づいて判別手段及び切り換え手段への修正制御情報の書き換えが行われることによって、任意の割り込み処理に対しても修正を良好に行うことができるものである。
【００７１】
さらに上述の装置において、例えばＰＤＳ初期化テーブルエリア３４に関連して各タスクの修正チャンネルごとに修正許可信号が記憶され、実行されるタスクに対応する修正許可信号がレジスタ１１に書き込まれる。このレジスタ１１に書き込まれた修正許可信号がアンド回路１０に供給される。
【００７２】
これによって、レジスタ１１に書き込まれた修正許可信号が“０”のチャンネルは比較器９からの一致信号がアンド回路１０で遮断され、修正が行われない。従って修正許可信号を用いて不要な修正チャンネルを遮断し、誤動作等の発生を防止することができる。
【００７３】
また同様に不要な修正チャンネルでは、タスクＰＤＳエリア３２あるいは割り込みＰＤＳエリア３３に書き込まれるＰＣＢＰの値を全て“０”（ＮＵＬＬ）にしておくことにより、これらの不要な修正チャンネルが不動作となるようにする処理を行うこともできる。
【００７４】
【発明の効果】
この発明によれば、実行されるタスクが変更されるごとに、判別手段及び切り換え手段の固定記憶手段の修正箇所に関する修正制御情報が書き換えられることによって、リアルタイム・マルチタスク処理で複数のタスクが任意に実行される場合においても、固定記憶手段の情報の不備の修正を良好に行うことができるようになった。
【００７５】
また、タスクごとに修正制御情報をそれぞれ指示する値を記憶する第１の記憶手段が設けられ、この第１の記憶手段に記憶された値に基づいて判別手段及び切り換え手段への修正制御情報の書き換えが行われることによって、実行されるタスクが任意に変更されても、修正を良好に行うことができるようになった。
【００７６】
さらに、修正情報にはそれぞれ次の修正制御情報を指示する値が含められることによって必要な数の修正を容易に行うことができると共に、この値を用いて第１の記憶手段に記憶される値を書き換えることによって、実行されるタスクが任意に変更されても、修正を良好に行うことができるようになった。
【００７７】
また、実行されるタスクのスタート時には、第１の記憶手段をタスクごとに最初に用いられる修正制御情報を指示する値に初期化する手段が設けられることによって、タスクが強制終了されたような場合にも、修正を良好に行うことができるようになった。
【００７８】
さらに、アドレス制御手段への割り込み処理ごとに修正制御情報をそれぞれ指示する値を記憶する第２の記憶手段が設けられ、割り込み処理が行われたときには、第２の記憶手段に記憶された値に基づいて判別手段及び切り換え手段への修正制御情報の書き換えを行うと共に、実行中の修正制御情報を指示する値を退避するスタックメモリが設けられ、割り込み処理の終了時に、スタックメモリに記憶された値に基づいて判別手段及び切り換え手段への修正制御情報の書き換えが行われることによって、任意の割り込み処理に対しても修正を良好に行うことができるようになった。
【図面の簡単な説明】
【図１】本発明による電子装置の一例の構成図である。
【図２】タスクＰＤＳエリアの説明のための図である。
【図３】修正制御情報（ＰＣＢ）エリアの説明のための図である。
【図４】修正動作の説明のための図である。
【図５】ＰＤＳ初期化テーブルの説明のための図である。
【図６】割り込みＰＤＳエリアの説明のための図である。
【図７】全体の動作の説明のための図である。
【符号の説明】
１  処理手段としてのＣＰＵ
２  固定記憶手段としてのＲＯＭ
２０  基本プログラム（ＯＳ）
２１、２２・・・２ｎ  タスク
２ｘ  割り込み処理のためのプログラム
３  修正情報記憶手段としてのＲＡＭ
３１  修正制御情報（ＰＣＢ）の記憶されるエリア
３２  タスクＰＤＳエリア（第１の記憶手段）
３３  割り込みＰＤＳエリア（第２の記憶手段）
３４  ＰＤＳ初期化テーブルのエリア
３５  修正情報の記憶されるエリア
３６  スタックエリア
３７  カレントＰＣＢエリア
４  入力手段
５  データバス
６  アドレスバス
７  修正箇所のアドレスのレジスタ
８  修正割り込みベクトルのレジスタ
９  比較器
１０  アンド回路
１１  修正許可信号のレジスタ
１２  ＰＣＢＰのレジスタ
１００  電子装置としての１チップ・マイクロコンピュータ
２００  外部記憶装置
【図１】
0003575052.tif 000002
【図２】
0003575052.tif 000003
【図３】
0003575052.tif 000004
【図４】
0003575052.tif 000005
【図５】
0003575052.tif 000006
【図６】
0003575052.tif 000007
【図７】
0003575052.tif 000008