JP2012088839A - デバッグ装置、デバッグ方法 - Google Patents

デバッグ装置、デバッグ方法 Download PDF

Info

Publication number
JP2012088839A
JP2012088839A JP2010233596A JP2010233596A JP2012088839A JP 2012088839 A JP2012088839 A JP 2012088839A JP 2010233596 A JP2010233596 A JP 2010233596A JP 2010233596 A JP2010233596 A JP 2010233596A JP 2012088839 A JP2012088839 A JP 2012088839A
Authority
JP
Japan
Prior art keywords
address
bus
register
debugging
instruction execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2010233596A
Other languages
English (en)
Inventor
Shunji Nishimura
俊二 西村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010233596A priority Critical patent/JP2012088839A/ja
Publication of JP2012088839A publication Critical patent/JP2012088839A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】デバッグ効率を向上させるデバッグ装置、デバッグ方法を提供する。
【解決手段】デバッグ装置は、命令実行部(32)と、レジスタ(24)と、トレースメモリ(22)と、バス制御部(38)とを具備する。命令実行部(32)は、プログラムコードを実行してアクセスするアドレスをバス(IBUS/PBUS)に出力する。このプログラムコードはデバッグに使用される専用のデバッグコードを含み、命令実行部(32)はデバッグコードを実行していることを示す制御信号(ダミーリード実行信号)を出力する。レジスタ(24)は、ホスト装置(10)によって設定されるアドレスを保持する。トレースメモリ(22)は、バス(PBUS)の状態を示すデータを蓄積する。バス制御部(38)は、制御信号(DSTB)がアクティブのときに、レジスタ(24)に設定されるアドレスを命令実行部(32)が出力するアドレスの代わりに前記バスに出力する。
【選択図】図1

Description

本発明は、インサーキットエミュレータを用いてソフトウェアをデバッグするデバッグ装置、デバッグ方法に関する。
近年、半導体集積回路の大規模化に伴い、半導体集積回路に実装されている機能も複雑になり、制御するための実行プログラムは増大化の一途をたどる。その実行プログラムは、インサーキットエミュレータ等を用いてデバッグされることが多く、デバッグするための時間も増加している。その流れの中で正式にリリースされる実行プログラムそのものを用い、プログラムの実行を停めずに半導体集積回路内のリソース状態を得て、プログラム検証を行なう要求がますます強くなっている。
特開2009−157874号公報に記載の情報処理装置は、デバッグコードを含むプログラムを実行する命令実行部と、命令実行部から出力されるアクセス信号を入力し、アクセス信号に含まれる論理アドレスに基づいて外部バスにアクセスを切り替えるアクセス切替部とを備える。アクセス切替部は、デバッグ設定に基づいて、デバッグコードの実行に応じて命令実行部から出力されるアクセス信号を外部バスへアクセスするか否かを切り替える。
この装置では、確認すべきデータを読み出す命令を実行されるプログラムコードの中に予め埋め込んでおく必要がある。したがって、確認すべきデータが格納されているアドレスを変えるときには、実行されるプログラムコードの中に埋め込まれている確認すべきデータを読み出す命令を書き換える必要がある。すなわち、確認すべきデータが格納されているアドレスを変えるたびに実行されるプログラムコードの入れ替えが発生する。
特開2009−157874号公報
本発明は、デバッグ効率を向上させるデバッグ装置、デバッグ方法を提供する。
以下に、[発明を実施するための形態]で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の観点では、デバッグ装置は、命令実行部(32)と、レジスタ(24)と、トレースメモリ(22)と、バス制御部(38)とを具備する。命令実行部(32)は、プログラムコードを実行してアクセスするアドレスをバス(IBUS/PBUS)に出力する。このプログラムコードはデバッグに使用される専用のデバッグコードを含み、命令実行部(32)はデバッグコードを実行していることを示す制御信号(ダミーリード実行信号)を出力する。レジスタ(24)は、ホスト装置(10)によって設定されるアドレスを保持する。トレースメモリ(22)は、バス(PBUS)の状態を示すデータを蓄積する。バス制御部(38)は、制御信号(DSTB)がアクティブのときに、レジスタ(24)に設定されるアドレスを命令実行部(32)が出力するアドレスの代わりに前記バスに出力する。
本発明の他の観点では、デバッグ方法は、デバッグに使用される専用のデバッグコードを含むプログラムコードを実行してアクセスするアドレスを命令実行部(32)からバス(IBUS/PBUS)に出力するステップと、デバッグコードを実行していることを示す制御信号(ダミーリード実行信号)を出力するステップと、ホスト装置(10)によってアドレスをレジスタ(24)に設定するステップと、バス(PBUS)の状態を示すデータをトレースメモリ(22)に蓄積するステップと、制御信号(DSTB)がアクティブのときにレジスタ(24)に設定されるアドレスを命令実行部(32)から出力されるアドレスの代わりにバス(PBUS)に出力するステップとを具備する。
本発明によれば、デバッグ効率を向上させるデバッグ装置、デバッグ方法を提供することができる。
本発明の実施の形態に係るデバッグシステム、デバッグ装置の構成を示す図である。 アドレス切り替えを説明する図である。 ライト命令実行時の信号を示すタイミング図である。 リード命令、ダミーリード命令実行時の信号を示すタイミング図である。 デバッグ用アドレスレジスタの設定変更時の信号を示すタイミング図である。
図面を参照して本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係るデバッグシステム及びデバッグ装置の構成を示す図である。デバッグシステムは、デバッグ装置20と、ホスト装置10とを具備する。デバッグ装置20は、デバッグされる実行プログラム(ユーザプログラム)を実行する。デバッグ装置20は、デバッガ等のデバッグ用ソフトウェア(以降、デバッガと称す)が実装されるホスト装置10に接続される。
ホスト装置10は、デバッグ装置20のホストIF部26と接続され、ホストIF部26を介してデバッガからの指示をデバッグ装置20に送り、デバッグ装置20からの応答を受け取る。デバッガは、受け取った応答内容を整えてデバッグするユーザに提示する。ホスト装置10は、パーソナルコンピュータ等に例示される情報処理装置であり、マンマシンインタフェースとして表示装置、キーボードやマウス等の入力装置、データを蓄積する記憶装置等を有する。
デバッグ装置20は、CPU30、トレースメモリ22、ホストIF部26、デバッグ用アドレスレジスタ24を具備する。CPU30は、命令実行部32、バスコントロールユニット(BCU)34、周辺マクロ・内部メモリ部36、周辺バス制御部38を備える。デバッグ装置20は、通常の実行命令に加え、デバッグ用の命令を備える。ここでは、デバッグ用の命令の1つをダミーリード命令と称する。
ホストIF部26は、ホスト装置10上で動作するデバッガからの指示をデバッグ装置20に伝え、その指示に対するデバッグ装置10からの応答をデバッガ(ホスト装置10)に伝える。また、ホストIF部26は、トレースメモリ22に蓄積されたトレースデータを読み出してデバッガ(ホスト装置10)に転送する。さらに、ホストIF部26は、デバッグ用アドレスレジスタ24にデバッガ(ホスト装置10)から指示されたアドレスを書き込む。
命令実行部32は、バスコントロールユニット34を介して内部バスIBUSに接続され、アドレスの設定、データの読み書きを行う。命令実行部32は、周辺マクロ・内部メモリ部36及びレースメモリ22に対してリードストローブRSTB、ライトストローブWSTBを出力する。命令実行部32は、プログラムの実行に伴って、読み出し動作のときにリードストローブRSTB、書き込み動作のときライトストローブWSTBをアクティブにする。また、命令実行部32は、周辺バス制御部38及びトレースメモリ22に対してダミーリード実行信号DSTBを出力する。デバッグ用の命令であるダミーリード命令が実行されているとき、命令実行部32はダミーリード実行信号DSTBをアクティブにする。
バスコントロールユニット(BCU)34は、命令実行部32がリード命令を実行するとき、その読み出し対象のアドレスを内部バスIBUSに出力する。バスコントロールユニット34は、リード命令に応答して周辺マクロ・内部メモリ部36から周辺バス制御部38を介して内部バスIBUSに出力されるデータを取り込んで命令実行部32に渡す。命令実行部32がライト命令を実行するとき、バスコントロールユニット(BCU)34は、書き込み対象のアドレスおよび書き込みデータを内部バスIBUSに出力する。周辺マクロ・内部メモリ部36は、ライト命令に応答してバス上に出力されたデータを指定されるアドレスに書き込む。
周辺マクロ・内部メモリ部36は、リードストローブRSTB、ライトストローブWSTBに応答して、接続される周辺バスPBUSによって設定されるアドレスに対するデータの読み書きを行う。
周辺バス制御部38は、内部バスIBUSと周辺バスPBUSとを接続する。ダミーリード実行信号DSTBがアクティブのとき、すなわちダミーリード命令が実行されているときは、周辺バス制御部38は、内部バスIBUSに示されるアドレスの代わりにデバッグ用アドレスレジスタ24に設定されているアドレスを周辺バスPBUSに出力する。周辺バス制御部38は、図2に示されるように、入力側に内部バスIBUS及びデバッグ用アドレスレジスタ24が接続され、出力側に周辺バスPBUSが接続される選択回路39を備える。ダミーリード実行信号DSTBがインアクティブのとき、すなわち通常の命令を実行するときは内部バスIBUSのアドレスを選択して周辺バスPBUSに出力する。ダミーリード実行信号DSTBがアクティブのとき、選択回路39は、デバッグ用アドレスレジスタ24が出力するアドレス情報信号ADRを選択して周辺バスPBUSに出力する。
デバッグ用アドレスレジスタ24は、ホストIF部26を介してホスト装置10から指示されるアドレス情報を保持し、周辺バス制御部38に供給する。また、デバッグ用アドレスレジスタ24の内容が書き換わるとき(同じデータが書き込まれるときも含む)、デバッグ用アドレスレジスタ24は、デバッグ用アドレス設定信号SETADをアクティブにしてトレースメモリ22に不正なデータが蓄積されることを防止する。このとき、デバッグ用アドレス設定信号SETADがアクティブであることを示す所定の値をトレースメモリ22に格納することが好ましい。
トレースメモリ22は、CPU30がユーザプログラムを実行するときのアドレスやデータを蓄積する。すなわち、トレースメモリ22は、リードストローブRSTB、ライトストローブWSTBに応答して、周辺バスPBUSの状態及びダミーリード実行信号DSTBの状態をトレースデータとして取り込んで蓄積する。また、デバッグ用アドレス設定信号SETADがアクティブのときにダミーリード命令が実行されると、トレースメモリ22は、デバッグ用アドレスレジスタ24が書き換え中であることを示すデータを格納し、不正なデータが保持されることを防止する。蓄積されたトレースデータは、ホスト装置10の読み出し指示信号RDMDに基づいてトレースデータ信号TDRとして読み出され、ホストIF部26を介してホスト装置10に送られる。ホスト装置10上のデバッガは、ホストIF部26を介してトレースメモリ22に蓄積されたデータを読み出し、ユーザプログラムの実行履歴としてアクセスアドレスおよびデータを表示する。
デバッグ用アドレスレジスタ24は、ユーザプログラム実行中に確認対象となるアドレスを保持するレジスタである。ユーザは、ホスト装置10上のデバッガを操作し、ホストIF部26を経由してデバッグ用アドレスレジスタ24に任意のアドレスを設定する。設定が行われている期間は、デバッグ用アドレス設定信号SETADがアクティブになる。すなわち、図5に示されるように、タイミングTaにおいて、ホスト装置10からアドレス設定の指示があると、ホストIF部26はデバッグ用アドレスレジスタ24に設定信号ADRin(設定値:AD1)を供給し(図5(c))、デバッグ用アドレスレジスタ24は設定値AD1を設定するとともにデバッグ用アドレス設定信号SETADをアクティブにする(図5(e))。
命令実行部32がダミーリード命令を実行してダミーリード実行信号DTSBがアクティブになっているタイミングTbにおいて、ホスト装置10からアドレス設定の指示があると、ホストIF部26はデバッグ用アドレスレジスタ24に設定信号ADRin(設定値:AD2)を供給する(図5(c))。このとき、デバッグ用アドレスレジスタ24はダミーリード命令実行後すなわちダミーリード実行信号DTSBがインアクティブになってからタイミングTcに設定値AD2を設定するとともにデバッグ用アドレス設定信号SETADをアクティブにする(図5(e))。
また、デバッグ用アドレスレジスタ24が設定変更中であるタイミングTdにダミーリード命令が実行されると次のように動作する。ホスト装置10からアドレス設定の指示によって、ホストIF部26がデバッグ用アドレスレジスタ24に設定信号ADRin(設定値:AD3)を供給し(図5(c))、デバッグ用アドレスレジスタ24は設定値AD3を設定しデバッグ用アドレス設定信号SETADをアクティブ(図5(e))にする(タイミングTd)。ダミーリード実行信号DSTBがアクティブになると、ダミーリード命令の実行が完了してダミーリード実行信号DSTBがインアクティブになるまで(タイミングTe)、デバッグ用アドレス設定信号SETADをアクティブにしてトレースメモリ22が誤動作を防止する。このとき、周辺バス制御部38は、周辺マクロ・内部メモリ部36にリードアクセスがあっても影響がないように、所定の値(例えば、デバッグ用アドレスレジスタ24の初期値)を出力する。
デバッグ用アドレスレジスタ24の初期値は、例えば、0xFFFF番地のように、任意の周辺マクロ・内部メモリ部36のアドレスに設定される。なお、“0x”は16進数表記を示す。また、デバッグ用アドレスレジスタ24は、複数持つことが可能であり、複数の確認対象アドレスに対して履歴を残すことが可能である。その場合、複数の対象アドレスのそれぞれに対応するダミーリード命令が用意されることが好ましい。
ライト命令を実行するとき、命令実行部32は、図3に示されるように、バスコントロールユニット34を介して内部バスIBUSに対して書き込みのアドレス(IBUS_AD)を出力し(図3(a))、ライトストローブWSTBをアクティブにする(図3(c))。周辺バス制御部38は、内部バスIBUSの状態を周辺バスPBUSに反映させ、周辺マクロ・内部メモリ部36に出力する(図3(d))。周辺マクロ・内部メモリ部36は、周辺バスPBUSに指定された書き込みアドレスにデータを書き込む。このとき、トレースメモリ22は、周辺バスPBUSの状態を取り込んで蓄積する。
また、リード命令を実行するとき、命令実行部32は、図4に示されるように、内部バスIBUSにアドレス情報(IBUS_AD:図4(a))を設定し、リードストローブRSTB(図4(c))をアクティブにする。周辺バス制御部38は、内部バスIBUSのアドレス情報を周辺バスPBUS(図4(e))に出力し、周辺マクロ・内部メモリ部36に示す。周辺マクロ・内部メモリ部36は、示されたアドレス情報に基づいて該当するデータを周辺バスPBUSに出力する。命令実行部32は、周辺バス制御部38、バスコントロールユニット34を介して出力されたデータを取り込む。このとき、トレースメモリ22は、周辺バスPBUSの状態を取り込んで蓄積する。また、命令実行部32は、リード命令を実行するときと同じシーケンスにしたがって実行すべき命令コードをフェッチするため、トレースメモリ22は、命令コードのフェッチの状態も蓄積することができる。
ここで、デバッグ装置20のCPU30は、命令コードとして、通常処理の命令コードのほかに、デバッグ用のダミーリード命令と称する命令コードを有する。ダミーリード命令の場合、通常のリード命令と同じように、命令実行部32は、内部バスIBUSにアドレス情報(IBUS_AD:図4(a))を設定し、リードストローブRSTB(図4(c))をアクティブにする。さらに、命令実行部32は、ダミーリード実行信号DSTBをアクティブにし、周辺バス制御部38およびトレースメモリ22にダミーリード命令を実行していることを示す。このときの命令実行部32から出力されるアドレス情報は、実効的に使用されないため、予め定められた値でも、その前に出力していたアドレス情報でもよい。
周辺バス制御部38は、内部バスIBUSに出力されたアドレス情報(IBUS_AD)の代わりに、デバッグ用アドレスレジスタ24が出力するアドレス情報信号ADRに基づくアドレス情報(ADR_AD)を周辺バスPBUSに出力する(図4(e))。周辺マクロ・内部メモリ部36は、示されたアドレス情報に基づいて、該当するデータを周辺バスPBUSに出力する。実行されている命令がダミーリード命令であるため、命令実行部32は、周辺バスPBUSに出力されたデータを無視する。トレースメモリ22は、周辺バスPBUSの状態を取り込み、実行履歴として蓄積する。
このように、ダミーリード命令は、周辺マクロ・内部メモリ部36にとっては通常のリード命令と変わらず、命令実行部32の内部では読み出したデータを参照せず、命令実行部32の内部状態に影響を与えない。すなわち、ダミーリード命令によってトレースメモリ22は、命令実行部32に影響を与えずに周辺マクロ・内部メモリ部36の指定されたアドレスに対応するデータを蓄積することができる。そのアドレスは、デバッグ用アドレスレジスタ24に設定されているため、ホスト装置10によってデバッグ用アドレスレジスタ24の設定値を変えることにより、自由に設定することができる。
ダミーリード命令を使ったユーザプログラム例およびトレースメモリ22に蓄積されたデータの表示例を以下に示す。ここでは、デバッグ用アドレスレジスタ24にアドレスとして0xFF00番地を設定した場合を示す。
〔ユーザプログラム記載例〕
LOOP:NOP ;No Operation
DummyRead ;追加したダミーリード命令
BR !LOOP ;Branch To LOOP
〔トレースメモリ22に蓄積されたデータの表示例〕
LN EX ST ADDR Data Inst
−−+−−+−−+−−−−+−−−−−−−+−−−−−−−−−−−−−−
10 0 F 0100 00 LOOP:NOP
11 1 R FF00 01 DummyRead
12 0 F 0102 FE0100 BR !LOOP
13 0 F 0100 00 LOOP:NOP
14 1 R FF00 03 DummyRead
15 0 F 0102 FE0100 BR !LOOP
16 0 F 0100 00 LOOP:NOP
17 1 R FF00 05 DummyRead
18 0 F 0102 FE0100 BR !LOOP
ここで、“LN”部分は、トレース表示時のライン番号を示す。“EX”部分は、ダミーリード命令を実行したときのステータスを示し、ダミーリード命令実行時には“1”になる。“ST”部分は、アクセス状態を示しており、“F”が命令フェッチ、“R”がリード、“W”がライトを示す。“ADDR”部分は、実行アドレスであり、ダミーリード命令実行時にはデバッグ用アドレスレジスタ24の設定データがアドレスとして示される。“Data”部分は、CPU30が命令フェッチ、あるいはリード/ライトするときの周辺バスPBUS上に示されるデータを示し、ダミーリード命令の実行時はデバッグ用アドレスレジスタ24に設定される周辺マクロ・内部メモリ部36のアドレスを示すデータとなる。“Inst”部分は、実行される命令を示す。
上記のユーザプログラム記載例として記載されたダミーリード命令は、デバッグのための専用命令であり、ユーザプログラムがデバッグではなく実働システムに組み込まれて動作する場合には、リードストローブRSTB、ダミーリード実行信号SDTBがアクティブになるだけであり、半導体集積回路外部に影響を与えるような信号出力等はない。
次に、上記ユーザプログラム記載例の実行中に、デバッグ用アドレスレジスタ24の設定を変更した場合のトレース結果例を以下に示す。この例では、デバッグ用アドレスレジスタ24の設定データは、0xFF00番地から0xFF10番地に変更される。その変更設定の最中にダミーリード命令が実行された例を示す。
〔デバッグ用アドレスレジスタ24の設定を変更した場合〕
LN EX ST ADDR Data Inst
−−+−−+−−+−−−−+−−−−−−−+−−−−−−−−−−−−−−
20 0 F 0100 00 LOOP:NOP
21 1 R FF00 01 DummyRead
22 0 F 0102 FE0100 BR !LOOP
23 0 F 0100 00 LOOP:NOP
24 1 R XXXX XX DummyRead
25 0 F 0102 FE0100 BR !LOOP
26 0 F 0100 00 LOOP:NOP
27 1 R FF10 AB DummyRead
28 0 F 0102 FE0100 BR !LOOP
上記例では、24行目でデバッグ用アドレスレジスタ24の設定が変更されている。ダミーリード命令を実行したときのステータスが“1”であるが、設定変更中のためにトレースメモリ22には周辺バスPBUSの状態は格納されず、XX表示になることが示される。デバッグ用アドレスレジスタ24が変更された後、27行目でダミーリード命令を実行したときには、リードされるアドレスが0xFF10番地になり、そのアドレスに対応するデータがリードされたことを示す。
このように、確認すべきデータのアドレスがデバッグ用アドレスレジスタに格納されているため、確認すべきデータを変更する場合にはこのレジスタの値を変更するだけで良い。したがって、ユーザプログラムを変更せずに所望のアドレスのデータを読み出すことができる。
また、挿入されるダミーリード命令の位置を変える必要がなければ、ユーザプログラムの変更を行うこともなく、ユーザプログラムを入れ替えずにデバッグをすることができる。さらに、ダミーリード命令を挿入するだけで確認すべきデータの取得ができるため、デバッグ用に追加される命令コードは最小限で済む。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
10 ホスト装置
20 デバッグ装置
22 トレースメモリ
24 デバッグ用アドレスレジスタ
26 ホストIF部
30 CPU
32 命令実行部
34 バスコントロールユニット
36 周辺マクロ・内部メモリ部
38 周辺バス制御部
39 選択回路

Claims (13)

  1. プログラムコードを実行してアクセスするアドレスをバスに出力する命令実行部と、前記プログラムコードはデバッグに使用される専用のデバッグコードを含み、前記命令実行部は前記デバッグコードを実行していることを示す制御信号を出力し、
    ホスト装置によって設定されるアドレスを保持するレジスタと、
    前記バスの状態を示すデータを蓄積するトレースメモリと、
    前記制御信号がアクティブのときに、前記レジスタに設定されるアドレスを前記命令実行部が出力するアドレスの代わりに前記バスに出力するバス制御部と
    を具備する
    デバッグ装置。
  2. 前記バス制御部は、前記命令実行部から出力されるアドレスと、前記レジスタから出力されるアドレスとを入力し、前記制御信号がアクティブのときに前記レジスタから出力されるアドレスを選択して前記バスに出力する選択回路を備える
    請求項1に記載のデバッグ装置。
  3. 前記レジスタは複数のアドレスを保持し、前記命令実行部が前記デバッグコードを実行するときに前記複数のアドレスのうちの対応するアドレスを出力する
    請求項1または請求項2に記載のデバッグ装置。
  4. 前記トレースメモリは、前記制御信号の状態を前記バスの状態を示すデータとともに蓄積し、前記命令実行部が前記デバッグコードを実行しているときのデータであることを示す
    請求項1から請求項3のいずれかに記載のデバッグ装置。
  5. 前記ホスト装置が前記レジスタに値を設定しているとき、前記デバッグコードが実行されると、前記トレースメモリは前記バスの状態を示すデータの代わりに所定の値を格納する
    請求項1から請求項4のいずれかに記載のデバッグ装置。
  6. 前記ホスト装置が前記レジスタに値を設定しているとき、前記デバッグコードが実行されると、前記バス制御部は所定の値をアドレスとして前記バスに出力する
    請求項1から請求項5のいずれかに記載のデバッグ装置。
  7. 前記ホスト装置は、前記命令実行部の実行状態にかかわらずに前記レジスタに所望のアドレスを設定する
    請求項1から請求項6のいずれかに記載のデバッグ装置。
  8. プログラムコードを実行してアクセスするアドレスを命令実行部からバスに出力するステップと、
    前記プログラムコードはデバッグに使用される専用のデバッグコードを含み、前記デバッグコードを実行していることを示す制御信号を出力するステップと、
    ホスト装置によってアドレスをレジスタに設定するステップと、
    前記バスの状態を示すデータをトレースメモリに蓄積するステップと、
    前記制御信号がアクティブのときに前記レジスタに設定されるアドレスを前記命令実行部から出力されるアドレスの代わりに前記バスに出力するステップと
    を具備する
    デバッグ方法。
  9. 前記代わりに前記バスに出力するステップは、前記命令実行部から出力されるアドレスと、前記レジスタから出力されるアドレスとを入力する選択回路によって、前記制御信号がアクティブのときに前記レジスタから出力されるアドレスを選択して前記バスに出力するステップを備える
    請求項8に記載のデバッグ方法。
  10. レジスタに設定するステップは、
    前記レジスタが複数のアドレスを保持するステップと、
    前記命令実行部が前記デバッグコードを実行するときに前記複数のアドレスのうちの対応するアドレスを出力するステップと
    を備える
    請求項8または請求項9に記載のデバッグ方法。
  11. トレースメモリに蓄積するステップは、前記制御信号の状態を前記バスの状態を示すデータとともに前記トレースメモリに蓄積するステップを備え、
    前記命令実行部が前記デバッグコードを実行しているときのデータであることを示す
    請求項8から請求項10のいずれかに記載のデバッグ方法。
  12. トレースメモリに蓄積するステップは、前記ホスト装置が前記レジスタに値を設定しているとき、前記デバッグコードが実行されると、前記バスの状態を示すデータの代わりに所定の値を前記トレースメモリに格納するステップを備える
    請求項8から請求項11のいずれかに記載のデバッグ方法。
  13. 代わりに前記バスに出力するステップは、前記ホスト装置が前記レジスタに値を設定しているとき、前記デバッグコードが実行されると、前記バス制御部は所定の値をアドレスとして前記バスに出力するステップを備える
    請求項8から請求項12のいずれかに記載のデバッグ方法。
JP2010233596A 2010-10-18 2010-10-18 デバッグ装置、デバッグ方法 Withdrawn JP2012088839A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010233596A JP2012088839A (ja) 2010-10-18 2010-10-18 デバッグ装置、デバッグ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010233596A JP2012088839A (ja) 2010-10-18 2010-10-18 デバッグ装置、デバッグ方法

Publications (1)

Publication Number Publication Date
JP2012088839A true JP2012088839A (ja) 2012-05-10

Family

ID=46260413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010233596A Withdrawn JP2012088839A (ja) 2010-10-18 2010-10-18 デバッグ装置、デバッグ方法

Country Status (1)

Country Link
JP (1) JP2012088839A (ja)

Similar Documents

Publication Publication Date Title
JP3846939B2 (ja) データプロセッサ
US8261130B2 (en) Program code trace signature
JP4225851B2 (ja) データ処理装置用トレース要素生成システム
US6915416B2 (en) Apparatus and method for microcontroller debugging
US6857083B2 (en) Method and system for triggering a debugging unit
JPH09218803A (ja) データプロセッサ
JPH09114697A (ja) データプロセッサ
JPH09128265A (ja) データ処理システム
JP2010541067A (ja) デバッグイベントを監視するためのシステム及び方法
US20080016415A1 (en) Evaluation system and method
JP2008139908A (ja) メモリ制御装置、コンピュータシステム及びデータ再生記録装置
US11625316B2 (en) Checksum generation
JP2007310565A (ja) システムlsi検証装置及びシステムlsi検証プログラム
JPH09218801A (ja) データプロセッサ
US20060259750A1 (en) Selectively embedding event-generating instructions
JP3652956B2 (ja) エミュレーション装置
JP2012088839A (ja) デバッグ装置、デバッグ方法
JP2006221606A (ja) データプロセッサ
JP2006331391A (ja) データ処理装置及びデータ処理方法
US7886194B2 (en) Event-generating instructions
US10754743B2 (en) Apparatus and method using debug status storage element
WO2022235265A1 (en) Debug channel for communication between a processor and an external debug host
JP2008140124A (ja) データ処理装置
JP5850732B2 (ja) 半導体装置及びその制御方法
JP2007213415A (ja) メモリ装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140107