(57)【要約】【課題】全てのプログラムエリアにおいて不具合回避対策が可能なマイクロコントローラ応用システムを安価に提供する。【解決手段】マイクロコントローラ１と書き換え可能な外部メモリ２とを備えたマイクロコントローラ応用システムにおいて、外部メモリ２に、イニシャル処理プログラム２１と、内蔵ＲＯＭ１３上の不具合を回避するための回避プログラム２４とを記憶し、不具合検知回路１４が、不具合アドレスレジスタ１４ａに設定された不具合アドレスとマイクロコンピュータ１５の実行アドレスとを比較することにより、不具合箇所を実行しようとしたときこれを検知する。そして、不具合を検知したとき、外部メモリ２から内蔵ＲＡＭ１２へロードされた回避プログラム２４を実行することにより、不具合を回避する。【選択図】  図１
2004152020.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコントローラと、前記マイクロコントローラへバスで接続された書き換え可能な外部メモリとを備え、
前記マイクロコントローラは、マイクロプロセッサと、前記マイクロプロセッサの制御プログラムの少なくとも一部を格納するリードオンリーメモリと、ランダムアクセスメモリと、前記ランダムアクセスメモリへ前記外部メモリからデータを転送するデータ転送手段と、不具合検知手段とを備え、
前記外部メモリに、イニシャル処理プログラムを記憶する領域と、前記リードオンリーメモリ上の制御プログラムの不具合を回避するための回避プログラムを記憶する領域とが設けられ、
前記不具合検知手段は、前記リードオンリーメモリ上の制御プログラムの不具合箇所のアドレスを設定するためのアドレス記憶部を有し、前記アドレス記憶部に設定されたアドレスと前記マイクロプロセッサの実行アドレスとを比較することにより、前記マイクロプロセッサが前記制御プログラムの不具合箇所を実行しようとしたときこれを検知し、
前記マイクロプロセッサは、前記不具合検知手段が不具合を検知したとき、前記データ転送手段により前記外部メモリから前記ランダムアクセスメモリへロードされた前記回避プログラムを実行することを特徴とするマイクロコントローラ応用システム。
【請求項２】
前記マイクロプロセッサの制御プログラムのうち、高速動作を必要とする部分を前記リードオンリーメモリに格納する、請求項１に記載のマイクロコントローラ応用システム。
【請求項３】
前記不具合検知手段のアドレス記憶部が、複数のレジスタで構成された、請求項１に記載のマイクロコントローラ応用システム。
【請求項４】
前記外部メモリに、前記回避プログラムを前記ランダムアクセスメモリへロードする処理を制御するロード処理プログラムが格納され、
前記マイクロプロセッサが、前記データ転送手段として、前記不具合検知手段が不具合を検知する毎に前記ロード処理プログラムを実行する、請求項１に記載のマイクロコントローラ応用システム。
【請求項５】
前記データ転送手段が、前記バスに接続されたＤＭＡ回路である、請求項１に記載のマイクロコントローラ応用システム。
【請求項６】
前記不具合検知手段のアドレス記憶部が、複数のレジスタで構成され、
前記ＤＭＡ回路が、前記複数のレジスタに設定された複数の不具合箇所に対応する複数の回避プログラムを、連続して前記ランダムアクセスメモリへロードする、請求項５に記載のマイクロコントローラ応用システム。
【請求項７】
前記回避プログラムの大きさを設定するプログラムサイズ設定手段をさらに備えた、請求項１に記載のマイクロコントローラ応用システム。
【請求項８】
前記データ転送手段によってデータ転送済みのアドレスを記憶する転送済みアドレス記憶部をさらに備え、
前記データ転送手段が、前記転送済みアドレス記憶部を参照し、まだ転送していないデータのみを転送する、請求項１に記載のマイクロコントローラ応用システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロコントローラと外部メモリを接続したマイクロコントローラ応用システムに関するものである。
【０００２】
【従来の技術】
近年、マイクロコントローラの動作周波数の高速化に伴い、マイクロコントローラの動作速度は日々向上している。マイクロコントローラの動作速度が高速化する一方において、メモリ等の周辺回路の動作速度や、マイクロコントローラのインターフェイスの動作速度が、マイクロコントローラの動作速度に追いつかないのが現状である。また、マイクロコントローラ用のソフトウェアを記憶するメモリは、ソフトウェアの大規模化、開発期間短縮化に伴い、不具合が発生してもソフトウェアの書き換えが可能な書き換え型メモリを搭載したものが多くなってきている。
【０００３】
マイクロコントローラの高速動作に関して、マイクロコントローラから外部バスにより外部メモリにアクセスすると、マイクロコントローラ内蔵メモリをアクセスするよりも速度が遅くなり、高速動作を要する場合はシステムに破綻をきたす。従って、システムとして高速動作が必要な場合、高速動作を必要とするソフトウェア部分をチューニングするか、書き換え型メモリ内蔵マイクロコントローラを用いる必要があった。書き換え型メモリ内蔵マイクロコントローラを用いた場合、マイクロコンピュータから内部メモリへのアクセス速度は、外部メモリへのアクセス速度と比べて、同じデバイス内部にあるため高速になる。
【０００４】
以下、従来のマイクロコントローラ応用システムについて、二つの構成例を説明する。
【０００５】
第１の従来例にかかるマイクロコントローラ応用システムは、マイクロコンピュータと、プログラムの記録部としての書き換え型メモリと、書き換え型メモリ内に存在する通常処理プログラムと、ＲＡＭと、その他周辺回路とを備えた構成である。マイクロコンピュータは、書き換え型メモリ内に存在するプログラムを順にアクセスする。その時、マイクロコンピュータは、プログラムの内容に応じて、ＲＡＭ又は、その他周辺回路をアクセスする。仮に、プログラムに不具合があった場合、書き換え型メモリのプログラムを書き換えることで、正常動作させることができる。
【０００６】
また、第２の従来例にかかるマイクロコントローラ応用システムは、不具合検知回路を用いた構成である。図１１にその構成の一例を示す。図１１に示すように、不具合検知回路を用いた従来のマイクロコントローラ応用システムは、ＥＥＰＲＯＭ等の外部のデータメモリ９０が、バス１００により、マイクロコントローラ１０１に接続された構成である。マイクロコントローラ１０１は、マイクロコンピュータ（マイクロプロセッサ）９１、内蔵ＲＡＭ９２、内蔵ＲＯＭ９３、不具合検知回路９４等により構成される。内蔵ＲＯＭ９３には、イニシャル処理プログラム９８と通常処理プログラム９９が記憶されている。ここで、通常処理プログラム９９に、不具合部９７があるものとする。データメモリ９０には、不具合が生じた場合の対策エリアとして、ＲＯＭ不具合アドレスデータ９５と、ＲＯＭ不具合回避プログラム９６を記憶した領域が設けられている。
【０００７】
第２の従来例にかかるマイクロコントローラ応用システムは、以下のとおりに動作する。
【０００８】
マイクロコンピュータ９１は、内蔵ＲＯＭ９３を順にアクセスしながら、イニシャル処理プログラム９８を実行する。イニシャル処理プログラム９８は、データメモリ９０の初期読み込みを行う。ＲＯＭ不具合アドレスデータ９５を取り込み、ＲＯＭ不具合アドレスデータ９５が存在すれば、マイクロコンピュータ９１は、バス１００を介して、ＲＯＭ不具合アドレスデータ９５を不具合検知回路９４の不具合アドレスレジスタ９４ａに設定すると共に、ＲＯＭ不具合回避プログラム９６を内蔵ＲＡＭ９２にロードする。
【０００９】
次に、マイクロコンピュータ９１は、内蔵ＲＯＭ９３を順にアクセスしながら、通常プログラム９９を順次実行する。順次実行しながら、実行アドレスは、不具合検知回路９４によって、不具合アドレスレジスタ９４ａに設定されたアドレスと比較されている。そして、不具合９７を実行する段階に到達したとき、マイクロコンピュータ９１は、ＲＯＭ不具合回避プログラム９６がロードされている内蔵ＲＡＭ９２に実行アドレスが書き換えられ、内蔵ＲＡＭ９２のプログラムを実行する。
【００１０】
第２の従来例は、第１の従来例と比べて、価格が非常に安くて済む（２００１年度で、第１の従来例を構成するための費用の約３分の１程度）。
【００１１】
第２の従来例のようなマイクロコンピュータは、例えば下記の特許文献１に開示されている。
【００１２】
【特許文献１】
特開２０００−２７６３４８号公報
【００１３】
【発明が解決しようとする課題】
しかし、第２の従来例の場合、内蔵ＲＯＭ９３に不具合が発生した場合の対応プログラム（ＲＯＭ不具合回避プログラム９６）を、データメモリ９０に事前に登録しておく必要がある。また、イニシャル処理プログラム９８に不具合がある場合は、不具合を回避できない。
【００１４】
本発明は、上記問題点を解消するもので、全てのプログラムエリアにおいて不具合回避対策が可能なマイクロコントローラ応用システムを安価に提供することにある。
【００１５】
【課題を解決するための手段】
この目的を達成するために、本発明にかかるマイクロコントローラ応用システムは、マイクロコントローラと、前記マイクロコントローラへバスで接続された書き換え可能な外部メモリとを備え、前記マイクロコントローラは、マイクロプロセッサと、前記マイクロプロセッサの制御プログラムの少なくとも一部を格納するリードオンリーメモリと、ランダムアクセスメモリと、前記ランダムアクセスメモリへ前記外部メモリからデータを転送するデータ転送手段と、不具合検知手段とを備え、前記外部メモリに、イニシャル処理プログラムを記憶する領域と、前記リードオンリーメモリ上の制御プログラムの不具合を回避するための回避プログラムを記憶する領域とが設けられ、前記不具合検知手段は、前記リードオンリーメモリ上の制御プログラムの不具合箇所のアドレスを設定するためのアドレス記憶部を有し、前記アドレス記憶部に設定されたアドレスと前記マイクロプロセッサの実行アドレスとを比較することにより、前記マイクロプロセッサが前記制御プログラムの不具合箇所を実行しようとしたときこれを検知し、前記マイクロプロセッサは、前記不具合検知手段が不具合を検知したとき、前記データ転送手段により前記外部メモリから前記ランダムアクセスメモリへロードされた前記回避プログラムを実行することを特徴とする。
【００１６】
【発明の実施の形態】
本発明にかかるマイクロコントローラ応用システムでは、書き換え可能な外部メモリにイニシャル処理プログラムを格納しておくことにより、マイクロコントローラの起動をこの外部メモリから行う。なおここでの「外部」とは、マイクロコントローラの外部を意味する。マイクロコントローラ内部のリードオンリーメモリ（ＲＯＭ）に不具合があった場合、この不具合を解消するための回避プログラムを外部メモリに組み込むと共に、不具合検知手段のアドレス記憶部に、不具合箇所のアドレスを設定する。そして、マイクロプロセッサが不具合箇所を実行しようとしたときに、不具合検知手段がこれを検知し、マイクロプロセッサがランダムアクセスメモリ（ＲＡＭ）へロードされた前記回避プログラムを実行することにより、不具合を回避することができる。なお、回避プログラムのＲＡＭへのロードは、データ転送手段により行われる。このようにして、本発明によれば、高速で且つ柔軟にソフトウェアの書き換えが可能で、かつ安価な、マイクロコントローラ応用システムを提供できる。
【００１７】
本発明にかかるマイクロコントローラ応用システムにおいて、マイクロプロセッサの制御プログラムのうち、高速動作を必要とする部分を前記リードオンリーメモリに格納することが好ましい態様である。この態様によれば、動作速度を劣化させることがなく、かつ不具合回避が可能である。なお、高速動作を必要とする部分とは、当該部分を外部メモリに配置した状態でマイクロプロセッサに実行させた場合に、例えば、所定時間内に処理が終了しなかったり、他の処理に待ち時間を発生させたりするプログラム（またはその一部）等をいう。
【００１８】
本発明にかかるマイクロコントローラ応用システムにおいて、前記不具合検知手段のアドレス記憶部が、複数のレジスタで構成されたことが好ましい。この構成によれば、不具合箇所が複数にわたる場合にも、複数のレジスタを用いて不具合箇所を特定することにより、不具合を容易に回避することができる。
【００１９】
本発明にかかるマイクロコントローラ応用システムにおいて、前記データ転送手段は、前記外部メモリに格納されたロード処理プログラムをマイクロプロセッサに実行させることによって実現することが可能である。この場合、マイクロプロセッサは、不具合検知手段がプログラムの不具合を検知する毎に前記ロード処理プログラムを実行することが好ましい。あるいは、前記データ転送手段は、前記バスに接続されたＤＭＡ回路で実現することも可能である。この構成によれば、プロセッサが他の処理を実行するのと並行に、ＤＭＡ回路が回避プログラムをＲＡＭへロードすることができるので、システム全体の処理効率が向上する。
【００２０】
前記のＤＭＡ回路を用いたマイクロコントローラ応用システムにおいて、不具合検知手段のアドレス記憶部が複数のレジスタで構成され、ＤＭＡ回路が、前記複数のレジスタに設定された複数の不具合箇所に対応する複数の回避プログラムを、連続して前記ランダムアクセスメモリへロードすることが好ましい。このように、複数の回避プログラムを連続してロードしておくことにより、回避プログラムのロード待ちが少なくなり、システム全体の処理効率が向上する。
【００２１】
本発明にかかるマイクロコントローラ応用システムにおいて、前記回避プログラムの大きさを設定するプログラムサイズ設定手段をさらに備えたことが好ましい。これにより、回避プログラムのサイズに応じてデータ転送を行うことが可能となるので、不要なデータ転送によるロスを削減でき、システム全体の処理効率が向上する。
【００２２】
本発明にかかるマイクロコントローラ応用システムにおいて、前記データ転送手段によってデータ転送済みのアドレスを記憶する転送済みアドレス記憶部をさらに備え、前記データ転送手段が、前記転送済みアドレス記憶部を参照し、まだ転送していないデータのみを転送することが好ましい。これにより、不要なデータを重複して転送することがなくなり、システム全体の処理効率が向上する。
【００２３】
本発明にかかるマイクロコントローラ応用システムにおいて、前記バスに接続するアドレス変換回路をさらに備えたことが好ましい。これにより、マイクロプロセッサのプログラムカウンタを、不具合エリアに影響されることなく順に移行させることができるので、プログラム開発時にアドレス記述を書き換える手間を省ける。
【００２４】
以下、本発明の一実施形態について、図面を参照しながら説明する。
【００２５】
（第１の実施形態）
図１は、本発明の第１の実施形態における不具合回避処理が可能なマイクロコントローラ応用システムのブロック図である。図１に示すように、本実施形態のマイクロコントローラ応用システムは、マイクロコントローラ１と外部メモリ２とを接続したシステムである。マイクロコントローラ１は、マイクロコンピュータ（ＣＰＵ）１５とその周辺装置をワンチップ化したＬＳＩとして実現することができる。マイクロコントローラ１は、マイクロコンピュータ１５の他に、その周辺装置として、内蔵ＲＡＭ１２、内蔵ＲＯＭ１３、および不具合検知回路１４を有し、これらはバス１１によって相互に接続されている。
【００２６】
マイクロコントローラ１の内蔵ＲＯＭ１３には、システムの高速動作が必要な高速動作用プログラム２５が記憶されている。本実施形態では、この高速動作用プログラム２５の一部に不具合２６が存在するものとする。外部メモリ２は、書き換え可能なメモリであって、イニシャル処理プログラム２１および通常処理プログラムの他に、前記不具合２６を解消するために、不具合回避ロード処理プログラム２２およびＲＯＭ不具合回避プログラム２４を格納するための領域が設けられている。ＲＯＭ不具合回避プログラム２４は、不具合２６への対策用プログラムである。また、不具合回避ロード処理プログラム２２は、ＲＯＭ不具合回避プログラム２４を、外部メモリ２からマイクロコントローラ１の内蔵ＲＡＭ１２に移動させる処理を行うプログラムである。
【００２７】
以上のように構成された本マイクロコントローラ応用システムの動作について説明する。
【００２８】
前述したように、イニシャル処理プログラム２１および通常処理プログラム２３は、外部メモリ２に保存され、システムとして高速動作が必要なプログラム（高速動作用プログラム２５）が、マイクロコントローラ１の内蔵ＲＯＭ１３に保存されているものとする。
【００２９】
なお、高速動作が必要なプログラムとは、当該プログラムを外部メモリに配置した状態でマイクロプロセッサに実行させた場合に、例えば、所定時間内に処理が終了しなかったり、他の処理に待ち時間を発生させたりするようなプログラム（またはプログラムの一部）をいう。具体例として、本発明のマイクロコントローラ応用システムを、パーソナルコンピュータ（ＰＣ）のＤＶＤドライブ・システムに適用する場合を例にとって説明すれば、次のとおりである。ＤＶＤドライブの制御プログラムには、ＰＣへドライブ情報を送信する処理を制御するモジュールや、ディスク回転およびディスクからのデータ読み取りを制御するモジュール等が含まれる。例えば、ＰＣへドライブ情報を送信する処理は、通信フォーマットが規格で決められており、処理速度が遅くても問題はない。しかし、ディスクからのデータ読み取り処理については、ディスクが１回転する間にディスク１周分のデータの読み取りを完了する必要がある。従って、ディスクからデータを読み取る処理を制御するためのプログラムモジュールは、上述の「高速動作を必要とするプログラム」に該当する。
【００３０】
リセット解除後、マイクロコンピュータ１５は、外部メモリ２をバス１１により順にアクセスしながら、イニシャル処理プログラム２１および通常処理プログラム２３を実行する。その時、マイクロコンピュータ１５は、イニシャル処理プログラム２１および通常処理プログラム２３の内容に応じて、内蔵ＲＡＭ１２をバス１１によりアクセスする。高速動作用プログラムの実行には、外部メモリ２内の通常処理プログラム２３より内蔵ＲＯＭ１３内の必要モジュールを呼び出して実行する。
【００３１】
その後、マイクロコンピュータ１５は、内蔵ＲＯＭ１３内に存在する高速動作用プログラム２５を順に実行する。マイクロコンピュータ１５は内蔵ＲＯＭ１３にアクセスすることにより高速処理が可能となる。
【００３２】
ところで、上述のように、内蔵ＲＯＭ１３の高速動作用プログラム２５に不具合２６があった場合は、外部メモリ２へ、その不具合２６を解消するためのＲＯＭ不具合回避プログラム２４と、不具合回避ロード処理プログラム２２とを追加する。また、イニシャル処理プログラム２１には、不具合検知回路１４に不具合回避アドレスを設定する処理を追加する。
【００３３】
これらの処理は、複数個あっても問題ない。
【００３４】
このようにＲＯＭ不具合回避プログラム２４等を追加したシステムコントロールソフトを外部メモリ２に書き込み、更新した後に、本マイクロコントローラ応用システムを起動させる。なお、イニシャル処理プログラム２１は、不具合検知回路１４の不具合アドレスレジスタ１４ａを設定するステップを含む。これにより、イニシャル処理時に、不具合アドレスレジスタ１４ａへ、内蔵ＲＯＭ１３における不具合２６のアドレスが格納される。
【００３５】
そして、マイクロコンピュータ１５が、通常処理プログラム２３を実行し、高速処理に移行して高速動作用プログラム２５を実行する間、不具合検知回路１４は、マイクロコンピュータ１５による実行アドレスと、不具合アドレスレジスタ１４ａに格納されているアドレスとを比較する。そして、不具合検知回路１４は、実行アドレスが不具合２６に到達したことを検知すると、不具合回避ロード処理プログラム２２により、ＲＯＭ不具合回避プログラム２４を内蔵ＲＡＭ１２に対してロードする。次に、マイクロコンピュータ１５は、プログラムカウンタを内蔵ＲＡＭ１２にロードされたＲＯＭ不具合回避プログラム２４のアドレスに設定し、内蔵ＲＡＭ１２にロードされたＲＯＭ不具合回避プログラム２４の実行を行う。
【００３６】
図２は、本実施形態にかかるマイクロコントローラ応用システムのタイミングチャートである。本マイクロコントローラ応用システムでは、通常プログラムの実行ａ１、不具合を解消するためのＲＯＭ不具合回避プログラムのロードｂ１、不具合部の実行ｃ１が、順に行われる。
【００３７】
例えば、松下電器産業株式会社製マイクロコンピュータＭＮ１０３００シリーズ、同ＭＮ１０２００シリーズでは、外部メモリ単体のシステムでの場合４ＭＩＰＳで動作することになるが、本実施形態の構成と同様の構成に改造した場合、ＭＮ１０３００シリーズでは高速時に２０ＭＩＰＳ、同じくＭＮ１０３００シリーズでは１０ＭＩＰＳで動作可能である。
【００３８】
以上のように、本実施形態によれば、高速動作用プログラム２５を内蔵ＲＯＭ１３に格納し、低速処理で十分なプログラムである通常処理プログラム２３を外部メモリ２に格納しておくことで、高速動作が可能である。また、ＲＯＭ不具合があった場合、外部メモリ２にＲＯＭ不具合回避プログラム２４および不具合回避ロード処理プログラム２２を設けることにより、事前に内蔵ＲＯＭ１３に対応プログラムを書いておく必要が無いため、全てのプログラムエリアにおいて不具合回避可能である。また、プログラム内の不具合の位置や回数に制限無く、不具合回避対策が可能である。つまり、ソフトウェアの不具合対策を柔軟に行うことができる。また、イニシャル処理プログラムを外部メモリ２に格納したことにより、イニシャル処理プログラム自体に不具合があった場合は、外部メモリ２上のイニシャル処理プログラムを書き換えるだけで、容易に不具合を解消できる。
【００３９】
（第２の実施形態）
以下、本発明の第２の実施形態について図面を参照しながら説明する。
【００４０】
図３は、本発明の第２の実施形態にかかるマイクロコントローラ応用システムのブロック図である。図３において、図１の構成と異なるのは、不具合回避ロード処理プログラム３２の代わりに、マイクロコントローラ１にＤＭＡブロック４０を新たに設けた点である。
【００４１】
上記のように構成された本実施形態のマイクロコントローラ応用システムの動作を説明する。
【００４２】
まず、内蔵ＲＯＭ１３の高速動作用プログラム２５に不具合２６があった場合、外部メモリ２に、この不具合２６を解消するためのＲＯＭ不具合回避プログラム２４を追加すると共に、イニシャル処理プログラム２１の実行時に、不具合アドレスレジスタ１４ａへ、内蔵ＲＯＭ１３における不具合２６のアドレスを格納する点は、第１の実施形態と同じである。
【００４３】
マイクロコンピュータ１５がイニシャル処理プログラム２１において不具合アドレスレジスタ１４ａに不具合２６のアドレスを登録すると同時に、ＤＭＡブロック４０は、ＲＯＭ不具合回避プログラム２４を内蔵ＲＡＭ１２にロードする。その後は、第１の実施形態と同じである。
【００４４】
ＤＭＡブロック４０を用いることによって、不具合２６を解消するためのＲＯＭ不具合回避プログラム２４を内蔵ＲＡＭ１２へロードする処理と並列に、マイクロコンピュータ１５が他の処理を行える。このため、第２の実施形態の処理速度は、第１の実施形態と比較して、以下の式で計算される削減時間Ｔだけ高速化することになる。
【００４５】
Ｔ＝不具合数×ＲＯＭサイズ
×（ＲＯＭリードサイクル＋マイクロコンピュータ処理時間）
図４は、本実施形態にかかるマイクロコントローラ応用システムのタイミングチャートである。図４に示すように、本マイクロコントローラ応用システムでは、ＤＭＡを用いるため、通常処理プログラムの実行ａ２とＲＯＭ不具合回避プログラム２４の内蔵ＲＡＭ１２へのロードとは、同時に実行可能である。
【００４６】
以上のように、本実施形態によれば、第１の実施形態の不具合回避ロード処理プログラム２２の代わりにＤＭＡブロック４０を設けることにより、アクセス速度の遅い外部メモリ２にＲＯＭ不具合回避プログラム２４を記憶しておいても、通常処理プログラム２３の実行中に外部メモリ２から内蔵ＲＡＭ１２へＲＯＭ不具合回避プログラム２４を転送することで、ロス時間を省くことができる。
【００４７】
（第３の実施形態）
以下、本発明の第３の実施形態について図面を参照しながら説明する。
【００４８】
図５は、本発明の第３の実施形態にかかるマイクロコントローラ応用システムのブロック図である。図５において、図３の構成と異なるのは、不具合検知回路１４の代わりに、複数不具合検知回路５０を新たに設けた点である。複数不具合検知回路５０は、複数の不具合箇所のそれぞれについて、不具合２６ａのアドレス、不具合２６ｂのアドレス…を設定するために、複数の不具合アドレスレジスタ５０ａ，５０ｂ…を有する。
【００４９】
上記のように構成された本実施形態のマイクロコントローラ応用システムの動作を説明する。
【００５０】
本実施形態では、内蔵ＲＯＭ１３の高速動作用プログラム２５に複数の不具合２６ａ，２６ｂ…があった場合、外部メモリ２に、不具合２６ａ，２６ｂ…のそれぞれに対応する複数のＲＯＭ不具合回避プログラム２４ａ，２４ｂ…を追加する。また、複数の不具合２６ａ，２６ｂ…のアドレスは、イニシャル処理プログラム２１の実行中に、不具合アドレスレジスタ５０ａ，５０ｂ…に格納される。
【００５１】
マイクロコンピュータ１５がイニシャル処理プログラム２１において不具合アドレスレジスタ５０ａ，５０ｂ…に不具合２６ａのアドレス、不具合２６ｂのアドレス…を登録すると同時に、ＤＭＡブロック４０は、複数のＲＯＭ不具合回避プログラム２４ａ，２４ｂ…を連続して内蔵ＲＡＭ１２にロードする。その後は、第２の実施形態と同じである。
【００５２】
図６は、本実施形態にかかるマイクロコントローラ応用システムのタイミングチャートである。本マイクロコントローラ応用システムは、複数のＲＯＭ不具合回避プログラム２４ａ，２４ｂ…をあらかじめ内蔵ＲＡＭ１２へロードすることが可能である。これにより、二カ所目以降のＲＯＭ不具合回避プログラム２４の実行ｆ３の開始が早まる。
【００５３】
以上のように、本実施形態によれば、不具合検知回路１４の代わりに複数不具合検知回路５０を設けることにより、アクセス速度の遅い外部メモリ２に不具合回避プログラム２４を記憶しておいても、通常処理プログラム２３の実行中に、ＤＭＡブロック２０が外部メモリ２から内蔵ＲＡＭ１２へ複数のプログラムを連続的に転送することで、ロス時間を省くことができる。
【００５４】
（第４の実施形態）
以下、本発明の第４の実施形態について図面を参照しながら説明する。
図７は、本発明の第４の実施形態にかかるマイクロコントローラ応用システムのブロック図である。図７において、図５の構成と異なるのは、複数不具合検知回路５０に接続するプログラムサイズ設定回路６０を新たに設けた点である。
【００５５】
上記のように構成された本実施形態のマイクロコントローラ応用システムについて、以下その動作を説明する。
【００５６】
内蔵ＲＯＭ１３の高速動作用プログラム２５に複数の不具合２６ａ，２６ｂ…があった場合、外部メモリ２のプログラムに、ＲＯＭ不具合回避プログラム２４ａ，２４ｂ…を追加し、また、イニシャル処理プログラム２１で、複数不具合検知回路５０に複数の不具合回避アドレス設定情報を設定する処理を追加するところまでは、第４の実施形態と同じである。本実施形態では、複数の不具合アドレスを設定した後、ＲＯＭ不具合回避プログラム２４ａ，２４ｂ…のメモリサイズを、ＲＡＭサイズ設定回路６０に設定する。
【００５７】
マイクロコンピュータ１５がイニシャル処理プログラム２１において、不具合アドレスレジスタ５０ａ，５０ｂ…に不具合２６ａのアドレス、不具合２６ｂのアドレス…を登録すると同時に、ＤＭＡブロック４０は、複数のＲＯＭ不具合回避プログラム２４ａ，２４ｂ…を内蔵ＲＡＭ１２にロードする。この時、ＲＡＭのエリアサイズ全てを転送するのでは無く、ＲＡＭサイズ設定回路６０で設定した転送サイズ分のみロードされる。
【００５８】
図８は、本実施形態にかかるマイクロコントローラ応用システムのタイミングチャートである。本実施形態では、転送サイズをプログラム毎に調整できるため、仮にＲＯＭ不具合回避プログラム２４ａのデータ量が少なければ、このプログラムの転送時間（図８に示す回避プログラムロードｂ４）が短くなり、ロードしたＲＯＭ不具合回避プログラム２４の実行処理（図８に示す回避プログラム実行ｃ４）の開始が早まる。
【００５９】
以上のように、本実施形態によれば、ＲＡＭサイズ設定回路６０を新たに設けることにより、アクセス速度の遅い外部メモリ２にＲＯＭ不具合回避プログラム２４を記憶しておいても、外部メモリ２から内蔵ＲＡＭ１２へのプログラム転送を各プログラムのサイズ分のみ行うことで、ロス時間を省くことができる。
【００６０】
（第５の実施形態）
図９は、本発明の第５の実施形態にかかるマイクロコントローラ応用システムのブロック図である。図９において、図７の構成と異なるのは、複数不具合検知回路５０に接続するリード済みレジスタ７０が新たに設けられた点である。リード済みレジスタ７０には、ＲＯＭ不具合回避プログラム２４ａ，２４ｂのそれぞれについて、内蔵ＲＡＭ１２へのロード完了フラグが格納される。
【００６１】
上記のように構成された本実施形態のマイクロコントローラ応用システムについて、以下その動作を説明する。
【００６２】
内蔵ＲＯＭ１３の高速動作用プログラム２５に不具合２６ａ，２６ｂ…があった場合、外部メモリ２のプログラムに、ＲＯＭ不具合回避プログラム２４ａ，２４ｂ…を追加し、また、イニシャル処理プログラム２１で、不具合２６ａ，２６ｂ…のアドレスおよびＲＯＭ不具合回避プログラム２４ａ，２４ｂ…の転送サイズを設定する処理を追加するところまでは、第４の実施形態と同じである。
【００６３】
マイクロコンピュータ１５がイニシャル処理プログラム２１において不具合アドレスレジスタ５０ａ，５０ｂ…に不具合２６ａのアドレス、不具合２６ｂのアドレス…を登録すると同時に、ＤＭＡブロック４０は、ＲＯＭ不具合回避プログラム２４ａ，２４ｂ…を、外部メモリ２から内蔵ＲＡＭ１２に順次転送する。なお、この転送処理は、ＲＡＭサイズ設定回路６０に設定されている転送サイズに従って実行される。この時、ＤＭＡブロック４０により１回の転送処理が完了する毎に、ＲＯＭ不具合回避プログラム２４ａ，２４ｂ…のそれぞれについて、転送完了フラグがリード済レジスタ７０に設定される。
【００６４】
マイクロコンピュータ１５が、通常処理プログラム２３を実行中、再度、ＲＯＭ不具合回避プログラム２４ａ，２４ｂ…を内蔵ＲＡＭ１２に転送する必要が生じた場合、通常であれば全てのＲＯＭ不具合回避プログラム２４ａ，２４ｂ…を再び転送する必要がある。しかし、本実施形態では、複数不具合検知回路５０がリード済みレジスタ７０を参照することにより、内蔵ＲＡＭ１２へ転送済みのエリアに関しては再ロードを行わない。
【００６５】
図１０は、本実施形態にかかるマイクロコントローラ応用システムのタイミングチャートである。図１０において、例えば、マイクロコンピュータ１５によりｃ５で実行されるＲＯＭ不具合回避プログラムとｈ５で実行されるＲＯＭ不具合回避プログラムとが同じものであるとする。この場合、ＤＭＡブロック４０は、ｃ５で実行されるプログラムの転送処理ｂ５と、ｆ５で実行されるプログラムの転送処理ｅ５とを連続して行った後、ｈ５で実行されるプログラムは既に内蔵ＲＡＭ１２にロードされているので、転送処理を行わない。これにより、ｈ５の実行処理を早く開始することができるため、高速化につながる。
【００６６】
以上のように、本実施形態によれば、リード済みレジスタ設定回路７０を新たに設けて、外部メモリ２から内蔵ＲＡＭ１２へのプログラムのロードを必要な場合だけ行うことにより、ロス時間を省くことができる。
【００６７】
また、第１〜第５の実施形態に共通して、外付けの外部メモリ２を用いることにより、自由にメモリを選択することができ、大容量プログラムを搭載することが可能である。
【００６８】
【発明の効果】
以上のように、本発明によれば、全てのプログラムエリアにおいて不具合回避対策が可能なマイクロコントローラ応用システムを実現できる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態にかかるマイクロコントローラ応用システムのブロック図
【図２】本発明の第１の実施形態にかかるマイクロコントローラ応用システムのタイミングチャート
【図３】本発明の第２の実施形態にかかるマイクロコントローラ応用システムのブロック図
【図４】本発明の第２の実施形態にかかるマイクロコントローラ応用システムのタイミングチャート
【図５】本発明の第３の実施形態にかかるマイクロコントローラ応用システムのブロック図
【図６】本発明の第３の実施形態にかかるマイクロコントローラ応用システムのタイミングチャート
【図７】本発明の第４の実施形態にかかるマイクロコントローラ応用システムのブロック図
【図８】本発明の第４の実施形態にかかるマイクロコントローラ応用システムのタイミングチャート
【図９】本発明の第５の実施形態にかかるマイクロコントローラ応用システムのブロック図
【図１０】本発明の第５の実施形態にかかるマイクロコントローラ応用システムのタイミングチャート
【図１１】従来のマイクロコントローラ応用システムの一例を示すブロック図
【符号の簡単な説明】
１      マイクロコントローラ
２      外部メモリ
１２    内蔵ＲＡＭ
１３    内蔵ＲＯＭ
１４    不具合検知回路
１４ａ  不具合アドレスレジスタ
１５    マイクロコンピュータ
１１    バス
２５    高速動作用プログラム
２６    不具合
２１    イニシャル処理プログラム
２２    不具合回避ロード処理プログラム
２３    通常処理プログラム
２４    ＲＯＭ不具合回避プログラム
２５    ＲＯＭ不具合アドレスデータ
４０    ＤＭＡブロック
５０    複数不具合検知回路
６０    ＲＡＭサイズ設定回路
７０    リード済レジスタ
８０    プログラムカウンタ変換回路
【図１】
2004152020.tif 000003
【図２】
2004152020.tif 000004
【図３】
2004152020.tif 000005
【図４】
2004152020.tif 000006
【図５】
2004152020.tif 000007
【図６】
2004152020.tif 000008
【図７】
2004152020.tif 000009
【図８】
2004152020.tif 000010
【図９】
2004152020.tif 000011
【図１０】
2004152020.tif 000012
【図１１】
2004152020.tif 000013