(57)【要約】　　　（修正有）【課題】デバッグの柔軟性及び精度を向上させたマイクロコントローラのオンチップデバッグ方法を提供する。【解決手段】マイクロコントローラ１００は、外部とのデータの送受信を行う外部インターフェース端子群１０２と、データ送受信部１０４と、ＤＭＡによりアクセスする対象ハードウェアのアドレスを記憶するアドレスレジスタ１１２と、ＤＭＡにより読み込み或いは書き込みを行うためのレジスタ（１１３，１１４）と、ＤＭＡの開始を制御する制御フラグ１１１と、ＤＭＡのタイミング制御部１１６とを備えたＤＭＡコントローラ１１０とを備え、かつ、ＤＭＡコントローラ内部の制御フラグがＤＭＡによるアクセス開始を示している時に、ＤＭＡコントローラ内部のＤＭＡのタイミング制御部による制御の下に、内蔵されたＲＡＭ或いはレジスタに対してアクセスし、マイクロコントローラの外部にデータを読み出し或いは外部からデータを書き込むようにしている。【選択図】　　　図１
2004013289.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムの動作中に、内蔵されたＲＡＭ又はレジスタの内容を読み出す機能或いは書き込む機能を備えたマイクロコントローラのオンチップデバッグ方法であって、
前記マイクロコントローラは、
外部とのデータの送受信を行う外部インターフェース端子群と、
前記外部インターフェース端子群とＤＭＡコントローラとの間のデータの送受信を行うデータ送受信部と、
ＤＭＡによりアクセスする対象ハードウェアのアドレスを記憶するアドレスレジスタと、ＤＭＡにより読み込み或いは書き込みを行うためのレジスタと、ＤＭＡの開始を制御する制御フラグと、ＤＭＡのタイミング制御部とを備えたＤＭＡコントローラと、
を備え、更に、前記マイクロコントローラの外部に、
ＤＭＡによるアクセスの可否を決定するフラグ情報を格納するレジスタと、前記マイクロコントローラのバス状態がＤＭＡによりアクセス可能な状態であるか否かを示すバス状態認識信号の出力装置を備え、
前記、フラグ情報がＤＭＡによるアクセス可能を示し、かつ、前記バス状態認識信号がＤＭＡによるバス占有が可能であることを示し、かつ、前記ＤＭＡコントローラ内部の前記制御フラグがＤＭＡによるアクセス開始を示している時に、前記ＤＭＡコントローラ内部の前記ＤＭＡのタイミング制御部による制御の下に、前記内蔵されたＲＡＭ或いはレジスタに対してアクセスし、前記マイクロコントローラの外部にデータを読み出し或いは外部からデータを書き込むことを特徴とする、マイクロコントローラのオンチップデバッグ方法。
【請求項２】
アプリケーションプログラムの動作中に、内蔵されたＲＡＭ又はレジスタの内容を読み出す機能或いは書き込む機能を備えたマイクロコントローラのオンチップデバッグ方法であって、
前記マイクロコントローラは、
外部とのデータの送受信を行う外部インターフェース端子群と、
前記外部インターフェース端子群とＤＭＡコントローラとの間のデータの送受信を行うデータ送受信部と、
ＤＭＡによりアクセスする対象ハードウェアのアドレスを記憶するアドレスレジスタと、該アドレスレジスタの内容をデコードするデコーダと、ＤＭＡにより読み込み或いは書き込みを行うためのレジスタと、ＤＭＡの開始を制御する制御フラグと、ＤＭＡのタイミング制御部とを備えたＤＭＡコントローラと、
を備え、更に、前記マイクロコントローラの外部に、
ＤＭＡによるアクセスを行う各ハードウェアと１対１に対応したＤＭＡ制御フラグ群を格納したレジスタと、前記マイクロコンーラのバス状態がＤＭＡによりアクセス可能な状態であるか否かを示すバス状態認識信号の出力装置を備え、
前記、デコーダにより出力された信号により前記ＤＭＡ制御フラグ群の内の選択されたフラグが当該ＤＭＡ動作が有効であることを示しており、かつ、前記バス状態認識信号がＤＭＡによるバス占有が可能であることを示し、かつ、前記ＤＭＡコントローラ内部の前記制御フラグがＤＭＡによるアクセス開始を示している時に、前記ＤＭＡコントローラ内部の前記ＤＭＡのタイミング制御部による制御の下に、前記内蔵されたＲＡＭ或いはレジスタに対してアクセスし、前記マイクロコントローラの外部にデータを読み出し或いは外部からデータを書き込むことを特徴とする、マイクロコントローラのオンチップデバッグ方法。
【請求項３】
アプリケーションプログラムの動作中に、内蔵されたＲＡＭ又はレジスタの内容を読み出す機能或いは書き込む機能を備えたマイクロコントローラのオンチップデバッグ方法であって、
前記マイクロコントローラは、
外部とのデータの送受信を行う外部インターフェース端子群と、
前記外部インターフェース端子群とＤＭＡコントローラとの間のデータの送受信を行うデータ送受信部と、
ＤＭＡによりアクセスする対象ハードウェアのアドレスを記憶するアドレスレジスタと、後記ＤＭＡ制御フラグ群の内のどのフラグ情報を参照するかを示すデータを入力するレジスタと、該レジスタの内容をデコードするデコーダと、ＤＭＡにより読み込み或いは書き込みを行うためのレジスタと、ＤＭＡの開始を制御する制御フラグと、ＤＭＡのタイミング制御部とを備えたＤＭＡコントローラと、
を備え、更に、前記マイクロコントローラの外部に、
ＤＭＡによるアクセスを行う各ハードウェアのＤＭＡによるアクセス可否を示すＤＭＡ制御フラグ群を格納したレジスタと、前記マイクロコンーラのバス状態がＤＭＡによるバス占有が可能な状態であるか否かを示すバス状態認識信号の出力装置を備え、
前記、デコーダにより出力された信号により前記ＤＭＡ制御フラグ群の内の選択されたフラグが当該選択されたＤＭＡ動作が有効であることを示しており、かつ、前記バス状態認識信号がＤＭＡによりアクセス可能であることを示し、かつ、前記ＤＭＡコントローラ内部の前記制御フラグがＤＭＡによるアクセス開始を示している時に、前記ＤＭＡコントローラ内部の前記ＤＭＡのタイミング制御部による制御の下に、前記内蔵されたＲＡＭ或いはレジスタに対してアクセスし、前記マイクロコントローラの外部にデータを読み出し或いは外部からデータを書き込むことを特徴とする、マイクロコントローラのオンチップデバッグ方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロコントローラ（以下、ＭＣＵと称する）を実装状態でデバッグ・チューニングできるオンチップデバッグ方法（以下、ＲＡＭモニタと称する）に関する
【０００２】
【従来の技術】
ＭＣＵを実装状態においてその内部プログラムをデバッグ・チューニングする機能として、最近の１チップＭＣＵにはＲＡＭモニタ機能が搭載されていることが多い。図４は、従来のＲＡＭモニタ内蔵ＭＣＵ１００の構成例を示した図である。
【０００３】
ＲＡＭモニタ機能は、外部インターフェース端子群１０２を介して外部クロック及び外部データの入出力を行うことにより実現することができる。
【０００４】
従来のＲＡＭモニタ内蔵ＭＣＵ１００は、外部インターフェース端子群１０２，データ送受信部１０４、ダイレクトメモリアクセス制御回路（以下、ＤＭＡコントローラと称する）１１０、データバス（ＤＢＵＳ）１０６及びアドレスバス（ＡＢＵＳ）１０８から成る内部バスを介して接続されたＣＰＵ１２０，ＲＯＭ１３０，ＲＡＭ１４０，周辺モジュール１（１５０）、周辺モジュール２（１６０）とから構成される。
【０００５】
ＤＭＡコントローラ１１０は、ＧＯフラグセットＦ／Ｆ１１１，アンドゲート１１５，アドレスレジスタ（ＡＲｅｇ）１１２，書き込みデータレジスタ（ＷＲｅｇ）１１３，読み出しデータレジスタ（ＲＲｅｇ）１１４、タイミング制御部１１６から構成される。
【０００６】
ＧＯフラグセットＦ／Ｆ１１１は、データ送受信部１０４からのアドレス／データ受信完了時にセットされ、ＤＭＡ転送動作終了時にリセットされる。このＦ／Ｆからの出力信号は、バス状態認識信号１０１と共にアンドゲート１１５に入力され、ＤＭＡスタート信号１２４を生成する。尚、バス状態認識信号１０１は、ＣＰＵがバスを占有しており、ＤＭＡによるバスの使用禁止状態の時、非有意値（例えば、”０”）をとり、ＣＰＵがバスを解放しており、ＤＭＡによるバスの使用許可状態の時、有意値（例えば、”１”）をとる信号である。
【０００７】
また、タイミング制御部１１６では、ＧＯフラグセットＦ／ＦによりＧＯフラグがセットされ、かつ、バス状態認識信号が有意値をとった時点で、決められたタイミングで、レジスタ類やＲＡＭ等への書き込み／読み出しをＤＭＡ動作により行うものであり、スタート条件がそろうまで動作保留となる。
【０００８】
ＲＡＭモニタ機能とは、ＭＣＵが通常動作中に、つまりＲＯＭ１３０に書き込まれたアプリケーションプログラム（以下、ＡＰと称する）により動作している最中に、ＭＣＵ内部のＲＡＭ１４０又は周辺モジュール１、２のレジスタの内容を読み出す機能、或いは書き換える機能のことである。
【０００９】
読み出しの場合、図４において、外部インターフェース端子群１０２の外部クロックに同期して外部データ入出力端子からＭＣＵ内のＲＡＭ１４０、周辺モジュール１（１５０）、周辺モジュール２（１６０）のデバッグ対象のＲＡＭ又はレジスタのアドレスを入力することにより、データ送受信部１０４を介してＤＭＡコントローラ１１０に必要なデータを設定する。ＤＭＡコントローラ１１０は、設定されたアドレスの対象ＲＡＭ又はレジスタを内部バスを介して読み出し、読み出したデータをデータ送受信部１０４、及び外部インターフェース端子群１０２を介して外部に出力する。
【００１０】
書き込みの場合は、外部インターフェース端子群１０２の外部クロックに同期して外部データ入出力端子よりＭＣＵ内のＲＡＭ１４０、周辺機能１（１５０）、周辺機能２（１６０）のデバッグ対象のＲＡＭ又はレジスタのアドレス及び書き込むデータを入力することにより、データ送受信部１０４を介してＤＭＡコントローラ１１０に必要なデータを設定する。ＤＭＡコントローラ１１０は、設定されたアドレスの対象ＲＡＭ又はレジスタのデータを内部バスを介して、書き換え、データ送受信部１０４、外部インターフェース端子群１０２を介して、書き込みが実行されたことを示す信号を外部に出力する。
【００１１】
【発明が解決しようとする課題】
しかしながら、従来の方法では、ＲＡＭモニタによりＭＣＵ内部のＲＡＭ、レジスタの内容を読み出し、或いは書き込みを行うポイント（ＣＰＵ１２０内部のプログラムカウンタ（ＰＣ１２１）の状態）は、外部インターフェース端子群１０２からのデータ設定後、ＤＭＡコントローラ１１０の設定が完了した時点となるため、ＲＡＭ、レジスタの内容を読み出したり書き込んだりするポイントを外部から設定することが出来ず、デバッグの柔軟性に欠けるという問題点、或いはデバッグ精度が低いという問題点があった。
【００１２】
本発明は、前記従来の問題点を解決し、デバッグの柔軟性及び精度を向上させたマイクロコントローラのオンチップデバッグ方法を提供することを目的とする。
【００１３】
【課題を解決する為の手段】
そのため、第１の発明のマイクロコントローラのオンチップデバッグ方法においては、マイクロコントローラは、外部とのデータの送受信を行う外部インターフェース端子群と、この外部インターフェース端子群とＤＭＡコントローラとの間のデータの送受信を行うデータ送受信部と、ＤＭＡによりアクセスする対象ハードウェアのアドレスを記憶するアドレスレジスタと、ＤＭＡにより読み込み或いは書き込みを行うためのレジスタと、ＤＭＡの開始を制御する制御フラグと、ＤＭＡのタイミング制御部とを備えたＤＭＡコントローラと、を備え、更に、マイクロコントローラの外部に、ＤＭＡによるアクセスの可否を決定するフラグ情報を格納するレジスタと、マイクロコントローラのバス状態がＤＭＡによりアクセス可能な状態であるか否かを示すバス状態認識信号の出力装置を備え、フラグ情報が当該対象ハードウェアのＤＭＡによるアクセスが可能であることを示し、かつ、バス状態認識信号がＤＭＡによるバス占有が可能であることを示し、かつ、ＤＭＡコントローラ内部の制御フラグがＤＭＡによるアクセス開始を示している時に、ＤＭＡコントローラ内部のＤＭＡのタイミング制御部による制御の下に、内蔵されたＲＡＭ或いはレジスタに対してＤＭＡによりアクセスし、マイクロコントローラの外部にデータを読み出し或いは外部からデータを書き込むようにしている。
【００１４】
また、第２発明のマイクロコントローラのオンチップデバッグ方法においては、マイクロコントローラは、外部とのデータの送受信を行う外部インターフェース端子群と、この外部インターフェース端子群とＤＭＡコントローラとの間のデータの送受信を行うデータ送受信部と、ＤＭＡによりアクセスする対象ハードウェアのアドレスを記憶するアドレスレジスタと、該アドレスレジスタの内容をデコードするデコーダと、ＤＭＡにより読み込み或いは書き込みを行うためのレジスタと、ＤＭＡの開始を制御する制御フラグと、ＤＭＡのタイミング制御部とを備えたＤＭＡコントローラと、を備え、更に、マイクロコントローラの外部に、ＤＭＡによるアクセスを行う各ハードウェアと１対１に対応したＤＭＡ制御フラグ群を格納したレジスタと、マイクロコントローラのバス状態がＤＭＡによりアクセス可能な状態であるか否かを示すバス状態認識信号の出力装置を備え、デコーダにより出力された信号によりＤＭＡ制御フラグ群の内の選択されたフラグが当該ＤＭＡ動作が有効であることを示しており、かつ、バス状態認識信号がＤＭＡによるバス占有が可能であることを示し、かつ、ＤＭＡコントローラ内部の制御フラグがＤＭＡによるアクセス開始を示している時に、ＤＭＡコントローラ内部のＤＭＡのタイミング制御部による制御の下に、内蔵されたＲＡＭ或いはレジスタに対してアクセスし、マイクロコントローラの外部にデータを読み出し或いは外部からデータを書き込むようにしている。
【００１５】
更に、第３発明のマイクロコントローラのオンチップデバッグ方法においては、マイクロコントローラは、外部とのデータの送受信を行う外部インターフェース端子群と、この外部インターフェース端子群とＤＭＡコントローラとの間のデータの送受信を行うデータ送受信部と、ＤＭＡによりアクセスする対象ハードウェアのアドレスを記憶するアドレスレジスタと、ＤＭＡ制御フラグ群の内のどのフラグ情報を参照するかを示すデータを入力するレジスタと、該レジスタの内容をデコードするデコーダと、ＤＭＡにより読み込み或いは書き込みを行うためのレジスタと、ＤＭＡの開始を制御する制御フラグと、ＤＭＡのタイミング制御部とを備えたＤＭＡコントローラと、を備え、更に、前記マイクロコントローラの外部に、ＤＭＡによるアクセスを行う各ハードウェアのＤＭＡによるアクセス可否を示すＤＭＡ制御フラグ群を格納したレジスタと、マイクロコントローラのバス状態がＤＭＡによるバス占有が可能な状態であるか否かを示すバス状態認識信号の出力装置を備え、デコーダにより出力された信号によりＤＭＡ制御フラグ群の内の選択されたフラグが当該選択されたＤＭＡ動作が有効であることを示しており、かつ、バス状態認識信号がＤＭＡによりアクセス可能であることを示し、かつ、前記ＤＭＡコントローラ内部の前記制御フラグがＤＭＡによるアクセス開始を示している時に、ＤＭＡコントローラ内部のＤＭＡのタイミング制御部による制御の下に、内蔵されたＲＡＭ或いはレジスタに対してアクセスし、マイクロコントローラの外部にデータを読み出し或いは外部からデータを書き込むようにしている。
【００１６】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態について詳細に説明する。
【００１７】
［第１の実施の形態］
［構成］
図１は、本発明による方法を適用するＲＡＭモニタ内蔵ＭＣＵ１００の第１の実施の形態における構成を示すブロック図である。図中、図４と同一の番号を付与した構成要素は、従来の構成要素と同様な機能を有する構成要素であるため、詳細な説明は省略する。第１の実施の形態においては、ＤＭＡ制御フラグ１７０が設けられており、このフラグは、通常フリップフロップ（Ｆ／Ｆ）等により実現される。このＦ／Ｆへの入力はＡＰによる書き込み信号１７１であり、このＤＭＡ制御フラグはＡＰにより任意にセット／リセットできる。また、その出力はアンドゲート１１５の三つの入力の一つとして入力される。アンドゲート１１５の残りの二つの入力は、図４の従来の装置における入力信号と同様である。
【００１８】
［動作］
（１）読み出し動作の場合
図１の外部インターフェース端子群１０２の外部クロックに同期して外部データ入力端子からＭＣＵ内部のＲＡＭ１４０、周辺モジュール１（１５０）、周辺モジュール２（１６０）のデバッグ対象のＲＡＭ又はレジスタのアドレスを入力し、データ送受信部１０４を介してＤＭＡコントローラ１１０の動作に必要なデータを、ＡＲｅｇ１１２に設定する。この設定処理が終了するとＧＯフラグセットＦ／Ｆがセットされる。この時、前述のバス状態認識信号が有意値（例えば、値”１”）で、かつ、ＡＰにより設定されたＤＭＡ制御フラグ１７０の出力が有意値（例えば、値”１”）であれば、ＤＭＡコントローラ１１０は、設定されたアドレスに対応する読み出し対象のＲＡＭ又はレジスタの内容をＤＢＵＳ１０６を介して読み出し、読み出したデータをデータ送受信部１０４、外部インターフェース端子群１０２を介して外部に出力する。
【００１９】
（２）書き込み動作の場合
図１の外部インターフェース端子群１０２の外部クロックに同期して外部データ入力端子からＭＣＵ内部のＲＡＭ１４０、周辺モジュール１（１５０）、周辺モジュール２（１６０）のデバッグ対象のＲＡＭ又はレジスタのアドレス及び書き込みデータを入力し、データ送受信部１０４を介してＤＭＡコントローラ１１０の動作に必要なデータを、ＡＲｅｇ１１２，Ｗｒｅｇ１１３に設定する。この設定処理が終了するとＧＯフラグがフリップフロップ１１１セットされる。この時、前述のバス状態認識信号が有意値で、かつ、ＡＰにより設定されたＤＭＡ制御フラグ１７０の出力が有意値であれば、ＤＭＡコントローラ１１０は、設定されたアドレスに対応する書き込み対象のＲＡＭ又はレジスタの内容をＤＢＵＳ１０６を介して書き込みデータに書き込み、外部インターフェース端子群１０２を介して、外部に書き込みが実行されたことを示す信号を出力する。
【００２０】
第１の実施の形態においては、ＲＡＭモニタでの読み出し・書き込みを行う為の外部インターフェース端子群１０２からの設定は、従来の方法と同様であるが、ＲＯＭ１３０に格納されているＡＰによりセット／リセットがプログラマブルに設定できるＤＭＡ制御フラグ１７０を設けることにより、ＤＭＡコントローラ１１０の動作を制御できるため、予めＲＯＭ１３０のＡＰに制御フラグ１７０の状態を制御するプログラムを追加しておくことによりＤＭＡコントローラ１１０の動作ポイントを設定でき、従ってデバッグの柔軟性及び精度を向上させることができる。
【００２１】
［第２の実施の形態］
［構成］
図２は、本発明による方法を適用するＲＡＭモニタ内蔵ＭＣＵ１００の第２の実施の形態における構成を示すブロック図である。図中、図１，４と同一の番号を付与した構成要素は、前述の構成要素と同様な機能を有する構成要素であるため、詳細な説明は省略する。第２の実施の形態においては、第１の実施の形態におけるＤＭＡ制御フラグ１７０に代えて、ＤＭＡ制御フラグ群１８１及びセレクタ（ＳＥＬ）１８０が、ＲＡＭモニタ内蔵ＭＣＵ１００の外部に設けられている。このＤＭＡ制御フラグ群１８１はＡＰからのコマンド入力１８２により複数のフラグがセットでき、各フラグはＲＡＭモニタにより読み出し・書き込みを行うＲＡＭ等の内部モジュール対して１対１に対応するフラグである。例えば、ＲＡＭ１４０はフラグＦ０に、周辺モジュール１（１５０）はフラグＦ１に、周辺モジュール２（１６０）はフラグＦ２に対応している。このフラグ情報はセレクタ１８０を介してアンドゲート１１５に入力される。
【００２２】
また、この実施の形態においては、ＲＡＭモニタ内蔵ＭＣＵ１００の内部にアドレスデコーダ（ＡＤＥＣ）１１８が設けられており、アドレスレジスタ（ＡＲｅｇ）１１２に格納されたアドレスをデコードして、セレクタ１８０を制御する選択信号１１９を出力する。
【００２３】
［動作］
（１）読み出し動作の場合
図２の外部インターフェース端子群１０２の外部クロックに同期して外部データ入出力端子から、ＭＣＵ１００内部のＲＡＭ１４０、周辺モジュール１（１５０）、周辺モジュール２（１６０）のデバッグ対象のＲＡＭまたはレジスタのアドレスを入力し、データ送受信部１０４を介してＤＭＡコントローラ２００の動作に必要なデータをＡＲｅｇ１１２等に設定する。この設定処理が終了するとＧＯフラグセットＦ／Ｆがセットされ、このとき、第１の実施の形態と同様に、バス状態認識信号１０１が有意値で、かつＡＤＥＣ１１８からの出力信号１１９により選択されるセレクタ１８０からの出力信号値が有意値（例えば、値”１”）であれば、対応する読み出し対象のＲＡＭまたはレジスタに読み出し信号１２３を出力してデータを読み出し、その内容を、タイミング制御部１１６、ＲＲｅｇ１１４、データ送受信部１０４、外部インターフェース端子群１０２を介して外部に出力する。
【００２４】
このとき、アドレスデコーダ（ＡＤＥＣ）１１８は、ＲＡＭモニタ対象アドレスをデコードして、当該アドレスがＲＡＭモニタ対象のどのハードウェアに対応するものかを認識して、ＤＭＡフラグ群１８１のどのフラグを使用するかを選択する信号をセレクタ１８０に出力する。
【００２５】
（２）書き込み動作の場合
図２の外部インターフェース端子群１０２の外部クロックに同期して外部データ入出力端子からＭＣＵ内部のＲＡＭ１４０、周辺モジュール１（１５０）、周辺モジュール２（１６０）のデバッグ対象のＲＡＭまたはレジスタのアドレス及び書き込みデータを入力し、データ送受信部１０４を介してＤＭＡコントローラ２００の動作に必要なデータをＡＲｅｇ１１２、ＷＲｅｇ１１３に設定する。この設定処理が終了するとＧＯフラグがセットされ、このとき、バス状態認識信号１０１が有意値で、かつＡＤＥＣ１１８からの出力信号１１９により選択されるセレクタ１８０からの出力信号値が有意値であれば、ＤＭＡコントローラ２００は、設定されたアドレスに対応する書き込み対象のＲＡＭまたはレジスタに書き込み信号１２２を出力してデータの書き込みを行い、タイミング制御部１１６、データ送受信部１０４、外部インターフェース端子群１０２を介して、書き込みが実行されたことを示す信号を外部に出力する。
【００２６】
第２の実施の形態においては、ＲＡＭモニタ対象モジュール毎にＤＭＡ制御フラグを設けたので、モジュール毎にデバッグポイントが異なる場合でも、第１の実施の形態と同様に、デバッグ精度を向上させることが出来る。
【００２７】
［第３の実施の形態］
［構成］
図３は、本発明による方法を適用するＲＡＭモニタ内蔵ＭＣＵ１００の第３の実施の形態における構成を示すブロック図である。図中、図１，２、４と同一の番号を付与した構成要素は、前述の構成要素と同様な機能を有する構成要素であるため、詳細な説明は省略する。第３の実施の形態においては、ＤＭＡコントローラ３００は、第１の実施の形態におけるＤＭＡコントローラ１１０の構成要素に対して、ＤＭＡ情報レジスタ（Ｒｅｇ）３０１，及びデコーダ（ＤＥＣ）３０２が追加されている。このＲｅｇ３０１は、外部インターフェース端子群１０２から入力されるＤＭＡに関する情報を格納するレジスタであり、この情報とは、ＤＭＡフラグ群のどの情報を参照するかを表す情報である。
【００２８】
［動作］
（１）読み出し動作の場合
図３において外部インターフェース端子群１０２の外部クロック入力に同期して外部データ入出力端子より、ＭＣＵ１００内のＲＡＭ１４０、周辺モジュール１（１５０）、周辺モジュール２（１６０）のデバッグ対象のＲＡＭまたはレジスタのアドレスデータ及びＤＭＡ制御フラグ群１８１の、どのフラグ情報を参照するかを指定するＤＭＡフラグ情報データを入力する。
【００２９】
入力された各データは、データ送受信部１０４を介して、アドレスデータはアドレスレジスタＡｒｅｇ１１２に、ＤＭＡフラグ情報データはＤＭＡフラグ情報レジスタＲｅｇ３０１に取り込まれ、データ取り込みが完了すると同時にＲＡＭモニタによる読み出し動作を要求するＧＯフラグ１１１がセットされる。
【００３０】
次に、ＤＭＡコントローラ３００はＤＭＡフラグ情報レジスタＲｅｇ３０１の内容をデコーダＤＥＣ３０２によりデコードし、そのデコード信号によりＤＭＡ制御フラグ群１８１の中で参照するフラグをセレクト回路ＳＥＬ１８０で選択する。この実施の形態に於ける制御フラグ群１８１の各フラグは、第２の実施の形態におけるフラグがハードウェアと１対１に対応していたのに対して、ハードウェアとの対応関係を自由に設定できる。例えば、第２の実施の形態において、フラグＦ０，Ｆ１，Ｆ２をそれぞれ、ＲＡＭ１４０、周辺モジュール１、周辺モジュール２に対応させていたとすると、図示しないハードウェアとにより、このフラグをそれぞれ、周辺モジュール２，周辺モジュール１、ＲＡＭ１４０に対応するように変更が可能なようになっている。
【００３１】
次に、ＲＡＭモニタによる読み出し動作を制御するタイミング制御部１１６は、ＧＯフラグ、選択された１つのＤＭＡ制御フラグ、ＣＰＵからハード的に出力されるバス状態認識信号１０１の３つの信号状態を参照してこれらの３つの信号がすべてセットされるまでＲＡＭモニタでの読み出し動作を保留する。すべての信号がセットされるとタイミング制御部は読み出し動作を開始し、内部アドレスバスＡＢＵＳ１０８に対し、アドレスレジスタＡｒｅｇ１１２に格納されたデータを出力し、データ読み出し信号１２３を出力する。
【００３２】
ＲＡＭモニタによる読み出し対象となるＲＡＭまたはレジスタのデータは、この読み出し信号１２３に同期して内部データバスＤＢＵＳ１０６に出力される。タイミング制御部１１６はこの内部データバスに出力されたデータを読み出し用データレジスタＲＲｅｇ１１４に格納し、ＧＯフラグ１１１をリセットする。格納された読み出し用データレジスタＲＲｅｇ１１４の内容、つまりＲＡＭモニタによる読み出し対象のＲＡＭまたはレジスタの内容は、データ送受信部１０４、外部インターフェース端子群１０２を介して外部に出力される。
【００３３】
（２）書き込み動作の場合
図３において外部インターフェース端子群１０２の外部クロック入力に同期して外部データ入出力端子より、ＭＣＵ１００内のＲＡＭ１４０、周辺モジュール１（１５０）、周辺モジュール２（１６０）のデバッグ対象のＲＡＭまたはレジスタのアドレスデータ、書き込みデータ及びＤＭＡ制御フラグ群１８１の、どのフラグ情報を参照するかを指定するＤＭＡフラグ情報データを入力する。
【００３４】
入力された各データは、データ送受信部１０４を介して、アドレスデータはアドレスレジスタＡｒｅｇ１１２に、書き込みデータはＷｒｅｇ１１３に、ＤＭＡフラグ情報データはＤＭＡフラグ情報レジスタＲｅｇ３０１に取り込まれ、データ取り込みが完了すると同時にＲＡＭモニタによる読み出し動作を要求するＧＯフラグ１１１がセットされる。
【００３５】
次に、ＤＭＡコントローラ３００はＤＭＡフラグ情報レジスタＲｅｇ３０１の内容をデコーダＤＥＣ３０２によりデコードし、そのデコード信号によりＤＭＡ制御フラグ群１８１の中で参照するフラグをセレクト回路ＳＥＬ１８０で選択する。この実施の形態に於ける制御フラグ群１８１の各フラグのハードウェアとの関係が変更可能であることは、前述の通りである。
【００３６】
次に、ＲＡＭモニタによる書き込み動作を制御するタイミング制御部１１６は、ＧＯフラグ、選択された１つのＤＭＡ制御フラグ、ＣＰＵからハード的に出力されるバス状態認識信号１０１の３つの信号状態を参照してこれらの３つの信号がすべてセットされるまでＲＡＭモニタでの書き込み動作を保留する。すべての信号がセットされるとタイミング制御部１１６は書き込み動作を開始し、内部アドレスバスＡＢＵＳ１０８に対し、アドレスレジスタＡｒｅｇ１１２に格納されたデータを出力し、データ書き込み信号１２２を出力する。
【００３７】
ＲＡＭモニタによる書き込み対象となるＲＡＭまたはレジスタのデータは、この書き込み信号１２２に同期して内部データバスＤＢＵＳ１０６から対象となるハードウェアに出力される。タイミング制御部１１６は、書き込み動作終了後、ＧＯフラグ１１１をリセットし、データ送受信部１０４、外部インターフェース端子群１０２を介して、書き込みが実行されたことを外部に出力する。
【００３８】
第３の実施の形態におけるＲＡＭモニタでは１回のＲＡＭモニタ動作毎に、モニタ対象のＲＡＭまたはレジスタが参照するＤＭＡ制御フラグを個別に設定できるため、第１、第２の実施の形態以上に細かなデバッグポイントが設定でき、デバッグの効率をより向上させることができる。
【００３９】
【発明の効果】
以上詳細に説明したように、請求項１に係る発明によれば、アプリケーションプログラムの動作中に、内蔵されたＲＡＭ又はレジスタの内容を読み出す機能或いは書き込む機能を備えたマイクロコントローラのオンチップデバッグ方法であって、前記マイクロコントローラは、外部とのデータの送受信を行う外部インターフェース端子群と、前記外部インターフェース端子群とＤＭＡコントローラとの間のデータの送受信を行うデータ送受信部と、ＤＭＡによりアクセスする対象ハードウェアのアドレスを記憶するアドレスレジスタと、ＤＭＡにより読み込み或いは書き込みを行うためのレジスタと、ＤＭＡの開始を制御する制御フラグと、ＤＭＡのタイミング制御部とを備えたＤＭＡコントローラと、を備え、更に、前記マイクロコントローラの外部に、ＤＭＡによるアクセスの可否を決定するフラグ情報を格納するレジスタと、前記マイクロコントローラのバス状態がＤＭＡによりアクセス可能な状態であるか否かを示すバス状態認識信号の出力装置を備え、前記、フラグ情報がＤＭＡによるアクセス可能を示し、かつ、前記バス状態認識信号がＤＭＡによるバス占有が可能であることを示し、かつ、前記ＤＭＡコントローラ内部の前記制御フラグがＤＭＡによるアクセス開始を示している時に、前記ＤＭＡコントローラ内部の前記ＤＭＡのタイミング制御部による制御の下に、前記内蔵されたＲＡＭ或いはレジスタに対してアクセスし、前記マイクロコントローラの外部にデータを読み出し或いは外部からデータを書き込む構成としたので、予めＲＯＭのＡＰに制御フラグの状態を制御するプログラムを追加しておくことによりＤＭＡコントローラの動作ポイントを設定でき、従ってデバッグの柔軟性及び精度を向上させることができる。
【００４０】
また、請求項２に係る発明によれば、アプリケーションプログラムの動作中に、内蔵されたＲＡＭ又はレジスタの内容を読み出す機能或いは書き込む機能を備えたマイクロコントローラのオンチップデバッグ方法であって、前記マイクロコントローラは、外部とのデータの送受信を行う外部インターフェース端子群と、前記外部インターフェース端子群とＤＭＡコントローラとの間のデータの送受信を行うデータ送受信部と、ＤＭＡによりアクセスする対象ハードウェアのアドレスを記憶するアドレスレジスタと、該アドレスレジスタの内容をデコードするデコーダと、ＤＭＡにより読み込み或いは書き込みを行うためのレジスタと、ＤＭＡの開始を制御する制御フラグと、ＤＭＡのタイミング制御部とを備えたＤＭＡコントローラと、を備え、更に、前記マイクロコントローラの外部に、ＤＭＡによるアクセスを行う各ハードウェアと１対１に対応したＤＭＡ制御フラグ群を格納したレジスタと、前記マイクロコンーラのバス状態がＤＭＡによりアクセス可能な状態であるか否かを示すバス状態認識信号の出力装置を備え、前記、デコーダにより出力された信号により前記ＤＭＡ制御フラグ群の内の選択されたフラグが当該ＤＭＡ動作が有効であることを示しており、かつ、前記バス状態認識信号がＤＭＡによるバス占有が可能であることを示し、かつ、前記ＤＭＡコントローラ内部の前記制御フラグがＤＭＡによるアクセス開始を示している時に、前記ＤＭＡコントローラ内部の前記ＤＭＡのタイミング制御部による制御の下に、前記内蔵されたＲＡＭ或いはレジスタに対してアクセスし、前記マイクロコントローラの外部にデータを読み出し或いは外部からデータを書き込む構成としたので、ＲＡＭモニタ対象モジュール毎に設けたＤＭＡ制御フラグにより、モジュール毎にデバッグポイントが異なる場合でもデバッグ精度を向上させることが出来る。
【００４１】
更に、請求項３に係る発明によれば、アプリケーションプログラムの動作中に、内蔵されたＲＡＭ又はレジスタの内容を読み出す機能或いは書き込む機能を備えたマイクロコントローラのオンチップデバッグ方法であって、前記マイクロコントローラは、外部とのデータの送受信を行う外部インターフェース端子群と、前記外部インターフェース端子群とＤＭＡコントローラとの間のデータの送受信を行うデータ送受信部と、ＤＭＡによりアクセスする対象ハードウェアのアドレスを記憶するアドレスレジスタと、後記ＤＭＡ制御フラグ群の内のどのフラグ情報を参照するかを示すデータを入力するレジスタと、該レジスタの内容をデコードするデコーダと、ＤＭＡにより読み込み或いは書き込みを行うためのレジスタと、ＤＭＡの開始を制御する制御フラグと、ＤＭＡのタイミング制御部とを備えたＤＭＡコントローラと、を備え、更に、前記マイクロコントローラの外部に、ＤＭＡによるアクセスを行う各ハードウェアのＤＭＡによるアクセス可否を示すＤＭＡ制御フラグ群を格納したレジスタと、前記マイクロコンーラのバス状態がＤＭＡによるバス占有が可能な状態であるか否かを示すバス状態認識信号の出力装置を備え、前記、デコーダにより出力された信号により前記ＤＭＡ制御フラグ群の内の選択されたフラグが当該選択されたＤＭＡ動作が有効であることを示しており、かつ、前記バス状態認識信号がＤＭＡによりアクセス可能であることを示し、かつ、前記ＤＭＡコントローラ内部の前記制御フラグがＤＭＡによるアクセス開始を示している時に、前記ＤＭＡコントローラ内部の前記ＤＭＡのタイミング制御部による制御の下に、前記内蔵されたＲＡＭ或いはレジスタに対してアクセスし、前記マイクロコントローラの外部にデータを読み出し或いは外部からデータを書き込む構成としたので、１回のＲＡＭモニタ動作毎に、モニタ対象のＲＡＭまたはレジスタが参照するＤＭＡ制御フラグを個別に設定でき、細かなデバッグポイントが設定できるため、デバッグの効率をより向上させることができる。
【図面の簡単な説明】
【図１】本発明のマイクロコントローラのオンチップデバッグ方法の第１の実施の形態を示すブロック図である。
【図２】本発明のマイクロコントローラのオンチップデバッグ方法の第２の実施の形態を示すブロック図である。
【図３】本発明のマイクロコントローラのオンチップデバッグ方法の第３の実施の形態を示すブロック図である。
【図４】従来のＲＡＭモニタ内蔵ＭＣＵの構成例を示すブロック図である。
【符号の説明】
１００　　ＲＡＭモニタ内蔵ＭＣＵ
１０１　　バス状態認識信号
１０２　　外部インターフェース端子群
１０４　　データ送受信部
１０６　　データバス（ＤＢＵＳ）
１０８　　アドレスバス（ＡＢＵＳ）
１１０、２００，３００　ＤＭＡコントローラ
１１１　　ＧＯフラグＦ／Ｆ
１１２　　アドレスレジスタ（Ａｒｅｇ）
１１３　　書き込みレジスタ（Ｗｒｅｇ）
１１４　　読み出しレジスタ（Ｒｒｅｇ）
１１６　　タイミング制御部
１１８　　アドレスデコーダ（ＡＤＥＣ）
１２０　　ＣＰＵ
１２１　　プログラムカウンタ（ＰＣ）
１２２　　書き込み信号
１２３　　読み出し信号
１３０　　ＲＯＭ
１４０　　ＲＡＭ
１５０　　周辺モジュール１
１６０　　周辺モジュール２
１７０　　ＤＭＡ制御フラグ
１７１　　書き換え信号
１８０　　セレクタ（ＳＥＬ）
１８１　　ＤＭＡ制御フラグ群
１８２　　コマンド入力
３０１　　ＤＭＡフラグ情報レジスタ（Ｒｅｇ）
３０２　　デコーダ（ＤＥＣ）
【図１】
2004013289.tif 000003
【図２】
2004013289.tif 000004
【図３】
2004013289.tif 000005
【図４】
2004013289.tif 000006