(57)【要約】【課題】マイクロコントローラに、特定のタイミングを指定してＲＡＭや周辺モジュールに対するデータの読み書きが可能なデバッグ機能を設ける。【解決手段】データ送受信部６は、デバッグ装置から与えられたアドレスＡＤＲをアドレスレジスタ１１にセットし、セット信号ＳＥＴを出力する。これにより、ＦＦ１４はセットされ、ＦＦ１８がリセットされるので、タイミング制御部１３は起動されない。プログラムカウンタの値ＰＣＶが比較レジスタ１６に設定された値に一致すると、比較器１７から出力される比較結果信号ＥＱＵは“１”となり、ＦＦ１８がセットされる。このとき、バス使用許可信号ＢＥＮが“１”であれば直ちに、“０”であれば“１”になった時点で、タイミング制御部１３が起動され、アドレスレジスタ１１にセットされたアドレスの内容が、ＲＡＭ５または周辺モジュール４から、システムバス５を介して読み出される。【選択図】図１
2008059191.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置、メモリ及び周辺モジュールと、該中央処理装置、メモリ及び周辺モジュールを共通接続するシステムバスと、指定された監視用のアドレスに従って該システムバスを介して該メモリまたは周辺モジュールにアクセスし、該アドレスに対してデータの読み出しまたは書き込みを行うアクセス制御部を備えたマイクロコントローラにおいて、
前記アクセス制御部は、前記中央処理装置または前記周辺モジュールが予め設定された条件を満たしたときに、前記アドレスに対してデータの読み出しまたは書き込みを実行することを特徴とするマイクロコントローラ。
【請求項２】
前記予め設定された条件とは、前記中央処理装置のプログラムカウンタの値が予め設定した値に一致した場合であることを特徴とする請求項１記載のマイクロコントローラ。
【請求項３】
前記予め設定された条件とは、前記中央処理装置または前記周辺モジュールから割り込み要求信号が出力された場合であることを特徴とする請求項１記載のマイクロコントローラ。
【請求項４】
中央処理装置、メモリ及び周辺モジュールと、該中央処理装置、メモリ及び周辺モジュールを共通接続するシステムバスと、該中央処理装置が予め設定された条件を満たしたときに、指定された監視用のアドレスに従って該システムバスを介して該メモリまたは周辺モジュールにアクセスし、該アドレスに対してデータの読み出しまたは書き込みを実行するアクセス制御部を備えたマイクロコントローラのデバッグ方法であって、
前記データの読み出しまたは書き込みの実行タイミングとなるプログラムのアドレスを設定する設定処理と、
前記監視用のアドレスを指定する指定処理と、
前記中央処理装置のプログラムカウンタの値を監視して前記プログラムのアドレスに一致したことを検出する検出処理と、
前記検出処理で一致が検出されたときに、前記監視用のアドレスに従って前記システムバスを介して前記メモリまたは周辺モジュールにアクセスするアクセス処理とを、
順次行うことを特徴とするマイクロコントローラのデバッグ方法。
【請求項５】
中央処理装置、メモリ及び周辺モジュールと、該中央処理装置、メモリ及び周辺モジュールを共通接続するシステムバスと、該中央処理装置または周辺モジュールが予め設定された条件を満たしたときに、指定された監視用のアドレスに従って該システムバスを介して該メモリまたは周辺モジュールにアクセスし、該アドレスに対してデータの読み出しまたは書き込みを実行するアクセス制御部を備えたマイクロコントローラのデバッグ方法であって、
前記監視用のアドレスを指定する指定処理と、
前記中央処理装置または周辺モジュールからの割り込み要求を検出する検出処理と、
前記検出処理で割り込み要求が検出されたときに、前記監視用のアドレスに従って前記システムバスを介して前記メモリまたは周辺モジュールにアクセスするアクセス処理とを、
順次行うことを特徴とするマイクロコントローラのデバッグ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オンチップデバッグ機能を有するマイクロコントローラと、そのデバッグ機能を用いたマイクロコントローラのデバッグ方法に関するものである。
【背景技術】
【０００２】
図２は、下記特許文献１に記載された従来のマイクロコントローラの構成図である。
このマイクロコントローラは、基板に実装した状態でデバッグが出来る機能として、アプリケーションプログラムに従って動作している通常動作中に、ＲＡＭ（Random  Access  Memory）等の内容を読み出すためのＲＡＭモニタ機能を搭載したもので、ＣＰＵ（Central  Processing  Unit：中央処理装置）１、ＲＯＭ（Read  Only  Memory）２、ＲＡＭ３及び各種の周辺モジュール４と、これらを共通接続するシステムバス５（アドレスバス５Ａ及びデータバス５Ｄ）を有している。ＣＰＵ１は、ＲＯＭ２に格納されたプログラムに従って、演算及び全体の動作制御を行うものである。ＲＯＭ２は、前記プログラムの他、各種の固定データを格納した不揮発性の読み出し専用メモリである。ＲＡＭ３は、演算及び制御に必要なデータを一時的に格納する揮発性のメモリである。周辺モジュール４は、ＣＰＵ１からの指示に従って特定の処理を行うハードウエアである。
【０００３】
更に、このマイクロコントローラには、ＲＡＭモニタ機能のためのデータ送受信部６とアクセス制御部１０が搭載されている。データ送受信部６は、外部端子７に接続される図示しないデバッグ装置等との間で、クロック信号ＣＬＫやアドレスＡＤＲ及びデータＤＡＴの送受信を行うものである。アクセス制御部１０は、データ送受信部６から与えられるアドレスＡＤＲに従って、ＲＡＭ３内のデータや周辺モジュール４のレジスタの内容を読み出すものである。
【０００４】
アクセス制御部１０は、データ送受信部６から読み出し対象のアドレスＡＤＲがセットされるアドレスレジスタ１１と、読み出したデータＤＡＴを一時的に保持するデータレジスタ１２と、起動信号ＳＴＡに従ってシステムバス５を介してＲＡＭ３や周辺モジュール４にアクセスして所望のデータＤＡＴを読み出すタイミング制御部１３を有している。
【０００５】
また、アクセス制御部１０は、データ送信部６がアドレスレジスタ１１に読み出し対象のアドレスＡＤＲをセットしたときに与えられるセット信号ＳＥＴでセットされ、タイミング制御部１３がＲＡＭ３等から読み出したデータＤＡＴをデータレジスタ１２に格納したときに与えられるリセット信号ＲＳＴでリセットされるセット・リセット型のＦＦ（Flip  Flop）１４を有している。ＦＦ１４から出力されるフラグＦＬＧは、ＣＰＵ１から出力されるバス使用許可信号ＢＥＮと共にＡＮＤ（論理積ゲート）１５に与えられ、このＡＮＤ１５から出力される起動信号ＳＴＡが、タイミング制御部１３に与えられるようになっている。
【０００６】
次に、このマイクロコントローラにおけるＲＡＭモニタ動作を説明する。
外部端子７に接続されたデバッグ装置から読み出し対象のアドレスＡＤＲが与えられると、データ送受信部６は、そのアドレスＡＤＲをアドレスレジスタ１１にセットすると共に、セット信号ＳＥＴを出力する。これにより、ＦＦ１４がセットされ、フラグＦＬＧは“１”となる。
【０００７】
このとき、ＣＰＵ１等がシステムバス５を使用しておらず、他の制御部によるシステムバス５の使用を許可してれば、バス使用許可信号ＢＥＮは“１”となっている。これにより、ＡＮＤ１５から出力される起動信号ＳＴＡは“１”となり、タイミング制御部１３が起動され、アドレスレジスタ１１にセットされたアドレスＡＤＲに記憶されたデータＤＡＴが、システムバス５を介して読み出される。タイミング制御部１３で読み出されたデータＤＡＴは、データレジスタ１２に格納された後、データ送受信部６からデバッグ装置に出力される。また、タイミング制御部１３からリセット信号ＲＳＴが出力され、ＦＦ１４はリセットされてフラグＦＬＧ及び起動信号ＳＴＡは“０”となり、ＲＡＭモニタ動作は終了する。
【０００８】
一方、セット信号ＳＥＴによってＦＦ１４がセットされてフラグＦＬＧが“１”となったときに、ＣＰＵ１等がシステムバス５を使用していると、バス使用許可信号ＢＥＮは“０”である。このため、起動信号ＳＴＡは“０”となり、タイミング制御部１３の起動は保留される。そして、ＣＰＵ１等によるシステムバス５の使用が終了し、バス使用許可信号ＢＥＮが“１”となった時点で、タイミング制御部１３が起動される。
【０００９】
【特許文献１】特開２００４−１３２８９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、前記マイクロコントローラでは、外部端子７に接続されたデバッグ装置から読み出し対象のアドレスＡＤＲが与えられると、そのアドレスＡＤＲがアドレスレジスタ１１にセットされた後、バス使用許可信号ＢＥＮが“１”であれば直ちに、“０”であれば“１”になり次第、タイミング制御部１３によって、ＲＡＭ３や周辺モジュール４からのデータ読み出しが開始される。このため、外部からデータＤＡＴの読み出しタイミングを指定することが出来ず、デバッグの柔軟性が欠けると共に、効率が悪いという問題点があった。
【００１１】
本発明は、特定のタイミングを指定してＲＡＭや周辺モジュールのデータを読み出したり書き込んだりすることが出来るデバッグ機能を備えたマイクロコントローラとそのデバッグ方法を提供することを目的としている。
【課題を解決するための手段】
【００１２】
本発明は、ＣＰＵ、メモリ及び周辺モジュールと、該ＣＰＵ、メモリ及び周辺モジュールを共通接続するシステムバスと、指定された監視用のアドレスに従って該システムバスを介して該メモリまたは周辺モジュールにアクセスし、該アドレスに対してデータの読み出しまたは書き込みを行うアクセス制御部を備えたマイクロコントローラにおいて、前記アクセス制御部は、前記ＣＰＵまたは前記周辺モジュールが予め設定された条件を満たしたときに、前記アドレスに対してデータの読み出しまたは書き込みを実行することを特徴としている。
【発明の効果】
【００１３】
本発明では、ＣＰＵまたは周辺モジュールが予め設定された条件を満たしたとき、例えば、プログラムカウンタが予め設定した値になったときや、割り込み要求信号が出力されたときに、指定された監視用のアドレスに従ってシステムバスを介してメモリまたは周辺モジュールにアクセスするアクセス制御部を有している。これにより、予め設定された条件が満たされたタイミングで、監視用のアドレスのデータを読み出したり、このアドレスにデータを書き込んだりすることが出来るという効果がある。
【発明を実施するための最良の形態】
【００１４】
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
【実施例１】
【００１５】
図１は、本発明の実施例１を示すマイクロコントローラの構成図であり、図２中の要素と共通の要素には共通の符号が付されている。
【００１６】
このマイクロコントローラは、図２と同様に、基板に実装した状態でデバッグが出来る機能として、アプリケーションプログラムに従って動作している通常動作中にＲＡＭ等の内容を読み出すためのＲＡＭモニタ機能を搭載したもので、ＣＰＵ１、ＲＯＭ２、ＲＡＭ３及び各種の周辺モジュール４と、これらを接続するシステムバス５（アドレスバス５Ａ及びデータバス５Ｄ）を有している。ＣＰＵ１は、ＲＯＭ２に格納されたプログラムに従って、演算及び全体の動作制御を行うものである。ＲＯＭ２は、前記プログラムの他、各種の固定データを格納した不揮発性の読み出し専用メモリである。ＲＡＭ３は、演算及び制御に必要なデータを一時的に格納する揮発性のメモリである。周辺モジュール４は、ＣＰＵ１からの指示に従って特定の処理を行うハードウエアである。
【００１７】
更に、このマイクロコントローラには、ＲＡＭモニタ機能のためのデータ送受信部６とアクセス制御部１０Ａが搭載されている。データ送受信部６は、外部端子７に接続される図示しないデバッグ装置等との間で、クロック信号ＣＬＫやアドレスＡＤＲ及びデータＤＡＴの送受信を行うものである。
【００１８】
アクセス制御部１０Ａは、データ送受信部６から与えられるアドレスＡＤＲと、ＣＰＵ１から与えられるプログラムカウンタのカウント値ＰＣＶに従って、ＲＡＭ３内のデータや周辺モジュール４のレジスタの内容を読み出すものである。
【００１９】
アクセス制御部１０Ａは、データ送受信部６から読み出し対象のアドレスＡＤＲがセットされるアドレスレジスタ１１と、読み出したデータＤＡＴを一時的に保持するデータレジスタ１２と、起動信号ＳＴＡに従ってシステムバス５を介してＲＡＭ３や周辺モジュール４にアクセスして所望のデータＤＡＴを読み出すタイミング制御部１３を有している。
【００２０】
また、アクセス制御部１０Ａは、データ送信部６がアドレスレジスタ１１に読み出し対象のアドレスＡＤＲをセットしたときに与えられるセット信号ＳＥＴでセットされ、タイミング制御部１３がＲＡＭ３等から読み出したデータＤＡＴをデータレジスタ１２に格納したときに与えられるリセット信号ＲＳＴでリセットされるセット・リセット型のＦＦ１４を有している。ＦＦ１４から出力されるフラグＦＬＧは、ＣＰＵ１から出力されるバス使用許可信号ＢＥＮと共に３入力のＡＮＤ１５Ａに与えられ、このＡＮＤ１５Ａから出力される起動信号ＳＴＡが、タイミング制御部１３に与えられるようになっている。
【００２１】
更に、アクセス制御部１０Ａは、ＣＰＵ１が特定のアドレスの命令を実行したときにタイミング制御部１３を起動するために、その特定のアドレスを指定するための比較レジスタ１６を有している。比較レジスタ１６にセットされた値は比較器（ＣＭＰ）１７へ与えられ、ＣＰＵ１から出力されるプログラムカウンタのカウント値ＰＣＶと比較されるようになっている。比較器（ＣＭＰ）１７から出力される比較結果信号ＥＱＵは、セット・リセット型のＦＦ１８のセット端子Ｓに与えられ、このＦＦ１８のリセット端子Ｒにはデータ送受信部６からのセット信号ＳＥＴが与えられている。そして、ＦＦ１８から出力されるタイミング信号ＴＩＭが、ＡＮＤ１５Ａに第３の入力信号として与えられるようになっている。
【００２２】
次に、このマイクロコントローラにおけるＲＡＭモニタ動作を説明する。
先ず準備作業において、比較レジスタ１６に、デバッグ用のデータ読み出しタイミングとして、ＣＰＵ１が実行する特定のアドレスを設定する。この比較レジスタ１６の設定は、デバッグ装置から行うように構成しても良いし、スイッチ等を用いて手作業で設定しても良い。
【００２３】
外部端子７に接続されたデバッグ装置から読み出し対象のアドレスＡＤＲが与えられると、データ送受信部６は、そのアドレスＡＤＲをアドレスレジスタ１１にセットすると共に、セット信号ＳＥＴを出力する。これにより、ＦＦ１４がセットされ、フラグＦＬＧは“１”となる。一方、ＦＦ１８はリセットされ、タイミング信号ＴＩＭは“０”となる。従って、バス使用許可信号ＢＥＮの如何に拘らず、ＡＮＤ１５Ａから出力される起動信号ＳＴＡは“０”となり、タイミング制御部１３は起動されない。
【００２４】
ＣＰＵ１の処理に従い、このＣＰＵ１のプログラムカウンタのカウント値ＰＣＶが、比較レジスタ１６に設定された値に一致すると、比較器１７から出力される比較結果信号ＥＱＵが“１”となる。これにより、ＦＦ１８がセットされ、タイミング信号ＴＩＭが“１”となる。
【００２５】
このとき、ＣＰＵ１等がシステムバス５を使用しておらず、他の制御部によるシステムバス５の使用を許可してれば、バス使用許可信号ＢＥＮは“１”となっている。これにより、ＡＮＤ１５Ａから出力される起動信号ＳＴＡは“１”となり、タイミング制御部１３が起動され、ＲＡＭ３または周辺モジュール４から、アドレスレジスタ１１にセットされたアドレスＡＤＲに記憶されたデータＤＡＴが、システムバス５を介して読み出される。タイミング制御部１３によって読み出されたデータＤＡＴは、データレジスタ１２に格納された後、データ送受信部６からデバッグ装置に出力される。また、タイミング制御部１３からリセット信号ＲＳＴが出力され、ＦＦ１４はリセットされてフラグＦＬＧ及び起動信号ＳＴＡは“０”となり、ＲＡＭモニタ動作は終了する。
【００２６】
一方、比較結果信号ＥＱＵによってＦＦ１８がセットされてタイミング信号ＴＩＭが“１”となったときに、ＣＰＵ１等がシステムバス５を使用していると、バス使用許可信号ＢＥＮは“０”である。このため、起動信号ＳＴＡは“０”となり、タイミング制御部１３の起動は保留される。そして、ＣＰＵ１等によるシステムバス５の使用が終了し、バス使用許可信号ＢＥＮが“１”となった時点で、タイミング制御部１３が起動される。
【００２７】
以上のように、この実施例１のマイクロコントローラは、アドレスレジスタ１１に読み出し対象のアドレスＡＤＲがセットされた後、ＣＰＵ１のプログラムカウンタのカウント値ＰＣＶが予め設定された値になったときに、ＲＡＭ４や周辺モジュール５からデータＤＡＴの読み出しを開始するアクセス制御部１０Ａを有している。これにより、特定のタイミングを指定してＲＡＭや周辺モジュールのデータを読み出すことができるという利点がある。
【実施例２】
【００２８】
図３は、本発明の実施例２を示すマイクロコントローラの構成図であり、図１中の要素と共通の要素には共通の符号が付されている。
【００２９】
このマイクロコントローラは、図１中のアクセス制御部１０Ａに代えて、構成の異なるアクセス制御部１０Ｂが設けられている。即ち、このアクセス制御部１０Ｂは、アクセス制御部１０Ａにおける比較レジスタ１６と比較器１７を削除し、ＯＲ（論理和ゲート）１９を設けている。ＯＲ１９には、ＣＰＵ１と周辺モジュール４からの割り込み要求信号ＩＲＱが与えられ、このＯＲ１９で論理和が取られて割り込み信号ＩＮＴとしてＦＦ１８のセット端子Ｓに与えられるようになっている。その他の構成は、図１と同様である。
【００３０】
このマイクロコントローラでは、外部端子７に接続されたデバッグ装置から読み出し対象のアドレスＡＤＲが与えられると、データ送受信部６は、そのアドレスＡＤＲをアドレスレジスタ１１にセットすると共に、セット信号ＳＥＴを出力する。これにより、ＦＦ１４がセットされ、フラグＦＬＧは“１”となる。一方、ＦＦ１８はリセットされ、タイミング信号ＴＩＭは“０”となる。従って、バス使用許可信号ＢＥＮの如何に拘らず、ＡＮＤ１５Ａから出力される起動信号ＳＴＡは“０”となり、タイミング制御部１３は起動されない。
【００３１】
ＣＰＵ１及び周辺モジュール４の動作により、これらのＣＰＵ１または周辺モジュール４から割り込み要求信号ＩＲＱが出力されると、ＯＲ１９から出力される割り込み信号ＩＮＴが“１”となる。これにより、ＦＦ１８がセットされ、タイミング信号ＴＩＭが“１”となる。
【００３２】
このとき、バス使用許可信号ＢＥＮが“１”であれば、直ちにタイミング制御部１３が起動され、“０”であればこのバス使用許可信号ＢＥＮが“１”に変化した時点でタイミング制御部１３が起動される。そして、ＲＡＭ３または周辺モジュール４から、アドレスレジスタ１１にセットされたアドレスＡＤＲに記憶されたデータＤＡＴが、システムバス５を介して読み出されることは、実施例１と同様である。
【００３３】
以上のように、この実施例２のマイクロコントローラは、アドレスレジスタ１１に読み出し対象のアドレスＡＤＲがセットされた後、ＣＰＵ１や周辺ブロック４から割り込み要求信号ＩＲＱが出力されたときに、ＲＡＭ４や周辺モジュール５からデータＤＡＴの読み出しを開始するアクセス制御部１０Ａを有している。これにより、実施例１と同様の利点がある。
【００３４】
なお、本発明は、上記実施例に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
（ａ）  アクセス制御部１０Ａ，１０Ｂのタイミング制御部１３では、アドレスレジスタ１１にセットされたアドレスＡＤＲに従ってＲＡＭ３等のデータＤＡＴを読み出してデータレジスタ１２に格納しているが、アドレスレジスタ１１にセットされたアドレスＡＤＲに従ってデータレジスタ１２にセットされたデータＤＡＴをＲＡＭ３等に書き込む機能を追加することが出来る。
（ｂ）  プログラムカウンタのカウント値ＰＣＶに代えて、ＣＰＵ１からアドレスバス５Ａに出力されるアドレスの値を比較レジスタ１５の値と比較するように構成しても良い。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施例１を示すマイクロコントローラの構成図である。
【図２】従来のマイクロコントローラの構成図である。
【図３】本発明の実施例２を示すマイクロコントローラの構成図である。
【符号の説明】
【００３６】
１    ＣＰＵ
２    ＲＯＭ
３    ＲＡＭ
４    周辺モジュール
５    システムバス
６    データ送受信部
７    外部端子
１０Ａ，１０Ｂ    アクセス制御部
１１    アドレスレジスタ
１２    データレジスタ
１３    タイミング制御部
１４，１８    ＦＦ
１５Ａ    ＡＮＤ
１６    比較レジスタ
１７    比較器
１９    ＯＲ
【図１】
2008059191.tif 000003
【図２】
2008059191.tif 000004
【図３】
2008059191.tif 000005