(57)【要約】【課題】割込み信号を用いず通常用プログラムとデバッグ用プログラムの制御を切換えることのできるデバッグ装置を提供することにある。【解決手段】プログラム実行アドレスと事前に設定されたアドレスが一致していることを検出するアドレス比較回路１０１からチップセレクト信号１０５が出力されると、ＭＣＵ１０２が実行していた、ユーザメモリ１０３に格納された通常用プログラムから、システムメモリ１０４に格納されたデバッグ用プログラムを実行するように切換える、また、チップセレクト信号１０５によりシステムメモリ１０４に格納されたデバッグ用プログラムから、ユーザメモリ１０３に格納された通常用プログラムを実行するように切換える。【選択図】  図１
2004185356.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの実行アドレスと外部から設定した設定アドレスとを比較し、一致したときにチップセレクト信号を発するアドレス比較手段と、
通常用プログラムを格納するためのユーザメモリと、
デバッグ用プログラムを格納するためのシステムメモリと、
前記ユーザメモリに格納された前記通常用プログラムおよび前記システムメモリに格納された前記デバッグ用プログラムを実行するマイクロコントロールユニットと、
前記チップセレクト信号によって前記マイクロコントロールユニットが実行するプログラムを前記ユーザメモリの前記通常用プログラムから前記システムメモリのデバッグ用プログラムに切換える手段と、
を具備することを特徴とするデバッグ装置。
【請求項２】
プログラムの実行アドレスと外部から設定した設定アドレスとを比較し、一致したときにアドレスセレクト信号を発するアドレス比較手段と、
ユーザメモリ領域とシステムメモリ領域からなるプログラム格納メモリと、
前記ユーザメモリに格納された通常用プログラムおよび前記システムメモリに格納されたデバッグ用プログラムを実行するマイクロコントロールユニットとを備え、
前記アドレスセレクト信号によって前記マイクロコントロールユニットが実行するプログラムを前記ユーザメモリ領域の前記通常用プログラムから前記システムメモリ領域のデバッグ用プログラムに切換えることを特徴とするデバッグ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロプロセサに搭載されるプログラムを効率よくデバッグできるデバッグ装置に関する。
【０００２】
【従来の技術】
ＴＶやオーディオなどの家電製品から、携帯電話や自動車などの広い範囲で、マイクロプロセサ（以下、マイコンと称する）が組み込まれて使用されている。これらのマイコンには、マイコンを組み込む機器に対応したプログラムが搭載されており、このプログラムを開発するときに、その不具合を取り除き完成度を高めてゆく作業として、デバッグが行われる。
【０００３】
デバッグには、プログラムが実際にその上で動作するエミュレータを利用するのが一般的だが、デバッグしようとするプログラムのアドレスやメモリ内容が、予め設定した条件と一致するかどうかを比較するために、エミュレータ内部に検査回路を設けていた。しかし、設定条件の数が増えたり、設定条件が複雑化するのに合わせて、検査回路を増設しなければならず、エミュレータのコストや開発期間を増やすという問題があった。
【０００４】
この問題を解決すべく、デバッグ容易化装置が提案されている（例えば、特許文献１参照。）。この従来技術を、図４を参照して説明する。
【０００５】
従来のデバッグ容易化装置は、供給されるマイクロ命令を実行するマイクロ命令実行部４０４と、外部から供給されるデバッグ条件アドレスとマイクロ命令実行部４０４から供給される命令実行アドレス４１２とを比較し一致したときに一致信号４０５を発生するデバッグ用比較回路４０１と、通常動作用のマイクロ命令を格納する通常動作用マイクロ命令部４０９とデバッグ条件が成立したときにデータ採取動作をさせ不成立のときは通常動作用マイクロ命令を実行するマイクロプログラムを格納するデバッグ用マイクロ命令部４１０とを有するマイクロ命令格納部４０３と、通常動作用マイクロ命令部４０９とデバッグ用マイクロ命令部４１０からマイクロ命令の供給を受け、通常は通常動作用マイクロ命令部４０９のマイクロ命令をマイクロ命令実行部４０４に供給し、割込回路４０２からの切換信号４０８の供給に応答してデバッグ用マイクロ命令部４１０のマイクロ命令に切換えてマイクロ命令実行部４０４に供給する命令セレクタ４０７と、デバッグ用比較回路４０１からの一致信号４０５の供給に応答して割込信号４０６と切換信号４０８を発生し、割込信号４０６によりマイクロ命令実行部４０４とレジスタ保存部４１５に割込みを行い、切換信号４０８により命令セレクタ４０７を切換えさせる割込回路４０２と、デバッグ用マイクロプログラムをデバッグ用マイクロ命令部４１０に入力する入力部４１１とから構成される。なお、マイクロ命令格納部４０３は、割込回路４０２から供給される割込信号４０６に応答してプログラムカウンタレジスタ４１３とフラグレジスタ４１４の内容を保存するレジスタ部４１５を有する。
【０００６】
次に、従来のデバッグ容易化装置の動作を説明する。
【０００７】
まず、デバッグするユーザは、デバッグ条件の一つである命令実行アドレス値４１６をデバッグ用比較回路４０１に入力設定する。
【０００８】
次に、予め作成された複数のデバッグ条件を検証するマイクロプログラムを入力部４１１によりマイクロ命令格納部４０３のデバッグ用マイクロ命令部４１０に入力する。そして、マイクロ命令実行部４０４は、プログラムカウンタに初期アドレスを設定してマイクロ命令格納部の通常動作用マイクロ命令部からマイクロ命令を順次読み出し実行する。
【０００９】
この初期状態では、デバッグ用比較回路４０１から一致信号４０５が出力されていないので、割込回路４０２は切換信号４０８および割込信号４０６を発生していない。このため、命令セレクタ４０７はマイクロ命令格納部４０３の通常動作用マイクロ命令部４０９からのマイクロ命令をマイクロ命令実行部４０４に供給するよう動作する。
【００１０】
従って、マイクロ命令格納部４０３の通常動作用マイクロ命令部４０９から次々とマイクロ命令がマイクロ命令実行部４０４に読み出されてマイクロ命令実行部４０４でこの命令が実行される。
【００１１】
この実行と並行して、マイクロ命令実行部４０４から命令実行アドレス４１２がデバッグ用比較回路４０１に供給されデバッグ用比較回路４０１において命令実行アドレス４１２と外部から入力される命令実行アドレス値４１６の比較が行われる。
【００１２】
デバッグ用比較回路４０１の比較の結果、デバッグ条件対象アドレス４１２とデバッグ条件アドレスが一致した時は、デバッグ用比較回路４０１は一致信号４０５を発生してこれを割込回路４０２に出力する。
【００１３】
割込回路４０２は、この一致信号４０５に応答して割込信号４０６をマイクロ命令実行部４０４に供給し、切換信号４０８を命令セレクタ４０７に供給する。更に、割込回路４０２は、割込信号４０６をレジスタ部４１５に供給する。
【００１４】
マイクロ命令格納部４０３は、この割込信号４０６に応答して割込信号４０６の発生時におけるプログラムカウンタレジスタ４１３とフラグレジスタ４１４の内容を保存する。
【００１５】
命令セレクタ４０７は、上記切換信号４０８に応答してマイクロ命令格納部４０３のデバッグ用マイクロ命令部４１０からのデバッグ用マイクロ命令を選択出力するように切換えて、デバッグ用マイクロ命令部４１０に格納されているデバッグ用マイクロプログラムのマイクロ命令をマイクロ命令実行部４０４に供給する。
【００１６】
マイクロ命令実行部４０４は、上記割込信号４０６に応答して今まで実行していたデバッグ対象プログラムの実行を中断して、デバッグ用マイクロ命令部４１０から命令セレクタ４０７を介して供給されるデバッグ用マイクロプログラムのマイクロ命令の実行を開始する。
【００１７】
以上のように、特許文献１のデバッグ容易化装置では、従来エミュレータ内部に設けた検査回路で実行していたデバッグ条件検査を、マイクロプログラムで行うようにした点に特徴があり、複数のデバッグ条件がある場合でも、ハードウェアを増設することなくデバッグを実行でき、またデバッグ条件の変更や追加などに対しても、柔軟に対応できるという特徴を有している。
【００１８】
しかしながら、上記した従来のデバッグ容易化装置では、割込処理を実行することによる時間的な遅延が生じるという問題点があった。即ち、通常動作用プログラムに割込みがかかると、デバッグ用プログラムに制御が移行する前に、プログラムステータスを示すプログラムカウンタレジスタや、フラグレジスタの内容を保存しておき、通常動作用プログラムに制御が復帰したときに、その保存した内容を読み出し割込みがかかる以前の状態に復元する必要がある。このために、前記レジスタの内容を一時的に保存しなくてはならず、そのための処理に数マイクロセカンド程度の時間を消費する。
【００１９】
さらに、通常動作用プログラムから割込み処理に移行するために、数サイクルのプログラムステップを実行するための時間も消費される。デバッグするプログラムによっては、割込処理によって一時的にでも動作が遅延すると、本来の状態とは異なる動作をしてしまうものもあり、デバッグそのものが意味を為さなくなる場合がある。
【００２０】
さらに、前記プログラムカウンタレジスタやフラグレジスタの内容を保存するためのメモリ領域が必要となるが、特にローエンドのマイコンでは保有するメモリ容量が少ないことから、保存のための領域がプログラム領域を圧迫してしまう。例えば、レジスタの内容を保存するためのメモリ領域が全体の２０−３０％を占める場合もある。
【００２１】
【特許文献１】
特開平８−２６３３２４号公報
【００２２】
【発明が解決しようとする課題】
従来のデバッグ容易化装置では、通常動作用マイクロプログラムとデバッグ用マイクロプログラムの切換えに割込み処理を用いているため、通常動作用マイクロプログラムからデバッグ用マイクロプログラムに切換わる前に、特定のレジスタの内容を保存するというステップを実行するなど、その処理時間によっては、通常動作用マイクロプログラムの本来の動作を再現できない場合があるなどの問題点を有している。
【００２３】
本発明は、上記問題点を解決するためになされたもので、その目的とするところは、通常用プログラムからデバッグ用プログラムへの切換え時間を削減し、さらに、特定のレジスタを一時的に保存するためのメモリ領域を削減することができる、デバッグ装置を提供することである。
【００２４】
【課題を解決するための手段】
上記目的を達成するために、本発明のデバッグ装置は、プログラムの実行アドレスと外部から設定した設定アドレスとを比較し、一致したときにチップセレクト信号を発するアドレス比較手段と、通常用プログラムを格納するためのユーザメモリと、デバッグ用プログラムを格納するためのシステムメモリと、前記ユーザメモリに格納された前記通常用プログラムおよび前記システムメモリに格納された前記デバッグ用プログラムを実行するマイクロコントロールユニットと、前記チップセレクト信号によって前記マイクロコントロールユニットが実行するプログラムを前記ユーザメモリの前記通常用プログラムから前記システムメモリのデバッグ用プログラムに切換える手段と、を具備することを特徴としている。
【００２５】
また、上記目的を達成するために、本発明のデバッグ装置は、プログラムの実行アドレスと外部から設定した設定アドレスとを比較し、一致したときにアドレスセレクト信号を発するアドレス比較手段と、ユーザメモリ領域とシステムメモリ領域からなるプログラム格納メモリと、前記ユーザメモリに格納された通常用プログラムおよび前記システムメモリに格納されたデバッグ用プログラムを実行するマイクロコントロールユニットとを備え、前記アドレスセレクト信号によって前記マイクロコントロールユニットが実行するプログラムを前記ユーザメモリ領域の前記通常用プログラムから前記システムメモリ領域のデバッグ用プログラムに切換えることを特徴としている。
【００２６】
本発明によれば、プログラムの制御を、通常用プログラムからデバッグ用プログラムに切換える時に、割込信号を用いる代わりに、チップセレクト信号あるいはアドレスセレクト信号を用いることによって、割込み処理にかかるメモリの切換え時間の削減、および、特定のレジスタを一時的に保存するためのメモリ領域の削減を図ることができる。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【００２８】
（第１の実施の形態）
図１に、本発明によるデバッグ装置の第１の実施の形態のブロック図を示す。本実施の形態のデバッグ装置は、プログラムを実行するマイクロコントロールユニット（以下ＭＣＵ）１０２と、通常用プログラムを格納するためのユーザメモリ１０３と、デバッグ用プログラムを格納するためのシステムメモリ１０４と、プログラムの実行アドレスが事前に設定したアドレスと一致しているかを調べるアドレス比較回路１０１と、チップセレクト信号（以下ＣＳ）１０５を反転させるインバータ１０９とにより構成される。
【００２９】
そして、ＭＣＵ１０２は、プログラムの実行アドレスを転送するアドレスバス（以下ＡＢＵＳ）１０６、プログラム命令やメモリ内容を転送するデータバス（以下ＤＢＵＳ）１０７によってユーザメモリ１０３およびシステムメモリ１０４と、接続されている。また、ＭＣＵ１０２は、ユーザメモリ１０３およびシステムメモリ１０４とプログラム命令やメモリ内容の読込み／書き込みを指令するＲ／Ｗ信号ライン１０８により接続されている。さらに、ＭＣＵ１０２は、アドレス比較回路１０１とＡＢＵＳ１０６により接続されている。
【００３０】
そして、アドレス比較回路１０１は、ＭＣＵ１０２、ユーザメモリ１０３およびシステムメモリ１０４と、プログラムの実行アドレスを転送するＡＢＵＳ１０６により接続され、さらに、アドレス比較回路１０１は、ユーザメモリ１０３とＣＳ１０５により接続され、また、システムメモリ１０４とインバータ１０９を介して接続されている。
【００３１】
ＭＣＵ１０２は、プログラムが実行されている時は、ユーザメモリ１０３またはシステムメモリ１０４のいずれか一方をアクセスするようになっており、アドレス比較回路１０１からのＣＳ１０５が発せられると、それまでアクセスしていたメモリ（例えばユーザメモり１０３）から、他方のメモリ（例えばシステムメモリ１０４）へアクセスするように切換わる。
【００３２】
次に、本実施の形態のデバッグ装置の動作について、図１のブロック図、および図３のフローチャートを参照して説明する。本実施の形態では、アドレス比較回路１０１で一致したと判断させるアドレスを「０ｘ１０００」番地に、また、その時のデバッグ条件を「０ｘ１００」番地の内容が、「０ｘ５５」なる値をとった場合と仮定する。
【００３３】
デバッグしようとする通常用プログラムがユーザメモリ１０３に格納されており、一方、デバッグ用プログラムがシステムメモリ１０４に格納されている。また、初期状態では、ＭＣＵ１０２がユーザメモリ１０３にアクセスするように接続されている。また、「０ｘ１０００」番地をアドレス比較回路１０１に設定する。
【００３４】
まず、ＭＣＵ１０２がユーザメモリ１０３の通常用プログラムの先頭アドレスから読み出しを開始すると、その読み出された順番に各マイクロ命令を実行する。ＭＣＵ１０２からの読み出しアドレスは、アドレス比較回路１０１に供給されており、このアドレス比較回路１０１は読み出しアドレスが事前に設定したアドレス「０ｘ１０００」と一致しているかどうかを調べる。
【００３５】
アドレス比較回路１０１においてアドレスが不一致の場合は、順次、ユーザメモリ１０３の通常用プログラムが順次読み出されＭＣＵ１０２にて実行される。
【００３６】
アドレスが一致した場合（即ち、０ｘ１０００番地）は、アドレス比較回路１０１からＣＳ信号１０５が出力され、ユーザメモリ１０３およびシステムメモリ１０４に供給される。これにより、それまでＭＣＵ１０１がユーザメモリ１０３を実行していたものが、システムメモリ１０４に実行するように切換わる。
【００３７】
すると、ＭＣＵ１０２はシステムメモリ１０４に格納されているデバッグ用プログラムの「０ｘ１０００」番地から実行を開始する。このデバッグ用プログラムの動作を示すフローチャートを、図３に示す。
【００３８】
まず、ＭＣＵ１０２はデバッグ用プログラムに切換わる直前まで通常用プログラムが使用していた汎用レジスタ（図示せず）の内容を、システムメモリ１０４の一部に保存する。これは、汎用レジスタをデバッグ用プログラムの実行時に使用しても、通常用プログラムに復帰した時に元の状態に設定するための処理である。
【００３９】
また、システムメモリ１０４のデバッグ用プログラムが実行される間、ＭＣＵ１０２のタイマを停止する（ステップＳ３０１）。これは、デバッグ用プログラムが実行される間、タイマが継続動作することによって、通常用プログラムに復帰した時に、不正な動作を生じさせないようにするためのものである。
【００４０】
次に、ＭＣＵ１０２は、デバッグ条件を満たすかどうかを確認するために、ユーザメモリ１０３の「０ｘ１００」番地の内容を読み出す（ステップＳ３０２）。
【００４１】
そして、その「０ｘ１００」番地の内容が「０ｘ５５」であるかを調べる（ステップＳ３０３）。
【００４２】
「０ｘ５５」である場合、即ち、デバッグ条件を満たす場合は、デバッグ処理を行う（ステップＳ３０４）。これは、例えば、その時点における特定のレジスタや特定のメモリ領域（ユーザメモリ）の内容を、別のメモリ領域に保存して、別途その内容を確認するなどの処理を行うことになる。デバッグ条件を満たさない場合は、そのまま次のステップＳ３０５へ進む。
【００４３】
デバッグ用プログラムを終了する前に、ステップＳ３０１で予め保存しておいた汎用レジスタの内容を、通常用プログラムが使用していた状態に復元し、さらに、ＭＣＵ１０２のタイマを再起動する（ステップＳ３０５）。
【００４４】
最後に、ＭＣＵ１０２は、「０ｘ１０００」番地へジャンプする命令を実行し、ユーザメモリ１０３へ切換える（ステップＳ３０６）。即ち、アドレス比較回路１０１に「０ｘ１０００」番地のアドレスが供給されると、比較一致して、再度ＣＳ信号１０５が出力され、ユーザメモリ１０３およびシステムメモリ１０４に供給される。
【００４５】
すると、それまでＭＣＵ１０２がシステムメモリ１０４にアクセスしていたものが、ユーザメモリ１０３へアクセスするように切換わり、ユーザメモリ１０３上で通常用プログラムが「０ｘ１０００」番地から処理を続行する。この時、システムメモリ１０４に保存していた汎用レジスタの内容が読み出され復元される。
【００４６】
本実施の形態では、上記のようにアドレス一致を検出した時点で割込信号を利用せず、チップセレクト信号を用いて、通常用プログラムとデバッグ用プログラムの制御を切換えることにより、割込み処理時に発生するプログラムカウンタレジスタやフラグレジスタの保存に費やされる余分な処理時間を削減し、さらに、限りあるユーザメモリが、それらの保存領域のために制限されることを避けることができるデバッグ装置を提供することができる。
【００４７】
（第２の実施の形態）
図２（ａ）に、本発明によるデバッグ装置の、第２の実施の形態のブロック図を示す。
【００４８】
第２の実施の形態のデバッグ装置は、プログラムを実行するＭＣＵ１０２と、プログラムを格納するためのプログラム格納メモリ２０１と、プログラムの実行アドレスが事前に設定したアドレスと一致しているかを調べるアドレス比較回路１０１とにより構成される。
【００４９】
そして、ＭＣＵ１０２は、プログラム格納メモリ２０１とプログラムの実行アドレスを転送するＡＢＵＳ１０６により接続されている。またＭＣＵ１０２は、同様に、プログラム命令やメモリ内容を転送するＤＢＵＳ１０７および、プログラム命令やメモリ内容の読込み／書き込みを指令するＲ／Ｗ信号１０８により接続されている。さらに、ＭＣＵ１０２は、アドレス比較回路１０１とＡＢＵＳ１０６により接続されている。
【００５０】
そして、アドレス比較回路１０１は、ＭＣＵ１０２、プログラム格納メモリ２０１とプログラムの実行アドレスを転送するＡＢＵＳ１０６により接続され、さらに、アドレス比較回路１０１は、プログラム格納メモリ２０１とアドレスセレクト信号（以下ＡＳ）２０２により接続されている。ＡＳ２０２はアドレスを構成するビットの内の最上位ビットを割り当てる。
【００５１】
図２（ｂ）に、プログラム格納メモリ２０１の内部構成を示す。本実施の形態では、プログラム格納メモリ２０１全体で、２５６バイトの容量を持ち、その内の前半部（「０ｘ００００」番地から「０ｘＦＦＦＦ」番地まで）をユーザメモリ領域２０１ａとして用い、その後半部（「０ｘ１００００」番地から「０ｘ１ＦＦＦＦ」番地まで）をシステムメモリ領域２０１ｂとして用いる。
【００５２】
ユーザメモリ領域２０１ａには通常用プログラムが格納され、システムメモリ領域２０１ｂにはデバッグ用プログラムが格納されている。
【００５３】
ＭＣＵ１０２は、プログラム格納メモリ２０１のユーザメモリ領域２０１ａまたはシステムメモリ領域２０１ｂのいずれか一方に格納されているプログラムを読み出してこれを実行する。この時、アドレス比較回路１０１からのＡＳ信号２０２が発せられると、それまでアクセスしていた一方のメモリ領域（例えばユーザメモリ領域２０１ａ）に格納されたプログラムから、他方のメモリ領域（例えばシステムメモリ領域２０１ｂ）に格納されたプログラムが実行されて、処理が継続される。
【００５４】
本実施の形態では、ＡＳ２０２は、アドレスの５桁目（０−１６ビットの内の上位１ビット目）に設定されている。ＡＳ２０２が「０」の場合は、ユーザメモリ領域２０１ａとなり、同様に、「１」の場合は、システムメモリ領域２０１ｂとなるように分けてある。
【００５５】
次に、第２の実施の形態のデバッグ装置の動作を同様に図２のフローチャートを参照して説明する。本実施の形態では、アドレス比較回路１０１で、一致したと判断させるアドレスを、「０ｘ１０００」番地に、また、その時のデバッグ条件を「０ｘ１００」番地の内容が「０ｘ５５」なる値をとった場合と仮定する。
【００５６】
そして、デバッグしようとする通常用プログラムがユーザメモリ領域２０１ａに格納されており、一方、デバッグ用プログラムがシステムメモリ領域２０１ｂに格納されている。また、初期状態では、ＭＣＵ１０２はユーザメモリ領域２０１ａにアクセスするように接続されている。また、アドレス比較回路１０１には「０ｘ１０００」番地のアドレスが設定されている。
【００５７】
まず、ＭＣＵ１０２はユーザメモリ領域２０１ａに格納されている通常用プログラムの先頭アドレスから読み出しを開始すると、その読み出された順番に各命令を実行する。ＭＣＵ１０２からの読み出しアドレスは、アドレス比較回路１０１に供給されており、そのアドレス比較回路１０１読み出しアドレスが、事前に設定したアドレス「０ｘ１０００」と一致しているかどうかを調べる。
【００５８】
アドレス比較回路１０１においてアドレスが不一致の場合は、順次、プログラム格納メモリ２０１の通常用プログラムが順次読み出され、ＭＣＵ１０２にて実行される。アドレスが一致した場合（即ち、０ｘ１０００番地）は、アドレス比較回路１０１から、ＡＳ信号２０２が出力され、プログラム格納メモリ２０１に供給される。これにより、それまでＭＣＵ１０２がユーザメモリ領域２０１ａで実行していたものが、システムメモリ領域２０１ｂのデバッグ用プログラムを実行するように制御が切換わる。
【００５９】
すると、ＭＣＵ１０２はシステムメモリ領域２０１ｂに格納されているデバッグ用プログラムの「０ｘ１０００」番地から実行を開始する。このデバッグ用プログラムの動作は図３のステップＳ３０１〜Ｓ３０５までは同じである。
【００６０】
最後のステップＳ３０６で、ＭＣＵ１０２は「０ｘ１０００」番地へジャンプする命令を実行し、ユーザメモリ領域２０１ａへ切換える。即ち、アドレス比較回路１０１に「０ｘ１０００」番地のアドレスが供給されると、比較一致して、再度ＡＳ信号２０２が出力され、プログラム格納メモリ２０１に供給される。
【００６１】
すると、それまでＭＣＵ１０２がシステムメモリ領域２０１ｂで実行していたデバッグ用プログラムから、ユーザメモリ領域２０１ａの通常用プログラムを実行するように制御が移行し、ユーザメモリ領域２０１ａの通常用プログラムが、「０ｘ１０００」番地から処理を続行する。
【００６２】
本実施の形態では、上記のようにアドレス一致を検出した時点で割込信号を利用せず、アドレスの最上位ビットを用いて、通常用プログラムとデバッグ用プログラムの制御を切換えることにより、割込み処理時に発生するプログラムカウンタレジスタやフラグレジスタの保存に費やされる余分な処理時間を削減し、さらに、限りあるユーザメモリが、それらの保存領域のために制限されることを避けることができるデバッグ装置を提供することができる。
【００６３】
【発明の効果】
以上詳述したように、本発明のデバッグ装置によれば、マイコン用プログラムのデバッグを行う際に、通常用プログラムとデバッグ用プログラムの制御の切換えを、割込み信号を用いる代わりに、チップセレクト信号またはアドレスセレクト信号を用いることにより、割込み処理にかかるメモリの切換え時間の削減、および、特定のレジスタを一時的に保存するためのメモリ領域の削減を図ることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るデバッグ装置の構成を示すブロック図。
【図２】本発明の第２の実施の形態に係るデバッグ装置の構成を示すブロック図。
【図３】本発明の第１および第２の実施の形態に係るデバッグ用プログラムの動作を示すフローチャート。
【図４】従来のデバッグ容易化装置の実施例を示すブロック図。
【符号の説明】
１０１  アドレス比較回路
１０２  マイクロコントロールユニット（ＭＣＵ）
１０３  ユーザメモリ
１０４  システムメモリ
１０５  チップセレクト信号（ＣＳ）
１０６  アドレスバス（ＡＢＵＳ）
１０７  データバス（ＤＢＵＳ）
１０８  Ｒ／Ｗ信号ライン
１０９  インバータ
２０１  プログラム格納メモリ
２０１ａ  ユーザメモリ領域
２０１ｂ  システムメモリ領域
２０２  アドレスセレクト信号（ＡＳ）
４０１  デバッグ用比較回路
４０２  割込回路
４０３  マイクロ命令格納部
４０４  マイクロ命令実行部
４０５  一致信号
４０６  割込信号
４０７  命令セレクタ
４０８  切換信号
４０９  通常動作用マイクロ命令部
４１０  デバッグ用マイクロ命令部
４１１  入力部
４１２  命令実行アドレス
４１３  プログラムカウンタレジスタ
４１４  フラグレジスタ
４１５  レジスタ保存部
４１６  命令実行アドレス値
【図１】
2004185356.tif 000003
【図２】
2004185356.tif 000004
【図３】
2004185356.tif 000005
【図４】
2004185356.tif 000006