(57)【要約】【課題】、内蔵するデバッグ回路からメモリ等の内部リソースに直接にアクセスできる構成において、バスを効率的に使用可能なようにバス権獲得要求及び承認を制御する集積回路を提供する。【解決手段】集積回路は、バスと、ユーザプログラムを実行する処理ユニットと、処理ユニットからの命令転送要求に応答して処理ユニットにバスを介して命令レジスタ内の命令を転送する、バスに接続されたデバッグ回路とを含み、処理ユニットがユーザプログラムの実行を中断して命令転送要求をデバッグ回路に対して行なうと、デバッグ回路は、命令転送要求と命令転送動作との間の期間においてバスの使用権を前記処理ユニットから解放させる応答を行なう。【選択図】図４
2010225094.tif 000002
【特許請求の範囲】
【請求項１】
バスと、
ユーザプログラムを実行する処理ユニットと、
前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して命令レジスタ内の命令を転送する、前記バスに接続されたデバッグ回路と
を含み、
前記処理ユニットが前記ユーザプログラムの実行を中断して前記命令転送要求を前記デバッグ回路に対して行なうと、前記デバッグ回路は、前記命令転送要求と命令転送動作との間の期間において前記バスの使用権を前記処理ユニットから解放させる応答を行なうことを特徴とする集積回路。
【請求項２】
前記バスに接続され前記ユーザプログラムを格納するメモリを更に含み、前記デバッグ回路は外部からの制御に応じて前記バスを介して前記メモリにアクセスする機能を有することを特徴とする請求項１記載の集積回路。
【請求項３】
前記デバッグ回路による前記応答は応答準備中を示す応答であることを特徴とする請求項１又は２に記載の集積回路。
【請求項４】
前記デバッグ回路は、前記応答をした後に外部から前記命令レジスタに所望の命令が格納され、実行指示されると、命令転送準備が完了した旨を示す信号を送出することを特徴とする請求項１乃至３の何れか一項記載の集積回路。
【請求項５】
前記処理ユニットは、前記命令転送準備が完了した旨を示す信号が前記デバッグ回路から送出されると、前記バスの使用権を獲得して前記バスを介して前記命令を前記デバッグ回路から読み出すことを特徴とする請求項１乃至４の何れか一項記載の集積回路。
【請求項６】
前記デバッグ回路は前記応答を行なう第１の動作モードと前記応答を行なわない第２の動作モードとの何れかに設定可能であり、前記デバッグ回路の前記命令レジスタには初期状態において所定のアドレスへの分岐命令が格納されており、前記第２の動作モードに設定されている場合には、前記命令転送要求に応答して直ちに前記所定のアドレスへの分岐命令を前記処理ユニットに転送することを特徴とする請求項１乃至５の何れか一項記載の集積回路。
【請求項７】
前記処理ユニットが前記所定のアドレスへの分岐命令及び前記所定のアドレスから始まる命令の実行を終了してから前記命令転送要求を前記デバッグ回路に発行した場合、前記デバッグ回路は、前記第２の動作モードに設定されている場合であっても前記応答を行なうことを特徴とする請求項６記載の集積回路。
【請求項８】
ユーザプログラムを実行する処理ユニットにバスを介して接続されるデバッグ回路であって、
命令を格納する命令レジスタと、
前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して前記命令を転送する制御回路と
を含み、
前記制御回路は、前記ユーザプログラムの実行を中断した前記処理ユニットから前記命令転送要求を受け取ると、前記命令転送要求と命令転送動作との間の期間において前記バスの使用権を前記処理ユニットから解放させる応答を行なうことを特徴とするデバッグ回路。
【請求項９】
外部からの制御に応じて前記バスを介してメモリにアクセスする機能を有することを特徴とする請求項８記載のデバッグ回路。
【請求項１０】
バスと、ユーザプログラムを実行する処理ユニットと、前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して命令を転送する、前記バスに接続されたデバッグ回路とを含む集積回路におけるデバッグコマンド制御方法であって、
前記ユーザプログラムの実行を中断して前記処理ユニットから前記デバッグ回路に前記命令転送要求を送信し、
前記命令転送要求に応じて応答準備中を示す信号を前記デバッグ回路から送出し、
前記応答準備中を示す信号に応答して前記バスの使用権を前記処理ユニットから解放させる
各段階を含むことを特徴とするデバッグコマンド制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に集積回路に関し、詳しくはプログラムの正しさを検査するデバッグ回路及びデバッグ回路を備えた集積回路に関する。
【背景技術】
【０００２】
ＭＣＵ（Micro Controller Unit）などのＣＰＵ（Central Processing Unit）を搭載する半導体装置において、ＣＰＵにより実行するプログラムを開発する際に、デバッグシステムを用いる。デバッグシステムは、開発対象のプログラムを実行するＣＰＵ動作に関する情報を表示したり、開発対象プログラムに対して特定の操作を行う機能を提供したりすることで、デバッグ作業を支援する。
【０００３】
図1は、デバッグシステムの構成の一例を示す図である。デバッグシステム１０は、ＭＣＵ等の半導体装置１１、外部デバッグ装置１２、及びホストコンピュータ１３を含む。半導体装置１１はデバッグ対象の装置であり、ＣＰＵ２１、デバッグ回路２２、ＲＡＭ２３、ＲＯＭ２４、周辺回路２５、内部バス２６を含む。ＣＰＵ２１は、ＲＡＭ２３やＲＯＭ２４に格納されたプログラムを実行する。ＣＰＵ２１は、プログラム実行時に適宜必要に応じてＲＡＭ２３をアクセスし、ＲＡＭ２３をワークエリアとして用いる。ＣＰＵ２１はデバッグ回路２２に接続されており、各種の実行履歴情報をデバッグ回路２２に供給する。またデバッグ回路２２は、ブレークポイントに基づいてＣＰＵ２１の動作を制御し、ブレーク後のデバッグステートでデバッグプログラムをＣＰＵ２１に実行させることにより、所望のデバッグ機能を実現する。
【０００４】
外部デバッグ装置１２は、デバッグ回路２２とデバッグ端子２８を介して結合され、デバッグ回路２２とホストコンピュータ１３との間のインターフェースとして機能する。ホストコンピュータ１３ではデバッガソフトウェア１５が実行されている。ユーザは、ホストコンピュータ１３でデバッガソフトウェア１５を操作することにより、半導体装置１１のＣＰＵ２１が実行するプログラムのデバッグ作業を行なう。
【０００５】
近年では、工場出荷後にもデバッグ作業を行いたいという要求に応じて、量産品にもデバッグ回路が内蔵するものがある。またＣＰＵ２１にプログラムを実行させながら、デバッガソフトウェア１５により、プログラムのパラメータのチューニングを行ないたいという要求がある。そのようなチューニングをＣＰＵ２１によるプログラム実行と並行して行なうためには、デバッガソフトウェア１５により制御されるデバッグ回路２２から、ＣＰＵ２１を介することなく半導体装置１１の内部のＲＡＭ２３に直接にアクセスできることが好ましい。またそのようにデバッグ回路２２が半導体装置１１内部のリソースに直接にアクセスできる構成では、バス権獲得要求がデバッグ回路２２とＣＰＵ２１とで衝突する可能性がある。従って、バスを効率的に使用可能なようにバス権獲得要求及び承認を制御することが望まれる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２７３１６７号公報
【特許文献２】特開平８−２６３４２８号公報
【特許文献３】特開平９−３０５５３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以上を鑑みると、内蔵するデバッグ回路からメモリ等の内部リソースに直接にアクセスできる構成において、バスを効率的に使用可能なようにバス権獲得要求及び承認を制御する集積回路が望まれる。
【課題を解決するための手段】
【０００８】
集積回路は、バスと、ユーザプログラムを実行する処理ユニットと、前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して命令レジスタ内の命令を転送する、前記バスに接続されたデバッグ回路とを含み、前記処理ユニットが前記ユーザプログラムの実行を中断して前記命令転送要求を前記デバッグ回路に対して行なうと、前記デバッグ回路は、前記命令転送要求と命令転送動作との間の期間において前記バスの使用権を前記処理ユニットから解放させる応答を行なうことを特徴とする。
【０００９】
ユーザプログラムを実行する処理ユニットにバスを介して接続されるデバッグ回路は、命令を格納する命令レジスタと、前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して前記命令を転送する制御回路とを含み、前記制御回路は、前記ユーザプログラムの実行を中断した前記処理ユニットから前記命令転送要求を受け取ると、前記命令転送要求と命令転送動作との間の期間において前記バスの使用権を前記処理ユニットから解放させる応答を行なうことを特徴とする。
【００１０】
バスと、ユーザプログラムを実行する処理ユニットと、前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して命令を転送する、前記バスに接続されたデバッグ回路とを含む集積回路におけるデバッグコマンド制御方法は、前記ユーザプログラムの実行を中断して前記処理ユニットから前記デバッグ回路に前記命令転送要求を送信し、前記命令転送要求に応じて応答準備中を示す信号を前記デバッグ回路から送出し、前記応答準備中を示す信号に応答して前記バスの使用権を前記処理ユニットから解放させる各段階を含むことを特徴とする。
【発明の効果】
【００１１】
本願開示の少なくとも１つの実施例によれば、処理ユニットは、ブレーク後にデバッグコマンドを待っている状態において、バスを占有することなく命令の実行を停止することができる。従って、バスに接続されるデバッガ回路が、他のリソースをアクセスするためにバスを使用したい場合に、直ちにバス権を獲得することができる。
【図面の簡単な説明】
【００１２】
【図１】デバッグシステムの構成の一例を示す図である。
【図２】ＣＰＵのブレーク処理の流れを示すフローチャートである。
【図３】ユーザプログラム実行及びデバッグステートでの命令実行について説明する図である。
【図４】デバッグ回路を内部バスに結合したデバッグシステムの構成の一例を示す図である。
【図５】ＣＰＵのブレーク処理の流れを示すフローチャートである。
【図６】ユーザプログラム実行及びデバッグステートでの命令実行について説明する図である。
【図７】内部バスのバスシステム構成の一例を示す図である。
【図８】図７のようなバスシステムにおいて命令転送制御部が実行するスプリットトランザクションの一例を示す図である。
【図９】デバッグ回路を内部バスに結合したデバッグシステムの構成の変形例を示す図である。
【図１０】擬似オンザフライ処理を含めたデバッグコマンド制御手順のフローチャートである。
【図１１】コマンドウェイト設定を無効としたときにブレーク要因が擬似オンザフライブレークである場合の命令実行の流れについて説明する図である。
【図１２】コマンドウェイト設定を無効としたときにブレーク要因が擬似オンザフライブレークでない場合の命令実行の流れについて説明する図である。
【図１３】リセット解除時のデバッグコマンド制御の流れを示すフローチャートである。
【図１４】リセット解除時にデバッグが有効である場合の命令実行の流れを説明する図である。
【図１５】リセット解除時のデバッグコマンド制御の変形例の処理の流れを示すフローチャートである。
【図１６】コマンドウェイト設定を無効としたときのリセット解除時の命令実行の流れの一例を説明する図である。
【発明を実施するための形態】
【００１３】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００１４】
デバッガソフトウェアにより制御されるデバッグ回路から半導体装置の内部のＲＡＭに直接にアクセスするためには、デバッグ回路を内部バスに結合し、デバッグ回路にＤＭＡＣ（Direct Memory Access Controller）等のバスマスタを搭載すればよい。外部のデバッガソフトウェアによりデバッグ回路のＤＭＡＣを制御することで、ＲＡＭ等の内部リソースに対するデータアクセス動作を、ＣＰＵを介することなく直接に実行できる。これにより、ＣＰＵによりプログラムを実行させながら、それと並行してＲＡＭに格納される各種パラメータの修正等を行い、動作性能のチューニングを行なうことができる。
【００１５】
このようにデバッグ回路を内部バスに結合し、内部バスを介して半導体装置内部のリソースとデータやコマンドをやり取りする構成とした場合、バス権獲得要求がデバッグ回路とＣＰＵとで衝突する可能性がある。従って、バスを効率的に使用可能なようにバス権獲得要求及び承認を制御することが望まれる。バス権獲得要求の衝突が起こる状況について、以下に説明する。
【００１６】
従来の図１に示すようなデバッグシステムを用いたプログラムデバッグは、例えば、次のようなフローで行われる。プログラムを実行中に予めブレーク要因として設定しておいた命令の実行を確定すると、ＣＰＵ２１はブレーク処理を行ない、プログラムの実行を中断する。このプログラムの実行を中断している状態をデバッグステートと呼ぶ。このデバッグステートにおいて、チップ外部のホストコンピュータ１３上で実行されるデバッガソフトウェア１５により、プログラムのデバッグに必要な情報をデバッグ回路２２から取得する。その後、デバッガソフトウェア１５による指示により、中断していたプログラムのＣＰＵ２１による実行を再開させる。その後のプログラム動作についても同様にデバッグを行う。
【００１７】
ブレーク後のデバッグステートでは、チップ外部のホストコンピュータ１３のデバッガソフトウェア１５により、デバッグ作業の制御を行う。デバッグステートのＣＰＵ２１は、デバッガソフトウェア１５が指定するモニタプログラム中の所望のデバッグコマンドを、所望のタイミングで実行する必要がある。ここでモニタプログラムとは、デバッグステートにおいてＣＰＵ２１が実行するデバッグ用プログラムを指し、所望のデバッグコマンドとは、モニタプログラム中の所定のアドレスから始まる命令列のことである。また所望のタイミングとはホストコンピュータ１３のデバッガソフトウェア１５により指示したタイミングのことである。
【００１８】
図２は、ＣＰＵ２１のブレーク処理の流れを示すフローチャートである。ＣＰＵ２１はブレークするとブレーク専用の特定アドレスへ分岐する（Ｓ１）。この特定アドレスには、デバッグ回路２２内部の命令格納用のレジスタ（以下において命令レジスタと呼ぶ）が割り当てられている。この命令レジスタには、ＣＰＵ２１をウェイトさせる命令シーケンスや、所望のデバッグコマンド開始アドレスへの分岐命令や、デバッグステートからユーザプログラム実行に戻るブレークリターン命令等が読み出される。命令レジスタには、初期状態においてＣＰＵ２１をウェイトさせる命令シーケンスが読み出され（Ｓ２及びＳ３でＮＯ）、ＣＰＵ２１はウェイト状態となる（Ｓ４）。このウェイト状態においては、ＣＰＵ２１はＮＯＰ（No Operation）コマンドを実行して何も実体的な動作をすることなく、ループでＳ１の命令レジスタの先頭アドレスへ戻る。ＣＰＵ２１は、命令レジスタ内のＮＯＰコマンドの実行とループを繰り返す。
【００１９】
デバッガソフトウェア１５がデバッグコマンドの開始アドレスを指定してデバッグ回路２２にデバッグコマンド開始指示を与えると、上記命令レジスタから読み出される命令がデバッグコマンド開始指示命令（デバッグコマンド開始アドレスへの分岐命令）に切り替わる（Ｓ２でＹＥＳ）。ＣＰＵ２１は、デバッグコマンド開始アドレスに分岐し（Ｓ５）、デバッグコマンドを実行する（Ｓ６）。デバッグコマンドの終了処理として、ＣＰＵ２１はブレーク専用の特定アドレス（上記命令レジスタ）へ分岐する（Ｓ１）。またデバッガソフトウェア１５がデバッグ回路２２にブレークリターンの指示を与えると、上記命令レジスタから読み出される命令がブレークリターン命令（ユーザプログラム中のブレークポイントへの分岐命令）に切り替わる（Ｓ３でＹＥＳ）。ＣＰＵ２１は、ブレークリターン命令を実行し（Ｓ７）、ブレーク処理を終了する。
【００２０】
図３は、ユーザプログラム実行及びデバッグステートでの命令実行について説明する図である。ＣＰＵ２１によるユーザプログラムの実行３１が、ブレークポイント３２に到達すると、命令レジスタへの分岐３３が発生する。ＣＰＵ２１による命令レジスタ内のコマンドの実行３４が行なわれ、ウェイト命令の場合には自己ループ３５により、命令レジスタ内のコマンドの実行３４を繰り返す。命令レジスタ内のコマンドがデバッグコマンド開始指示命令である場合には、デバッグコマンド開始アドレスへの分岐３６が発生し、ＣＰＵ２１によるデバッグコマンドの実行３７が行なわれる。デバッグコマンドの実行３７が終了すると、命令レジスタへの分岐（リターン）３８が発生する。命令レジスタ内のコマンドがブレークリターン命令である場合には、ブレークリターンによる復帰３９が発生し、ブレークポイント３２以降のユーザプログラムの実行３１が行なわれる。
【００２１】
図１に示すデバッグ回路２２を内部バス２６に結合し、内部バス２６を介して半導体装置１１内部のリソースとデータやコマンドをやり取りする構成とした場合、バスの使用に関して問題が発生する。即ち、上記のようにＣＰＵ２１がデバッグ回路２２内の命令レジスタ内のＮＯＰコマンドの実行とループを繰り返すと、その間、ＣＰＵ２１が内部バス２６を占有してしまうことになる。その結果、内部バス２６においてＣＰＵ２１より優先度が低いバスマスタは、バス権を獲得することが困難になる。例えば、デバッグ回路２２にＤＭＡＣを内蔵してデバッガソフトウェア１５から制御できるようにしても、ＣＰＵ２１のコマンドウェイト状態では、ＤＭＡＣが内部バス２６を使用できない。内部バス２６を使用できるようにするためには、ＤＭＡＣのバス優先順位を強制的に上げるなどの対処が必要となってしまう。従って、デバッグステートでのＣＰＵのコマンドウェイト状態を、バスを占有することなく実現する構成が望まれる。
【００２２】
図４は、デバッグ回路を内部バスに結合したデバッグシステムの構成の一例を示す図である。デバッグシステム４０は、ＭＣＵ等の半導体装置４１、外部デバッグ装置４２、及びホストコンピュータ４３を含む。半導体装置４１はデバッグ対象の装置であり、ＣＰＵ５１、デバッグ回路５２、ＲＡＭ５３、ＲＯＭ５４、周辺回路５５、内部バス５６を含む。ＣＰＵ５１は、ＲＡＭ５３やＲＯＭ５４に格納されたプログラムを実行する。ＣＰＵ５１は、プログラム実行時に適宜必要に応じてＲＡＭ５３をアクセスし、ＲＡＭ５３をワークエリアとして用いる。ＣＰＵ５１は、各種の実行履歴情報をデバッグ回路５２に供給する。またデバッグ回路５２は、ブレークポイントに基づいてＣＰＵ５１の動作を制御し、ブレーク後のデバッグステートでデバッグプログラムをＣＰＵ５１に実行させることにより、所望のデバッグ機能を実現する。
【００２３】
外部デバッグ装置４２は、デバッグ回路５２と結合され、デバッグ回路５２とホストコンピュータ４３との間のインターフェースとして機能する。ホストコンピュータ４３ではデバッガソフトウェア４５が実行されている。ユーザは、ホストコンピュータ４３でデバッガソフトウェア４５を操作することにより、半導体装置４１のＣＰＵ５１が実行するプログラムのデバッグ作業を行なう。
【００２４】
デバッグ回路５２は、命令転送制御部６１、命令設定制御部６２、命令供給制御部６３、通信手段６４、及びＤＭＡＣ６５を含む。命令転送制御部６１は、命令レジスタ６８及びスプリットトランザクション制御部６９を含む。命令転送制御部６１、命令設定制御部６２、及び命令供給制御部６３がデバッグコマンド制御部６６を構成する。
【００２５】
通信手段６４は、外部デバッグ装置４２を介してホストコンピュータ４３と通信する。ＤＭＡＣ６５は、デバッガソフトウェア４５により通信手段６４を介して制御され、この外部からの制御に応じて、内部バス５６を介してＲＡＭ５３等の内部リソースにリード／ライトアクセスする機能を有する。これにより、デバッガソフトウェア４５によるデバッグ対象システムのリアルタイムでのモニタリング（リード処理によるレジスタ値やメモリ値の監視）及びチューニング（ライト処理によるレジスタ値やメモリ値の書き換え）が可能となる。
【００２６】
命令設定制御部６２は、通信手段６４を介したデバッガソフトウェア４５からの指示に応じて、命令レジスタ６８に命令を格納する。例えば、ブレークリターン命令やデバッグコマンド開始アドレスへの分岐命令等が、命令レジスタ６８に格納される。命令転送制御部６１は、ＣＰＵ５１からの命令転送要求に応じてＣＰＵ５１に内部バス５６を介して命令レジスタ６８の命令を転送する。即ち、ＣＰＵ５１がユーザプログラムの実行を中断して命令転送要求をデバッグ回路５２に行なうと、命令転送制御部６１は命令レジスタ６８の命令を内部バス５６に送出する。ＣＰＵ５１は、命令転送制御部６１により内部バス５６に送出された命令を読み込んで実行することにより、デバッグステートにおいて種々のデバッグコマンドを実行することができる。
【００２７】
図４に示す半導体装置４１においては、ＣＰＵ５１がユーザプログラム実行中にブレークポイントでブレークして命令転送要求をデバッグ回路５２に対して発行すると、スプリットトランザクションを実行する。このスプリットトランザクションとは、データ転送処理を構成する一連の動作のうち、データ転送要求動作と実際のデータ転送動作が分離されたトランザクションのことである。ここで２つの動作が分離されているとは、２つの動作の間の期間において、ＤＭＡＣ６５等の他のデバイスやＣＰＵ５１が内部バス５６を介して他のトランザクションを実行できることを意味する。即ち、命令転送制御部６１は、命令転送要求と命令転送動作との間の期間において、内部バス５６の使用権をＣＰＵ５１から解放させるようなスプリット応答を行なう。このスプリットトランザクションの制御をつかさどるのがスプリットトランザクション制御部６９である。命令供給制御部６３は、スプリットトランザクション制御部６９に命令供給のタイミングを指示する。
【００２８】
図５は、ＣＰＵ５１のブレーク処理の流れを示すフローチャートである。プログラム実行中に予め設定されたブレーク要因が発生すると、ＣＰＵ５１はブレーク処理を行なう。ＣＰＵ５１はブレークすると、ブレーク時点のプログラム実行情報（プログラムカウンタ値やステータスレジスタ値等）をブレーク専用退避レジスタに退避させ、ブレーク専用の特定アドレスに分岐する。即ち、ブレーク専用の特定アドレスに割り当てられた命令レジスタ６８へ分岐する（Ｓ１）。初期状態においてはデバッガソフトウェア４５からの開始指示はない（Ｓ２でＮＯ）。従って、スプリットトランザクション制御部６９が、内部バス５６のバスシステム及びＣＰＵ５１に応答準備中を通知し、内部バス５６のスプリットトランザクションを要求する（Ｓ３）。これによりＣＰＵ５１は、バス権を解放するとともに、デバッグ回路５２からのコマンド待ちの状態となる（Ｓ４）。
【００２９】
デバッガソフトウェア４５からの指示に応じて、命令設定制御部６２が、命令レジスタ６８に任意の命令を設定する。その後、デバッガソフトウェア４５からの指示に応じて、命令供給制御部６３が、デバッグコマンド開始指示をスプリットトランザクション制御部６９に与える（Ｓ２でＹＥＳ）。これに応じて、スプリットトランザクション制御部６９が内部バス５６に応答準備完了を通知し、命令レジスタ６８の命令を内部バス５６を介してＣＰＵ５１に供給する（Ｓ５）。
【００３０】
供給された命令がデバッグコマンド開始アドレスへの分岐命令である場合（Ｓ６でＹＥＳ）、ＣＰＵ５１は、デバッグコマンド開始アドレスに分岐し（Ｓ７）、デバッグコマンドを実行する（Ｓ８）。デバッグコマンドの終了処理として、ＣＰＵ５１は命令レジスタ６８へ分岐する（Ｓ１）。また供給された命令がブレークリターン命令である場合（Ｓ６でＮＯ）、ＣＰＵ５１はブレークリターン命令を実行し（Ｓ９）、ブレーク処理を終了する。
【００３１】
図６は、ユーザプログラム実行及びデバッグステートでの命令実行について説明する図である。ＣＰＵ５１によるユーザプログラムの実行７１が、ブレークポイント７２に到達すると、命令レジスタへの分岐７３が発生する。命令レジスタへの命令フェッチ要求に対して、デバッグ回路５２の命令転送制御部６１が応答準備中を通知するので、ＣＰＵ５１は命令フェッチをすることなく、バス権を解放してウェイト状態となる。その後デバッグ回路５２の命令転送制御部６１が応答準備完了を通知すると、ＣＰＵ５１は命令フェッチを行ない、ＣＰＵ５１による命令レジスタ内のコマンドの実行７４が行なわれる。命令レジスタ内のコマンドがデバッグコマンド開始指示命令である場合には、デバッグコマンド開始アドレスへの分岐７６が発生し、ＣＰＵ５１によるデバッグコマンドの実行７７が行なわれる。デバッグコマンドの実行７７が終了すると、命令レジスタへの分岐（リターン）７８が発生する。命令レジスタ内のコマンドがブレークリターン命令である場合には、ブレークリターンによる復帰７９が発生し、ブレークポイント７２以降のユーザプログラムの実行７１が行なわれる。
【００３２】
図７は、内部バス５６のバスシステム構成の一例を示す図である。図７に示すバスシステムは、バス調停部８１、デコーダ８２、及びセレクタ８３乃至８６を含む。ＣＰＵ５１やＤＭＡＣ６５等のバスマスタは、内部バス５６を介してＲＡＭ２３やＲＯＭ２４等のスレーブ機器へのデータアクセスを行なうために、まずバス権要求をバス調停部８１に対して行なう。バス調停部８１は、バス権要求が１つしかない場合、そのバス権要求をしたバスマスタに対してバス権承認信号をアサートする。また複数のバスマスタからバス権要求がある場合には、バス調停部８１は、所定の優先度等に応じた調停処理によりバス権を与えるバスマスタを選択し、選択したバスマスタに対してバス権承認信号をアサートする。バス権を獲得したバスマスタは、バス調停部８１により適宜制御されるセレクタ８３及び８４を介して、所望のスレーブ機器にアクセスする。スレーブ機器からは、アクセス先のアドレスをデコードするデコーダ８２により適宜制御されるセレクタ８５及び８６を介して、バスレディ／応答信号が返されるとともにリードアクセスの場合にはリードデータが返される。また各スレーブは、バス調停部８１に対して応答準備完了を通知する信号を供給する。
【００３３】
図８は、図７のようなバスシステムにおいて命令転送制御部６１が実行するスプリットトランザクションの一例を示す図である。ブレーク要因が発生すると、ＣＰＵ５１は命令レジスタ６８に分岐するために、ｔ２においてバス権要求信号をＨＩＧＨにアサートする。これに応答して、ｔ３において、バス調停部８１がＣＰＵ５１に対してバス権承認信号をＨＩＧＨにアサートする。バス権を獲得したＣＰＵ５１は、ｔ４において命令レジスタ６８のアドレスＡ０をアドレスバスに送出し、命令レジスタ６８に対する命令フェッチ（命令転送）を要求する。この命令転送要求に応答し、ｔ５において、命令転送制御部６１のスプリットトランザクション制御部６９はバスレディ信号をＬＯＷ状態にするとともに、バス応答信号を応答準備中を示す値に設定する。ここでバスレディ信号のＬＯＷ状態は、命令転送要求に対する命令転送を先延ばしすることを通知するものであるとする。バス調停部８１は、ｔ６において、応答準備中の通知を受けてＣＰＵ５１へのバス権承認を取り下げる（即ちバス権承認信号をＬＯＷにする）。これにより内部バス５６は他のバスマスタにより使用可能となる。
【００３４】
図８の例では、ＤＭＡＣ６５が、ｔ４においてバス権要求信号をＨＩＧＨにアサートしている。ｔ６において、バス調停部８１はＣＰＵ５１へのバス権承認を取り下げるとともに、ＤＭＡＣ６５に対してバス権承認信号をＨＩＧＨにアサートする。ｔ７及びｔ８において、ＤＭＡＣ６５はアドレスＢ０及びＢ１に対して内部バス５６を介したデータアクセスを行なう。
【００３５】
スプリットトランザクション制御部６９は、デバッグコマンド開始指示をデバッガソフトウェア４５から受け取ると、ｔ１０において応答準備完了を通知する。この応答準備完了を通知する信号に応答して、バス調停部８１は、ｔ１１においてＣＰＵ５１に対して再度バス権を承認する。ＣＰＵ５１はバス権を獲得すると、ｔ１２において命令レジスタ６８のアドレスＡ０をアドレスバスに送出し、命令レジスタ６８に対する命令フェッチ（命令転送）を要求する。この命令転送要求に応答し、ｔ１３において、命令転送制御部６１のスプリットトランザクション制御部６９は命令レジスタ６８に格納される命令を内部バス５６を介してＣＰＵ５１に送信する。
【００３６】
図９は、デバッグ回路を内部バスに結合したデバッグシステムの構成の変形例を示す図である。図９において、図４と同一の構成要素は同一の番号で参照し、その説明は省略する。図９のデバッグシステム４０においては、半導体装置４１にデバッグ専用メモリ９４が追加で設けられている。またデバッグ回路５２には、ブレーク制御部９１及びコマンドウェイト設定部９３が追加で設けられている。ブレーク制御部９１は、ブレーク要因フラグ９２を含む。
【００３７】
コマンドウェイト設定部９３は、デバッガソフトウェア４５からの指示に基づいて、命令転送制御部６１を第１の動作モード（コマンドウェイト設定有効モード）と第２の動作モード（コマンドウェイト設定無効モード）との何れかに設定する。スプリットトランザクション処理を行なうのが第１の動作モードであり、スプリットトランザクション処理を行なわないのが第２の動作モードである。図９に示すデバッグシステム４０では、デバッグ回路５２の命令レジスタ６８には初期状態においてデバッグ専用メモリ９４中の所定のアドレスへの分岐命令が格納されている。命令転送制御部６１は、第２の動作モードに設定されている場合には、ブレークしたＣＰＵ５１からの命令転送要求に応答して直ちに命令レジスタ６８に格納される前記所定のアドレスへの分岐命令をＣＰＵ５１に転送する。これによりＣＰＵ５１は、応答待ちすることなく、直ちにデバッグ専用メモリ９４の命令を実行することができる。
【００３８】
ＣＰＵ５１は、デバッグ専用メモリ９４の命令を実行することにより、まず最初にブレーク要因フラグ９２の内容を確認してよい。ＣＰＵ５１がブレークする要因としては複数の種類の要因が有り得るが、ブレーク要因フラグ９２は、ＣＰＵ５１の現在のブレーク要因が複数の種類の要因のうちの何れであるかを示す値を格納している。ブレーク要因フラグ９２が所定の要因を示す場合、ＣＰＵ５１は、デバッグ専用メモリ９４に格納される命令の実行を継続し、その所定の要因において実行が予定されている処理を行なうことができる。ブレーク要因フラグ９２が所定の要因でない要因を示す場合、ＣＰＵ５１は、再度命令レジスタ６８に分岐してよい。このようにデバッグ専用メモリ９４の所定のアドレスから始まる命令の実行後にＣＰＵ５１が再度命令レジスタ６８に分岐する場合、命令転送制御部６１は、第２の動作モードに設定されている場合であってもスプリットトランザクション処理を行なう。
【００３９】
以上の構成により、擬似オンザフライ処理（デバッガソフトウェア４５からのデバッグコマンド開始指示を必要とせずに短期間のブレークで実行する特定の処理）が可能となる。以下に、図９のデバッグシステム４０における擬似オンザフライ処理について、より詳細に説明する。
【００４０】
図１０は、擬似オンザフライ処理を含めたデバッグコマンド制御手順のフローチャートである。プログラム実行中にブレーク要因が発生すると、ＣＰＵ５１はブレーク処理を行なう。即ち、ブレーク専用の特定アドレスに割り当てられた命令レジスタ６８へ分岐する（Ｓ１）。命令レジスタ６８には初期状態においてデバッグ専用メモリ９４中の所定のアドレスへの分岐命令が格納されており、この所定のアドレスには擬似オンザフライ処理用デバッグコマンドが格納されている。コマンドウェイト設定が有効でない場合（Ｓ２でＮＯ）、ＣＰＵ５１は命令レジスタ６８の命令を直ちに読み出して、擬似オンザフライ処理用デバッグコマンド開始アドレスへ分岐する（Ｓ３）。ＣＰＵ５１は、擬似オンザフライ処理用デバッグコマンドの実行において、まず最初にブレーク要因を確認する（Ｓ４）。ブレーク要因が擬似オンザフライブレークである場合（Ｓ４でＹＥＳ）、ＣＰＵ５１はそのまま擬似オンザフライ処理用のデバッグコマンドを実行する（Ｓ５）。ＣＰＵ５１は、コマンドの終了処理としてブレークリターン命令を実行し（Ｓ１２）、ブレーク処理を終了する。これによって、擬似オンザフライ処理が実現される。
【００４１】
ブレーク要因が擬似オンザフライブレークではない場合（Ｓ４でＮＯ）、ＣＰＵ５１は再度命令レジスタ６８へ分岐する（Ｓ６）。なおここで命令レジスタ６８への分岐ではなく、対応する任意のデバッグコマンドへ分岐してもよい。ＣＰＵ５１が再度命令レジスタ６８へ分岐すると、２回目以降の命令レジスタ６８への命令フェッチでは、動作モードに関わらずにコマンドウェイトが有効となる。即ち、初期状態でデバッガソフトウェア４５からの開始指示はなく（Ｓ７でＮＯ）、スプリットトランザクション制御部６９が、内部バス５６のバスシステム及びＣＰＵ５１に応答準備中を通知し、内部バス５６のスプリットトランザクションを要求する（Ｓ８）。これによりＣＰＵ５１は、バス権を解放するとともに、デバッグ回路５２からのコマンド待ちの状態となる。
【００４２】
その後デバッガソフトウェア４５からの指示に応じて、命令設定制御部６２が、命令レジスタ６８に任意の命令を設定する。更に、デバッガソフトウェア４５からの指示に応じて、命令供給制御部６３が、デバッグコマンド開始指示をスプリットトランザクション制御部６９に与える（Ｓ７でＹＥＳ）。供給された命令がデバッグコマンド開始アドレスへの分岐命令である場合（Ｓ９でＹＥＳ）、ＣＰＵ５１は、デバッグコマンド開始アドレスに分岐し（Ｓ１０）、デバッグコマンドを実行する（Ｓ１１）。デバッグコマンドの終了処理として、ＣＰＵ５１は命令レジスタ６８へ分岐する（Ｓ６）。また供給された命令がブレークリターン命令である場合（Ｓ９でＮＯ）、ＣＰＵ５１はブレークリターン命令を実行し（Ｓ１２）、ブレーク処理を終了する。
【００４３】
図１１は、コマンドウェイト設定を無効としたときにブレーク要因が擬似オンザフライブレークである場合の命令実行の流れについて説明する図である。あるブレーク要因によりユーザプログラム実行が中断すると、ＣＰＵ５１により命令レジスタ６８内の命令が直ちに読み出され、命令レジスタ内のコマンドの実行１０１が行なわれる。命令レジスタ内のコマンドは疑似オンザフライ開始アドレスへの分岐命令であるので、疑似オンザフライ開始アドレスへの分岐１０２が発生する。疑似オンザフライ用デバックコマンドの実行において、ブレーク要因が擬似オンザフライブレークであると判明すると、ＣＰＵ５１による疑似オンザフライ用デバックコマンドの実行１０３がそのまま続けられる。疑似オンザフライ用デバックコマンドの実行１０３の終了に伴い、ブレークリターンによる復帰が発生し、ブレーク以降のユーザプログラムの実行が行なわれる。
【００４４】
図１２は、コマンドウェイト設定を無効としたときにブレーク要因が擬似オンザフライブレークでない場合の命令実行の流れについて説明する図である。あるブレーク要因によりユーザプログラム実行が中断すると、ＣＰＵ５１により命令レジスタ６８内の命令が直ちに読み出され、命令レジスタ内のコマンドの実行１０１が行なわれる。命令レジスタ内のコマンドは疑似オンザフライ開始アドレスへの分岐命令であるので、疑似オンザフライ開始アドレスへの分岐１０２が発生する。疑似オンザフライ用デバックコマンドの実行において、ブレーク要因が擬似オンザフライブレークでないと判明すると、命令レジスタ６８への分岐１０４が発生する。命令レジスタへの２回目以降の命令フェッチ要求に対して、デバッグ回路５２の命令転送制御部６１が応答準備中を通知するので、ＣＰＵ５１は命令フェッチをすることなく、バス権を解放してウェイト状態となる。
【００４５】
その後デバッグ回路５２の命令転送制御部６１が応答準備完了を通知すると、ＣＰＵ５１は命令フェッチを行ない、ＣＰＵ５１による命令レジスタ内のコマンドの実行１０１が行なわれる。命令レジスタ内のコマンドが所望のデバッグコマンド開始アドレスへの分岐命令である場合、このデバッグコマンド開始アドレスへの分岐１０５が発生し、ＣＰＵ５１によるデバッグコマンドの実行１０６が行なわれる。デバッグコマンドの実行１０６が終了すると、命令レジスタへの分岐１０７（リターン）が再度発生する。命令レジスタ内のコマンドがブレークリターン命令である場合には、ブレークリターンによる復帰１０８が発生し、ブレーク以降のユーザプログラムの実行が行なわれる。
【００４６】
ここまでに説明したデバッグコマンド制御方法は、リセット解除時のデバッグコマンド制御にも適用できる。以下に、リセット解除時のデバッグコマンド制御について説明する。
【００４７】
図１３は、リセット解除時のデバッグコマンド制御の流れを示すフローチャートである。リセット解除時にデバッグコマンドの実行を行うには、デバッグ回路においてリセット解除時のデバッグを有効に設定し、リセット解除後、ユーザプログラムが開始する前にブレークすればよい。ＣＰＵ５１は、リセット解除時にデバッグが有効でない場合（Ｓ１でＮＯ）、通常のユーザプログラムの実行を開始する。リセット解除時にデバッグが有効である場合（Ｓ１でＹＥＳ）、ＣＰＵ５１は、デバッグ回路５２の命令レジスタ６８へ分岐する（Ｓ２）。初期状態でデバッガソフトウェア４５からの開始指示はなく（Ｓ３でＮＯ）、スプリットトランザクション制御部６９が、内部バス５６のバスシステム及びＣＰＵ５１に応答準備中を通知し、内部バス５６のスプリットトランザクションを要求する（Ｓ４）。これによりＣＰＵ５１は、バス権を解放するとともに、デバッグ回路５２からのコマンド待ちの状態となる。その後デバッガソフトウェア４５からの指示に応じて、命令設定制御部６２が、命令レジスタ６８に任意の命令を設定する。更に、デバッガソフトウェア４５からの指示に応じて、命令供給制御部６３が、デバッグコマンド開始指示をスプリットトランザクション制御部６９に与える（Ｓ３でＹＥＳ）。供給された命令がデバッグコマンド開始アドレスへの分岐命令である場合（Ｓ５でＹＥＳ）、ＣＰＵ５１は、デバッグコマンド開始アドレスに分岐し（Ｓ６）、デバッグコマンドを実行する（Ｓ７）。デバッグコマンドの終了処理として、ＣＰＵ５１は命令レジスタ６８へ分岐する（Ｓ２）。また供給された命令がブレークリターン命令である場合（Ｓ５でＮＯ）、ＣＰＵ５１はブレークリターン命令を実行し（Ｓ８）、通常のユーザプログラムの実行を開始する。
【００４８】
図１４は、リセット解除時にデバッグが有効である場合の命令実行の流れを説明する図である。リセット解除されデバッグが有効である場合、命令レジスタへの分岐１１０が発生する。命令レジスタへの命令フェッチ要求に対して、デバッグ回路５２の命令転送制御部６１が応答準備中を通知するので、ＣＰＵ５１は命令フェッチをすることなく、バス権を解放してウェイト状態となる。その後デバッグ回路５２の命令転送制御部６１が応答準備完了を通知すると、ＣＰＵ５１は命令フェッチを行ない、ＣＰＵ５１による命令レジスタ内のコマンドの実行１１１が行なわれる。命令レジスタ内のコマンドがデバッグコマンド開始指示命令である場合には、デバッグコマンド開始アドレスへの分岐１１２が発生し、ＣＰＵ５１によるデバッグコマンドの実行１１３が行なわれる。デバッグコマンドの実行１１３が終了すると、命令レジスタへの分岐（リターン）１１４が発生する。命令レジスタ内のコマンドがブレークリターン命令である場合には、ブレークリターンによる復帰１１５が発生し、ユーザプログラムの実行１１６が行なわれる。
【００４９】
図１５は、リセット解除時のデバッグコマンド制御の変形例の処理の流れを示すフローチャートである。この処理は図９に示すデバッグシステム４０により実行される。ＣＰＵ５１は、リセット解除時にデバッグが有効でない場合（Ｓ１でＮＯ）、通常のユーザプログラムの実行を開始する。リセット解除時にデバッグが有効である場合（Ｓ１でＹＥＳ）、ＣＰＵ５１は、デバッグ回路５２の命令レジスタ６８へ分岐する（Ｓ２）。命令レジスタ６８には初期状態においてデバッグ専用メモリ９４中の所定のアドレスへの分岐命令が格納されており、この所定のアドレスには擬似オンザフライ処理用デバッグコマンドが格納されている。コマンドウェイト設定が有効でない場合（Ｓ３でＮＯ）、ＣＰＵ５１は命令レジスタ６８の命令を直ちに読み出して、擬似オンザフライ処理用デバッグコマンド開始アドレスへ分岐する（Ｓ４）。ＣＰＵ５１は、擬似オンザフライ処理用デバッグコマンドの実行において、まず最初にブレーク要因フラグが設定されているか否かを検出する（Ｓ５）。ブレーク要因フラグが設定されていない場合（Ｓ５でＮＯ）、通常のブレークではなくリセット直後であることを示し、ＣＰＵ５１はリセット用デバッグコマンドに分岐し（Ｓ６）、リセット用デバッグコマンドを実行する（Ｓ７）。ＣＰＵ５１は、コマンドの終了処理としてブレークリターン命令を実行し（Ｓ１６）、ユーザプログラムの実行を開始する。
【００５０】
ブレーク要因フラグが設定されている場合（Ｓ５でＹＥＳ）、リセット直後ではなく通常のブレークであることを示し、ＣＰＵ５１はブレーク要因を確認する（Ｓ８）。ブレーク要因が擬似オンザフライブレークである場合（Ｓ８でＹＥＳ）、ＣＰＵ５１はそのまま擬似オンザフライ処理用のデバッグコマンドを実行する（Ｓ９）。ブレーク要因が擬似オンザフライブレークではない場合（Ｓ８でＮＯ）、ＣＰＵ５１は再度命令レジスタ６８へ分岐する（Ｓ１０）。以降の処理手順は、図１０の処理手順と同様であるので説明を省略する。
【００５１】
図１６は、コマンドウェイト設定を無効としたときのリセット解除時の命令実行の流れの一例を説明する図である。リセット解除されデバッグが有効である場合、命令レジスタへの分岐１２０が発生する。コマンドウェイト設定が無効であるので、ＣＰＵ５１により命令レジスタ６８内の命令が直ちに読み出され、命令レジスタ内のコマンドの実行１２１が行なわれる。命令レジスタ内のコマンドは疑似オンザフライ開始アドレスへの分岐命令であるので、疑似オンザフライ開始アドレスへの分岐１２２が発生する。疑似オンザフライ用デバックコマンドの実行において、ブレーク要因フラグの設定の有無によりリセット発生の有無を判断する。リセット発生と判断すると、リセット用デバッグコマンドへの分岐１２３が発生し、ＣＰＵ５１によるリセット用デバッグコマンドの実行１２４が行なわれる。リセット用デバッグコマンドの実行１２４が終了すると、ブレークリターンによる復帰１２５が発生し、ユーザプログラムの実行が開始される。なおリセット直後でない場合には、疑似オンザフライ用デバックコマンドの実行中の判断において、ブレーク要因フラグに何れかのブレーク要因を検出する。この場合の処理は、図１１及び図１２で説明した手順の処理と同様となる。
【００５２】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【００５３】
なお本願発明は、以下の内容を含むものである。
（付記１）
バスと、
ユーザプログラムを実行する処理ユニットと、
前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して命令レジスタ内の命令を転送する、前記バスに接続されたデバッグ回路と、
を含み、前記処理ユニットが前記ユーザプログラムの実行を中断して前記命令転送要求を前記デバッグ回路に対して行なうと、前記デバッグ回路は、前記命令転送要求と命令転送動作との間の期間において前記バスの使用権を前記処理ユニットから解放させる応答を行なうことを特徴とする集積回路。
（付記２）
前記バスに接続され前記ユーザプログラムを格納するメモリを更に含み、前記デバッグ回路は外部からの制御に応じて前記バスを介して前記メモリにアクセスする機能を有することを特徴とする付記１記載の集積回路。
（付記３）
前記デバッグ回路による前記応答は応答準備中を示す応答であることを特徴とする付記１又は２に記載の集積回路。
（付記４）
前記デバッグ回路は、前記応答をした後に外部から前記命令レジスタに所望の命令が格納され、実行指示されると、命令転送準備が完了した旨を示す信号を送出することを特徴とする付記１乃至３の何れか一項記載の集積回路。
（付記５）
前記処理ユニットは、前記命令転送準備が完了した旨を示す信号が前記デバッグ回路から送出されると、前記バスの使用権を獲得して前記バスを介して前記命令を前記デバッグ回路から読み出すことを特徴とする付記１乃至４の何れか一項記載の集積回路。
（付記６）
前記デバッグ回路は前記応答を行なう第１の動作モードと前記応答を行なわない第２の動作モードとの何れかに設定可能であり、前記デバッグ回路の前記命令レジスタには初期状態において所定のアドレスへの分岐命令が格納されており、前記第２の動作モードに設定されている場合には、前記命令転送要求に応答して直ちに前記所定のアドレスへの分岐命令を前記処理ユニットに転送することを特徴とする付記１乃至５の何れか一項記載の集積回路。
（付記７）
前記処理ユニットが前記所定のアドレスへの分岐命令及び前記所定のアドレスから始まる命令の実行を終了してから前記命令転送要求を前記デバッグ回路に発行した場合、前記デバッグ回路は、前記第２の動作モードに設定されている場合であっても前記応答を行なうことを特徴とする付記６記載の集積回路。
（付記８）
ユーザプログラムを実行する処理ユニットにバスを介して接続されるデバッグ回路であって、
命令を格納する命令レジスタと、
前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して前記命令を転送する制御回路と
を含み、前記制御回路は、前記ユーザプログラムの実行を中断した前記処理ユニットから前記命令転送要求を受け取ると、前記命令転送要求と命令転送動作との間の期間において前記バスの使用権を前記処理ユニットから解放させる応答を行なうことを特徴とするデバッグ回路。
（付記９）
外部からの制御に応じて前記バスを介してメモリにアクセスする機能を有することを特徴とする付記８記載のデバッグ回路。
（付記１０）
前記応答は応答準備中を示す応答であることを特徴とする付記８又は９に記載のデバッグ回路。
（付記１１）
前記制御回路は、前記応答をした後に外部から前記命令レジスタに所望の命令が格納され、実行指示されると、命令転送準備が完了した旨を示す信号を送出することを特徴とする付記８乃至１１の何れか一項記載の集積回路。
（付記１２）
バスと、ユーザプログラムを実行する処理ユニットと、前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して命令を転送する、前記バスに接続されたデバッグ回路とを含む集積回路におけるデバッグコマンド制御方法であって、
前記ユーザプログラムの実行を中断して前記処理ユニットから前記デバッグ回路に前記命令転送要求を送信し、
前記命令転送要求に応じて応答準備中を示す信号を前記デバッグ回路から送出し、
前記応答準備中を示す信号に応答して前記バスの使用権を前記処理ユニットから解放させる
各段階を含むことを特徴とするデバッグコマンド制御方法。
（付記１３）
前記デバッグ回路から命令転送準備が完了した旨を示す信号を送出し、
前記命令転送準備が完了した旨を示す信号が送出されると、前記処理ユニットにより前記バスの使用権を獲得して前記バスを介して命令を前記デバッグ回路から読み出す、
各段階を更に含むことを特徴とする付記１２に記載のデバッグコマンド制御方法。
【符号の説明】
【００５４】
４０  デバッグシステム
４１  半導体装置
４２  外部デバッグ装置
４３  ホストコンピュータ
４５  デバッガソフトウェア
５１  ＣＰＵ
５２  デバッグ回路
５３  ＲＡＭ
５４  ＲＯＭ
５５  周辺回路
５６  内部バス
【図１】
2010225094.tif 000003
【図２】
2010225094.tif 000004
【図３】
2010225094.tif 000005
【図４】
2010225094.tif 000006
【図５】
2010225094.tif 000007
【図６】
2010225094.tif 000008
【図７】
2010225094.tif 000009
【図８】
2010225094.tif 000010
【図９】
2010225094.tif 000011
【図１０】
2010225094.tif 000012
【図１１】
2010225094.tif 000013
【図１２】
2010225094.tif 000014
【図１３】
2010225094.tif 000015
【図１４】
2010225094.tif 000016
【図１５】
2010225094.tif 000017
【図１６】
2010225094.tif 000018