JP2003076578A - マイクロコンピュータ及びデバッグシステム並びにトレース情報収集方法 - Google Patents

マイクロコンピュータ及びデバッグシステム並びにトレース情報収集方法

Info

Publication number
JP2003076578A
JP2003076578A JP2001266245A JP2001266245A JP2003076578A JP 2003076578 A JP2003076578 A JP 2003076578A JP 2001266245 A JP2001266245 A JP 2001266245A JP 2001266245 A JP2001266245 A JP 2001266245A JP 2003076578 A JP2003076578 A JP 2003076578A
Authority
JP
Japan
Prior art keywords
trace information
trace
information
microcomputer
output
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
JP2001266245A
Other languages
English (en)
Inventor
Osamu Yamamoto
治 山本
Shunichi Iwata
俊一 岩田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2001266245A priority Critical patent/JP2003076578A/ja
Priority to US10/193,325 priority patent/US6961872B2/en
Publication of JP2003076578A publication Critical patent/JP2003076578A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 分岐が連続した場合などにトレース情報を出
力しきれない、いわゆる取りこぼしが発生して、プログ
ラムのリアルタイムトレースに支障をきたす場合がある
という課題があった。 【解決手段】 所定の繰り返し回数で、予め設定したサ
ンプリング期間における評価対象プログラムの各実行過
程のトレース情報を生成し収集する収集手段と、各回ご
とにトレース情報を出力する出力手段と、収集手段によ
る繰り返し収集の全てが終了した時点で、出力手段がサ
ンプリング期間内で収集されるべき全てのトレース情報
を出力するように、各回ごとに収集したトレース情報の
うちいずれかを消去する間引き手段とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は実使用環境下でデ
バッグを行う場合に有効なマイクロコンピュータに係
り、特にデバッグにおけるトレース情報を所定の間隔で
間引きながら複数回採取するマイクロコンピュータ及び
これのデバッグを制御するデバッグシステム並びにその
トレース情報収集方法に関するものである。
【0002】
【従来の技術】マイクロコンピュータシステムを開発す
る際、その動作確認やソフトウェアのバグ修正は、一般
的にICE(In−Circuit Emulato
r)などのデバッグツールを用いた開発支援装置、いわ
ゆるデバッガによって行われる。このICEには、開発
しようとするCPUやプログラムメモリを代行し、プロ
グラム及びハードウェアのデバッグを効率よく行うため
の諸機能が具備されている。例えば、実際の時間で実行
状態を確かめるリアルタイムトレース機能、任意のアド
レスで実行を止めるブレーク機能、シングルステップ機
能、レジスタへのデータの設定などの機能がある。
【0003】また、ICEは開発したプログラムをマイ
クロコンピュータシステム上のメモリの代わりに自己が
有するメモリ上に置き、該プログラムの動作確認が行え
るマッピングメモリ機能を持っている。このため、開発
したプログラムを、ICE本体と評価対象のシステムと
で実行させながら、プログラム及びハードウェアのデバ
ッグを行うことができ、効率のよいデバッグ作業が可能
である。
【0004】しかしながら、マイクロコンピュータの動
作周波数の高速化や、LSIの高集積化技術の進歩に伴
ってCPU、メモリ、及び周辺機能ブロックが1つのチ
ップに格納される場合が多くなったことで、上記ICE
を含んでなるデバッガの使用に様々な不具合が生じてい
る。
【0005】具体的に説明すると、例えばマイクロコン
ピュータの動作周波数が上がると、ICE本体と評価対
象のマイクロコンピュータとの間の信号伝送における遅
延によってリアルタイムトレースに支障をきたすことが
ある。特に、ICE本体と評価対象のマイクロコンピュ
ータとを結ぶ経路や、ICEがマイクロコンピュータか
ら読み込んだトレース情報を格納するバッファにおいて
の信号遅延が大きく影響を与える。このため、CPUに
よる外部バスのアクセスを、実際のマイクロコンピュー
タが動作するクロック周波数でモニタするリアルタイム
トレースが困難になってきている。
【0006】また、LSIの高集積化技術の進歩に伴っ
たマイクロコンピュータの小型化や多様化は、ICE本
体と評価対象のマイクロコンピュータを実装したプリン
ト基板とを結ぶプローブの価格に影響を与えている。例
えば、同じアーキテクチャのマイクロコンピュータであ
っても、周辺機能を実現する回路が異なれば端子数や回
路配置なども異なり、これに応じたプローブを開発する
必要がある。さらに、マイクロコンピュータの小型化に
よって、上記プローブの接続に高価なアダプタを使用せ
ざるを得ず、コスト的に問題があった。
【0007】上記不具合を解消する技術として、マイク
ロコンピュータ自身にデバッグ機能を組み込み、専用の
デバッグ端子を介してデバッガとデバッグに関する情報
を送受するデバッグシステムが開発されている。例え
ば、JTAG(Joint Test Action
Group)対応のマイクロコンピュータにデバッグ機
能を組み込んだものが挙げられる。
【0008】JTAG対応マイクロコンピュータでは、
内部論理回路と各端子との間に、セルというシフトレジ
スタが配置されており、ここを通過する信号を監視した
り、任意データを注入したりすることができる。従っ
て、セルが従来のテスト法におけるテストプローブと等
価な働きをする。
【0009】図14は上述したようなJTAG対応のマ
イクロコンピュータにデバッグ機能を組み込んだ従来の
デバッグシステムの構成を概略的に示す図である。図に
おいて、100はデバッグツール101を制御するホス
トコンピュータで、デバッグに関する諸設定を行うこと
ができ、設定された情報をデバッグツール101に送信
する。101はデバッグツールであって、JTAGに対
応したデバッグ専用端子を介してデバッグ機能内蔵マイ
クロコンピュータ103との間でデバッグに関する情報
やトレース情報をやり取りする。このデバッグ専用端子
としては、IEEE 1149.1で定められたTCK
端子(クロック入力端子)、TDI端子(テスト命令コ
ード又はテストデータをシリアルに入力する端子)、T
DO端子(テスト命令コード又はテストデータをシリア
ルに出力する端子)、TMS端子(マイクロコンピュー
タ103内の評価対象の論理回路の状態遷移を制御する
テストモード選択を入力する端子)、及び、TRST端
子(マイクロコンピュータ103内の評価対象の論理回
路を非同期に初期化するテストリセット入力をする端
子)の5本のJTAGインタフェース端子がある。
【0010】この他に、デバッグ機能ブロック106か
らデバッグツール101に信号を出力する端子として、
TRCLK端子(デバッグ機能ブロック106からデバ
ッガ102にトレースクロック信号を出力するトレース
クロック端子)、TRSYNC端子(トレース情報を構
成するパケットの先頭位置を示す信号を出力するトレー
ス同期端子)、及び、TRDATA端子(トレース情報
を出力するトレース出力端子)がある。ここで、TRS
YNC端子は、電子出願の関係上、図中の記載と表記が
異なるが同一端子を指すものとする。102はデバッガ
で、ホストコンピュータ100とデバッグツール101
とからなる構成に相当する。103はデバッグ機能内蔵
マイクロコンピュータであって、CPU104やメモリ
及び周辺機能ブロック105と共に、デバッグ機能を与
えるデバッグ機能ブロック106を1チップに形成して
なる。104はマイクロコンピュータ103のCPU、
105はマイクロコンピュータ103のメモリ及び周辺
機能ブロックで、106はデバッガ102からの制御で
デバッグを実行するデバッグ機能ブロックである。
【0011】図15は図14中のデバッグ機能内蔵マイ
クロコンピュータ103の構成を示すブロック図であ
る。図において、104aはCPU104からトレース
制御部109に出力されるジャンプ要求信号で、CPU
104が実行した分岐命令に応じた分岐先アドレスを指
定する。104bはCPU104からトレース制御部1
09に出力される実行命令サイズ信号であって、前回の
分岐から実行された命令のサイズを指定する。107は
JTAGインタフェースを介してデバッグツール101
と通信してデバッグ機能を制御するJTAG制御部で、
JTAGインタフェースでアクセス可能なデバッグ関連
の制御レジスタやJTAGインタフェースでのアクセス
を制御するTAP(Test Access Por
t)コントローラなどから構成される。108はトレー
ストリガ発生手段であって、トレース制御部109によ
るトレース動作を制御するトレーススタート信号108
a、トレースエンド信号108b及びデータアクセス検
知信号108cを生成する。108aはトレース制御部
109にトレース情報の出力開始を指定するトレースス
タート信号、108bはトレース制御部109にトレー
ス情報の出力終了を指定するトレースエンド信号で、1
08cはデータアクセス検知信号であって、CPU10
4がアクセスしたアドレスとそれに読み書きされたデー
タとを指定する。109はマイクロコンピュータ103
の内部状態をトレースしたトレース情報を生成してデバ
ッグツール101に出力するトレース制御部、110
a,110bはマイクロコンピュータ103内のアドレ
ス信号、データを伝搬するアドレスバス、データバスで
ある。なお、図14と同一構成要素には同一符号を付し
て重複する説明を省略する。
【0012】図16は図15中のトレース制御部の構成
を示すブロック図である。図において、111はトレー
ス制御回路で、外部からトレースに関する情報を受けて
トレース動作を制御する。111aはトレース制御回路
111が生成するラッチ信号であって、アドレスバス1
10a及びデータバス110bのアドレス及びデータを
バッファ113にラッチさせる信号である。112はト
レース制御部109からの出力を制御する出力制御部
で、トレースクロック信号TRCLKやトレース同期信
号TRSYNC、トレース出力TRDATAをデバッグ
ツール101に出力する。113はアドレスバス110
aやデータバス110bから情報をラッチしてトレース
情報を形成するバッファ、114は出力制御部112を
構成するFIFOバッファであって、バッファ113か
らのトレース情報を所定のビット単位でデバッグツール
101に出力する。なお、図14及び図15と同一構成
要素には同一符号を付して重複する説明を省略する。
【0013】次に動作について説明する。ここでは、デ
バッグ機能内蔵マイクロコンピュータ103内のCPU
104によるプログラムの実行をリアルタイムトレース
する場合について説明する。先ず、図14に示すよう
に、JTAGに対応したデバッグ専用端子を介してマイ
クロコンピュータ103とデバッグツール101とを接
続する。このあと、ユーザは、デバッガ102を用いて
マイクロコンピュータ103内のメモり及び周辺機能ブ
ロック105に格納される評価対象のプログラムをダウ
ンロードする。これによって、ユーザは、上記評価対象
プログラムに対するトレース条件を決定し、ホストコン
ピュータ100を用いて上記条件に応じたトレースに関
する情報を設定する。例えば、CPU104が評価対象
プログラムを実行するにあたり、トレース情報の採取の
開始や終了のトリガとなるマイクロコンピュータ103
のメモリ空間内のアドレス情報などを設定する。この情
報は、ホストコンピュータ100によってデバッグツー
ル101に送信される。
【0014】デバッグツール101は、JTAGに対応
したデバッグ専用端子を介してJTAG制御部107内
のセルの1つである不図示のトレース用レジスタに上記
情報を設定する。マイクロコンピュータ103内のCP
U104は、デバッガ102からの指示によって評価対
象プログラムを実行する。このとき、CPU104はバ
ス110a,110bを介して上記トレース用レジスタ
に設定された情報をトレーストリガ発生手段108に出
力する。これによって、トレーストリガ発生手段108
は、トレーススタート信号108a、トレースエンド信
号108b及びデータアクセス検知信号108cを生成
してトレース制御部109に出力する。
【0015】トレース制御部109では、内部のトレー
ス制御回路111が上記トレーススタート信号108a
をアサートしてトレース情報の出力を開始する。具体的
には、例えばCPU104が上記評価対象プログラム中
の分岐命令を実行すると、分岐先のアドレスを指定する
ジャンプ要求信号104a及び前回の分岐から実行され
た命令のサイズを指定する実行命令サイズ信号104b
を生成してトレース制御回路111に出力する。トレー
ス制御回路111は、ジャンプ要求信号104aをアサ
ートするとラッチ信号111aをバッファ113に出力
する。これによって、アドレスバス110aを介して分
岐先アドレスがバッファ113取り込まれる。このと
き、トレース制御回路111は、実行命令サイズ信号1
04bをバッファ113に出力する。
【0016】トレース制御回路111は、実行命令サイ
ズ信号104bから前回の分岐から実行された命令のサ
イズを取得すると共に、これをバッファ113に設定す
る。これによって、アドレスバス110aから分岐先ア
ドレスがバッファ113に逐次取り込まれ、CPU10
4による評価対象プログラムの実行処理における各分岐
アドレスと前回の分岐から実行した命令サイズをトレー
スした分岐トレース情報が形成される。分岐先アドレス
と、前回の分岐から実行した命令サイズを出力すること
により、プログラムの分岐元アドレスと分岐先アドレス
とを通知することができる。この分岐トレース情報は、
バッファ113からFIFOバッファ114に出力され
る。このあと、出力制御部112によってFIFOバッ
ファ114内の分岐トレース情報がTRDATA端子を
介して8ビットずつデバッグツール101に出力され
る。また、出力制御部112は、トレースクロック信号
(TRCLK)及び分岐トレース情報を構成するパケッ
トの先頭位置を示すトレース同期信号(TRSYNC)
をそれぞれに対応する端子を介してデバッグツール10
1に出力する。
【0017】一方、トレース制御回路111が上記デー
タアクセス検知信号108cをアサートすると、ラッチ
信号111aをバッファ113に出力する。このとき、
アドレスバス110a及びデータバス110bを介し
て、CPU104がアクセスを行ったアドレスと、この
アドレスに対して読み書きされたデータとがバッファ1
13に取り込まれ、アクセスしたアドレスとそれに対応
するデータとからなるデータトレース情報が形成され
る。このデータトレース情報は、バッファ113からF
IFOバッファ114に出力される。
【0018】このあと、出力制御部112によってFI
FOバッファ114内のデータトレース情報がTRDA
TA端子を介して8ビットずつデバッグツール101に
出力される。また、出力制御部112は、トレースクロ
ック信号(TRCLK)及びデータトレース情報を構成
するパケットの先頭位置を示すトレース同期信号(TR
SYNC)をそれぞれに対応する端子を介してデバッグ
ツール101に出力する。
【0019】最後に、トレース制御回路111が上記ト
レースエンド信号108bをアサートすると、バッファ
113に対するラッチ信号111aの出力を停止し、ト
レース情報の出力を停止する。
【0020】このようにして、デバッガ102は分岐ト
レース情報やデータトレース情報からマイクロコンピュ
ータ103内のCPU104による評価対象プログラム
の実行シーケンス及びデータアクセスシーケンスをリア
ルタイムで取得することができる。これらの情報を利用
して、デバッガ102はマイクロコンピュータ103の
リアルタイムなデバッグを行うことができる。
【0021】
【発明が解決しようとする課題】従来のマイクロコンピ
ュータは以上のように構成されているので、分岐が連続
した場合などにトレース情報を出力しきれない、いわゆ
る取りこぼしが発生して、プログラムのリアルタイムト
レースに支障をきたす場合があるという課題があった。
【0022】上記課題を具体的に説明する。例えば、1
つのトレース情報が72ビットで構成され、デバッグ機
能ブロック106がTRDATA端子から8ビット単位
で上記トレース情報を出力すると仮定すると、1つのト
レース情報を出力するのに9クロック要する。ここで、
直前の分岐が発生してから9クロック以内に次の分岐が
発生すると、FIFOバッファ114から直前の分岐先
アドレスを含む分岐トレース情報を出力している最中
に、次に発生した分岐トレース情報の分岐先アドレスが
バッファ113からFIFOバッファ114に出力され
てくる。このため、直前の分岐先アドレスが次に発生し
た分岐の分岐先アドレスに上書きされ、結果として両ア
ドレス情報を完全な形で出力することができなくなる。
【0023】これに対して、デバッグ機能ブロック10
6によるトレース情報の出力速度を上げることで対応す
る方法が考えられる。しかしながら、トレース情報の出
力には外部端子(TRDATA端子)を介すことから、
CPU104とメモり及び周辺機能ブロック105との
間のアクセスの高速化と比べて、トレースクロック(T
RCLK)周波数を高速化することは困難である。
【0024】また、トレース情報の出力に用いる外部端
子(TRDATA端子)を増加させて出力を並行して行
うことも考えられるが、マイクロコンピュータ103の
コスト増加につながる上にそのサイズの小型化に制約を
与えるため適当でない。
【0025】この発明は上記のような課題を解決するた
めになされたもので、トレース情報を所定の間隔で間引
きながら複数回採取することで、結果的にトレース情報
を取りこぼすことなく得ることができるマイクロコンピ
ュータ及びこれのデバッグを制御するデバッグシステム
並びにそのトレース情報収集方法を得ることを目的とす
る。
【0026】
【課題を解決するための手段】この発明に係るマイクロ
コンピュータは、所定の繰り返し回数で、予め設定した
サンプリング期間における評価対象プログラムの各実行
過程のトレース情報を生成し収集する収集手段と、各回
ごとにトレース情報を出力する出力手段と、収集手段に
よる繰り返し収集の全てが終了した時点で、出力手段が
サンプリング期間内で収集されるべき全てのトレース情
報を出力するように、各回ごとに収集したトレース情報
のうちいずれかを消去する間引き手段とを備えるもので
ある。
【0027】この発明に係るマイクロコンピュータは、
収集手段がトレース情報を収集するにあたり、そのサン
プリング期間内における所定の周期間隔を計数する計数
手段を備え、該所定の周期間隔内で生成されるトレース
情報を間引き手段が消去するものである。
【0028】この発明に係るマイクロコンピュータは、
計数手段がトレース情報の収集動作に関するクロック信
号又はトレース情報の生成に同期して計数するものであ
る。
【0029】この発明に係るマイクロコンピュータは、
外部からトレース情報を消去する周期間隔及び/又はそ
の計数開始点を設定する外部設定経路を計数手段が有す
るものである。
【0030】この発明に係るマイクロコンピュータは、
収集手段がトレース情報を収集するにあたり、出力手段
が先のトレース情報を出力中に生成・収集されて出力不
可となったトレース情報の数を計数して保持する破棄数
保持手段を備えるものである。
【0031】この発明に係るマイクロコンピュータは、
収集手段がトレース情報を収集するにあたり、そのサン
プリング期間内で生成したトレース情報の総数を計数し
て保持する総数保持手段を備えるものである。
【0032】この発明に係るマイクロコンピュータは、
サンプリング期間内で生成したトレース情報に関するサ
マリ情報を各回ごとに生成して保持するサマリ保持手段
と、該サマリ保持手段が各回ごとに保持したサマリ情報
を各々比較して、該比較結果を出力する比較手段とを備
えるものである。
【0033】この発明に係るマイクロコンピュータは、
サマリ情報がサンプリング期間内で生成したトレース情
報の総数及び/又はそのチェックサムからなるものであ
る。
【0034】この発明に係るマイクロコンピュータは、
サマリ情報がサンプリング期間内で生成したトレース情
報に含まれるアドレス情報及び/又はデータ情報のチェ
ックサムからなるものである。
【0035】この発明に係るマイクロコンピュータは、
外部から保持内容を初期化する外部設定経路をサマリ保
持手段が有するものである。
【0036】この発明に係るマイクロコンピュータは、
収集手段がトレース情報を収集するにあたり、CPUの
割り込み処理に関するトレース情報を消去する手段を備
えるものである。
【0037】この発明に係るデバッグシステムは、所定
の繰り返し回数で、予め設定したサンプリング期間にお
ける評価対象プログラムの各実行過程のトレース情報を
生成し収集する収集手段と、各回ごとにトレース情報を
出力する出力手段と、収集手段による繰り返し収集の全
てが終了した時点で、出力手段がサンプリング期間内で
収集されるべき全てのトレース情報を出力するように、
各回ごとに収集したトレース情報のうちいずれかを消去
する間引き手段とを有するマイクロコンピュータに対す
るデバッグを制御するシステムであって、出力手段から
各回ごとに出力されるトレース情報を逐次保持すると共
に、これら情報を本来の生成順序に並べ替えて上記サン
プリング期間全体で収集されるべきトレース情報を構築
するトレース情報再構築手段と、マイクロコンピュータ
内の各手段に対してトレース情報収集に関する情報の読
み出し及び/又はその設定を行うと共に、トレース情報
を用いてマイクロコンピュータに対するデバッグを制御
するデバッグ制御手段とを備えるものである。
【0038】この発明に係るデバッグシステムは、収集
手段がトレース情報を収集するにあたり、そのサンプリ
ング期間内における所定の周期期間を計数する計数手段
を備えると共に、間引き手段が該所定の周期間隔内で生
成されるトレース情報を消去し、デバッグ制御手段がト
レース情報を消去する周期間隔及び/又はその計数開始
点を上記計数手段に設定するものである。
【0039】この発明に係るデバッグシステムは、収集
手段がトレース情報を収集するにあたり、出力手段が先
のトレース情報を出力中に生成・収集されて出力不可と
なったトレース情報の数を計数して保持する破棄数保持
手段をマイクロコンピュータが備え、デバッグ制御手段
が破棄数保持手段から出力不可となったトレース情報数
を読み出して、該トレース情報数に応じて決定した繰り
返し回数をマイクロコンピュータに設定するものであ
る。
【0040】この発明に係るデバッグシステムは、収集
手段がトレース情報を収集するにあたり、そのサンプリ
ング期間内で生成したトレース情報の総数を計数して保
持する総数保持手段をマイクロコンピュータが備え、デ
バッグ制御手段が総数保持手段から出力不可となったト
レース情報数を読み出して、該トレース情報の総数に応
じて決定した繰り返し回数をマイクロコンピュータに設
定するものである。
【0041】この発明に係るデバッグシステムは、サン
プリング期間内で生成したトレース情報に関するサマリ
情報を各回ごとに生成して保持するサマリ保持手段と、
該サマリ保持手段が各回ごとに保持したサマリ情報を各
々比較して、該比較結果を出力する比較手段とをマイク
ロコンピュータが備え、デバッグ制御手段が比較結果か
ら各回ごとに生成するトレース情報の同一性を判定し、
該判定結果に基づいて評価対象プログラムが正常に実行
されたか否かを判断するものである。
【0042】この発明に係るトレース情報収集方法は、
マイクロコンピュータによる評価対象プログラムの実行
過程のトレース情報を収集する方法であって、所定の繰
り返し回数で、予め設定したサンプリング期間における
評価対象プログラムの各実行過程のトレース情報を生成
し収集する収集ステップと、収集ステップにて繰り返し
収集の全てが終了した時点で、サンプリング期間内で収
集されるべき全てのトレース情報を出力するように、各
回ごとに収集したトレース情報のうちいずれかを消去す
る間引きステップと、各回ごとに消去された残りのトレ
ース情報を出力する出力ステップと、出力ステップで各
回ごとに出力されるトレース情報を逐次保持すると共
に、これら情報を本来の生成順序に並べ替えてサンプリ
ング期間全体で収集されるべきトレース情報を構築する
トレース情報再構築ステップとを備えるものである。
【0043】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1によるデ
バッグシステムの構成を概略的に示す図である。図にお
いて、1は実施の形態1によるデバッグシステムに用い
られるデバッグ機能を内蔵したマイクロコンピュータで
あって、CPU2やメモリ及び周辺機能ブロック3と共
に、デバッグ機能を与えるデバッグ機能ブロック4を1
チップに形成してなる。2はマイクロコンピュータ1の
CPUで、例えばメモリ及び周辺機能ブロック3に格納
される評価対象のプログラムを実行する。3はマイクロ
コンピュータ1のメモリ及び周辺機能ブロックで、例え
ば内蔵SRAM、DMAコントローラ、割り込みコント
ローラ、タイマなどの内蔵周辺I/Oなどからなる。4
はデバッグツール5からの制御でデバッグを行うデバッ
グ機能ブロックである。5はデバッグツール(デバッグ
制御手段)であって、JTAGに対応したデバッグ専用
端子を介してデバッグ機能内蔵マイクロコンピュータ6
との間でデバッグに関する情報やトレース情報をやり取
りする。
【0044】このデバッグ専用端子としては、IEEE
1149.1で定められたTCK端子(クロック入力
端子)、TDI端子(テスト命令コード又はテストデー
タをシリアルに入力する端子)、TDO端子(テスト命
令コード又はテストデータをシリアルに出力する端
子)、TMS端子(マイクロコンピュータ1内の評価対
象の論理回路の状態遷移を制御するテストモード選択を
入力する端子)、及び、TRST端子(マイクロコンピ
ュータ1内の評価対象の論理回路を非同期に初期化する
テストリセット入力をする端子)の5本のJTAGイン
タフェース端子がある。
【0045】この他に、デバッグ機能ブロック4からデ
バッグツール5に信号を出力する端子として、TRCL
K端子(デバッグ機能ブロック4からデバッガ7にトレ
ースクロック信号を出力するトレースクロック端子)、
TRSYNC端子(トレース情報を構成するパケットの
先頭位置を示す信号を出力するトレース同期端子)、及
び、TRDATA端子(トレース情報を出力するトレー
ス出力端子)がある。ここで、TRSYNC端子は、電
子出願の関係上、図中の記載と表記が異なるが同一端子
を指すものとする。6はデバッグツール5を制御するホ
ストコンピュータ(トレース情報再構築手段、デバッグ
制御手段)で、デバッグに関する諸設定を行うことがで
き、設定された情報をデバッグツール5に送信する。7
はデバッガ(トレース情報再構築手段、デバッグ制御手
段)で、ホストコンピュータ6とデバッグツール5とか
らなる構成に相当する。
【0046】図2は図1中のデバッグ機能内蔵マイクロ
コンピュータの構成を示すブロック図である。図におい
て、8はマイクロコンピュータ1の内部状態をトレース
したトレース情報を生成してデバッグツール5に出力す
るトレース制御部(収集手段、間引き手段、出力手
段)、9はJTAGインタフェースを介してデバッグツ
ール5と通信してデバッグ機能を制御するJTAG制御
部(出力手段)で、JTAGインタフェースでアクセス
可能なデバッグ関連の制御レジスタやJTAGインタフ
ェースでのアクセスを制御するTAP(Test Ac
cess Port)コントローラなどから構成され
る。10はトレーストリガ発生手段(収集手段)であっ
て、トレース制御部8によるトレース動作を制御するト
レーススタート信号10a、トレースエンド信号10b
及びデータアクセス検知信号10cを生成する。
【0047】10aはトレース制御部8にトレース情報
の出力開始を指定するトレーススタート信号、10bは
トレース制御部8にトレース情報の出力終了を指定する
トレースエンド信号で、10cはデータアクセス検知信
号であって、CPU2がアクセスしたアドレスとそれに
読み書きされたデータを指定する。11aはマイクロコ
ンピュータ1内のアドレス信号を伝搬するアドレスバ
ス、11bはマイクロコンピュータ1内のデータを伝搬
するデータバスである。12はトレーストリガ発生手段
10を構成するデータアクセス検知手段で、CPU2が
アクセスしたアドレス及びデータを検知し、データアク
セス検知信号10cを生成する。13はトレーストリガ
発生手段10を構成するPC通過検知手段であって、C
PU2が実行する命令のアドレス情報を検知する。14
aはCPU2からトレース制御部8に出力されるジャン
プ要求信号で、CPU2が実行した分岐命令に応じた分
岐先アドレスを指定する。14bはCPU2からトレー
ス制御部8に出力される実行命令サイズ信号であって、
前回の分岐から実行された命令のサイズを指定する。な
お、図1と同一構成要素には同一符号を付して重複する
説明を省略する。
【0048】図3は図2中のデバッグ機能ブロックの構
成を示すブロック図である。図において、15はJTA
Gインタフェース端子を介したアクセスを制御するTA
Pコントローラで、TCK端子及びTMS端子からの入
力に応じて状態遷移を行ってデバッガ7の制御を行う。
16はテスト命令コードを保持する命令レジスタであっ
て、テスト命令コードの値をデコードしてデバッガ7の
制御信号を生成する。17はマイクロコンピュータ1の
内部回路と各端子との間に設けられたシフトレジスタを
シリアルに接続した一連のレジスタであるバウンダリス
キャンテスト用レジスタで、図示の例ではBYPASS
命令コード、デバッグ機能ブロック4を制御するいくつ
かのJTAGプライベート命令であるIDコード(ID
CODE)やユーザコード(USERCODE)を格納
するレジスタからなる。18はトレース用レジスタであ
って、トレースの開始や終了を決定するためのトリガと
なるアドレス情報を格納する。19は入力選択部で、T
DI端子からシリアルに入力される命令やデータの出力
先としてバウンダリスキャンテスト用レジスタ17内の
命令コードを格納する複数のレジスタやトレース用レジ
スタ18を選択する。20a,20bは出力選択部であ
って、命令レジスタ16やバウンダリスキャンテスト用
レジスタ17から出力されたテスト命令コード又はテス
トデータを選択してTDO端子からシリアル出力する。
なお、図1及び図2と同一構成要素には同一符号を付し
て重複する説明を省略する。
【0049】図4は図3中のトレース制御部の構成を示
すブロック図である。図において、21はトレース制御
回路(収集手段)で、外部からトレースに関する情報を
受けてトレース動作を制御する。21aはトレース制御
回路21が生成するラッチ信号であって、アドレスバス
11a及びデータバス11bのアドレス及びデータをバ
ッファ22にラッチさせる信号である。22はトレース
情報を形成・格納するバッファ(収集手段)であって、
トレース制御回路21からのラッチ信号21aに従って
アドレスバス11aやデータバス11bからアドレス情
報やデータ情報をラッチする。23はトレース情報の発
生をカウントするトレース情報カウンタ(計数手段、間
引き手段、総数保持手段)で、図示の例ではバッファ2
2にトレース情報が形成されるごとにインクリメントす
るnビットのカウンタからなる。24はlビット(n>
l)のカウンタからなる繰り返し回数指定手段(間引き
手段)で、トレース情報の採取動作の繰り返し回数が指
定される。
【0050】25はコンパレータ26が比較するカウン
タのビット数を指定する比較ビット数指定手段(間引き
手段)であって、トレース情報カウンタ23と繰り返し
回数指定手段24のカウンタ値をコンパレータ26が比
較する際に、両カウンタの下位から比較対象とするビッ
ト数を指定する。図示の例では、トレース情報カウンタ
23と繰り返し回数指定手段24の下位2ビットが比較
対象として指定されている。26はトレース情報カウン
タ23と繰り返し回数指定手段24のカウンタ値を比較
するコンパレータ(間引き手段)で、比較結果をバッフ
ァ27に出力する。27はバッファ22で形成したトレ
ース情報がコピーされるバッファ(収集手段)であっ
て、TRDATA端子を介して出力する前にトレース情
報を一時記憶する。28はトレース制御部8からの出力
を制御する出力制御部(出力手段)で、トレースクロッ
ク信号TRCLKやトレース同期信号TRSYNC、ト
レース出力TRDATAをデバッグツール5に出力す
る。29は出力制御部28を構成するFIFOバッファ
(出力手段)であって、バッファ27からのトレース情
報を所定のビット単位でデバッグツール5に出力する。
なお、図1から図3までに記載した構成要素と同一又は
それに相当する場合には同一符号を付して重複する説明
を省略している。
【0051】図5は図2中のトレース制御部による分岐
トレース情報の出力タイミングとそのフォーマットを示
す図である。分岐トレース情報は、トレースクロック信
号(TRCLK)に同期して8ビットずつTRDATA
[0:7]端子から出力する。これを表すために、図5
中では、8マス区切り矩形(1マスが1ビットに対応す
る)を1単位として表記している。また、TRSYNC
信号は、トレース情報を構成するパケットの先頭位置を
示す信号である。ここで、TRSYNC信号は、電子出
願の関係上、図5中の記載と表記が異なるが同一信号を
指すものとする。フォーマットについて説明すると、
「Status」と表記された箇所は、本パケットが分
岐トレース情報なのかデータトレース情報なのかを識別
するビット列であり、トレース情報の取りこぼしが発生
したか否かを示すビット、プログラムの分岐種類を特定
するビットから構成される。また、「Size」と表記
された箇所には、前回の分岐から実行された命令のサイ
ズ情報が格納される。「Address」と表記された
箇所には、分岐先アドレスが格納される。
【0052】図6は図2中のトレース制御部によるデー
タトレース情報の出力タイミングとそのフォーマットを
示す図である。データトレース情報も、分岐トレース情
報と同様に、トレースクロック信号(TRCLK)に同
期して8ビットずつTRDATA[0:7]端子から出
力する。これを表すために、図6中においても8マス区
切り矩形(1マスが1ビットに対応する)を1単位とし
て表記している。フォーマットについて説明すると、
「Status」と表記された箇所は、本パケットが分
岐トレース情報なのかデータトレース情報なのかを識別
するビット列であり、トレース情報の取りこぼしが発生
したか否かを示すビット、このデータアクセスがリード
かライトかを特定するビットから構成される。「Add
ress」と表記された箇所には、CPU2によってア
クセスが行われたアドレスが格納される。「Data」
と表記された箇所には、アクセスが行われたデータが格
納される。また、「Reserved」と表記された箇
所は、予備ビット列である。
【0053】次に動作について説明する。先ず、図1に
示すように、JTAGに対応したデバッグ専用端子を介
してマイクロコンピュータ1とデバッグツール5とを接
続する。これによって、ユーザは内部バス11a,11
bを介してデータアクセス検知手段12及びPC通過検
知手段13に設定された情報を読み出すこともできる。
具体的には、デバッガ7を用いて内部バス11a,11
bと接続することで、ユーザは、データアクセス検知手
段12が何番地のアドレスに対してデータが読み書きさ
れたことを検知するように設定されているのか、また、
PC通過検知手段13が何番地のアドレスに格納された
命令の実行を検知するように設定されているのかを適宜
知ることができる。同様に、デバッガ7を用いてトレー
ス情報カウンタ23、繰り返し回数指定手段24、及
び、比較ビット数指定手段25にも適宜アクセスするこ
とができる。
【0054】次に、ユーザはデバッガ7を用いてマイク
ロコンピュータ1から評価対象のプログラムをダウンロ
ードする。これにより、ユーザは上記評価対象プログラ
ムに対するトレース条件を決定すると共に、デバッガ7
を用いて上記条件に応じたトレースに関する情報を設定
する。トレースに関する情報としては、例えばCPU2
が評価対象プログラムを実行するにあたり、トレース情
報の採取の開始や終了のトリガとなるマイクロコンピュ
ータ1のメモリ空間内のアドレス情報がある。また、ト
レースの初期状態として、デバッガ7を用いてトレース
情報カウンタ23を「0」に初期化する。
【0055】また、比較ビット数指定手段25に「2」
を指定する(即ち、トレース情報カウンタ23と繰り返
し回数指定手段24の下位2ビットを比較対象として指
定する)と共に、この繰り返し回数指定手段24を構成
するカウンタの下位2ビットの値を「0」とするB'0
0を設定する。これらの設定は、ホストコンピュータ6
によってデバッグツール5に送信される。デバッグツー
ル5は、JTAGに対応したデバッグ専用端子を介して
上記情報をJTAG制御部9にシリアル入力する。例え
ば、TDI端子を介して入力する上記トレースに関する
情報は、JTAG制御部9内の入力選択部19によって
その出力先が選択される。これによって、上記トレース
に関する情報はJTAG制御部9のセルの1つであるト
レース用レジスタ18に設定される。その他の情報も内
部バスを介して対応する手段に設定される。
【0056】トレース用レジスタ18に設定された上記
情報は、アドレスバス11aやデータバス11bなどの
内部バスを介してトレーストリガ発生手段10に設定さ
れる。これによって、トレーストリガ発生手段10に、
上記トレースに関する情報に従ってトレーススタート信
号10a及びトレースエンド信号10bを発生する条件
が指定される。ここでは、例えば評価対象のプログラム
を実行するCPU2によって、100番地のアドレスに
対してデータの書き込みが行われると、トレーストリガ
発生手段10がトレーススタート信号10aを発生し、
評価対象のプログラムの400番地のアドレスに格納さ
れた命令が実行されると、トレーストリガ発生手段10
がトレースエンド信号10bを発生するものとする。
【0057】上述したような、繰り返し回数指定手段2
4を構成するカウンタがB'00に設定された状態で、
1回目のトレースを開始する。具体的には、ユーザによ
るデバッガ7からの指示によってCPU2が評価対象プ
ログラムの実行を開始する。このとき、100番地のア
ドレスにデータの書き込みが行われると、トレース制御
部8はトレーストリガ発生手段10からのトレーススタ
ート信号10aをアサートしてトレース動作を開始す
る。図7は実施の形態1によるデバッグシステムにおけ
るトレース情報の発生タイミングの一例を示す図であ
る。この図7に沿ってトレース情報の採取動作を説明す
る。先ず、トレースクロック信号(TRCLK)が0ク
ロック目(図7中の(1)で示したタイミング)におい
て、トレース制御回路21がトレーススタート信号10
aを受けると、ラッチ信号21aを生成しバッファ22
に出力する。ラッチ信号21aを受けたバッファ22に
は、アドレスバス11aとデータバス11bからアドレ
ス情報及びデータ情報がラッチされ、データトレース情
報1が形成される。
【0058】次に、トレースクロック信号(TRCL
K)が1クロック目(図7中の(2)で示したタイミン
グ)になると、データトレース情報1は、バッファ22
からバッファ27にコピーされる。同時に、トレース情
報カウンタ23に「0」が設定される。このあと、比較
ビット数指定手段25には「2」が指定されているの
で、コンパレータ26は、トレース情報カウンタ23の
下位2ビット(B'00)と繰り返し回数指定手段24
の下位2ビット(B'00)を比較し、比較結果を示す
信号をバッファ27に出力する。このとき、上記両カウ
ンタ値は一致していることから、バッファ27にコピー
されているデータトレース情報1が消去されない。
【0059】また、トレースクロック信号(TRCL
K)が1クロック目において、図7に示すように、CP
U2は評価対象プログラムの分岐命令を実行する。この
とき、CPU2は分岐先のアドレスを指定するジャンプ
要求信号14a及び前回の分岐から実行された命令のサ
イズを指定する実行命令サイズ信号14bを生成してト
レース制御回路21に出力する。トレース制御回路21
は、ジャンプ要求信号14aをアサートするとラッチ信
号21aをバッファ22に出力する。これによって、ア
ドレスバス11aを介して分岐先アドレスがバッファ2
2に取り込まれる。このとき、トレース制御回路21
は、実行命令サイズ信号14bをバッファ22に出力す
る。
【0060】トレース制御回路21は、実行命令サイズ
信号14bから前回の分岐から実行された命令のサイズ
を取得すると共に、これをバッファ22に設定する。こ
れによって、アドレスバス11aから分岐先アドレスが
バッファ22に逐次取り込まれ、CPU2が実行する評
価対象プログラムにおける各分岐アドレスをトレースし
た分岐トレース情報2が形成される。
【0061】次に、トレースクロック信号(TRCL
K)が2クロック目になると、データトレース情報1
は、トレース制御回路21によってバッファ27からF
IFOバッファ29にコピーされ、分岐トレース情報2
はバッファ22からバッファ27にコピーされる。ま
た、バッファ22にトレース情報が形成されると、トレ
ース制御回路21はトレース情報カウンタ23をインク
リメントし、カウンタ値を「0」(B'00)から
「1」(B'01)に変更する。
【0062】続いて、コンパレータ26が、トレース情
報カウンタ23の下位2ビット(B'01)と繰り返し
回数指定手段24の下位2ビット(B'00)を比較
し、比較結果を示す信号をバッファ27に出力する。こ
のとき、上記両カウンタ値は一致していないことから、
トレース制御回路21はバッファ27にコピーされてい
る分岐トレース情報2を消去する。
【0063】また、トレースクロック信号(TRCL
K)が2クロック目においても、図7に示すように、C
PU2は評価対象プログラムの分岐命令を実行する。こ
のとき、CPU2は分岐先のアドレスを指定するジャン
プ要求信号14a及び前回の分岐から実行された命令の
サイズを指定する実行命令サイズ信号14bを生成して
トレース制御回路21に出力する。トレース制御回路2
1は、ジャンプ要求信号14aをアサートするとラッチ
信号21aをバッファ22に出力する。これによって、
上記と同様にして、アドレスバス11aから分岐先アド
レスがバッファ22に逐次取り込まれ、CPU2が実行
する評価対象プログラムにおける各分岐アドレスをトレ
ースした分岐トレース情報3が形成される。
【0064】次に、トレースクロック信号(TRCL
K)が3クロック目になると、分岐トレース情報2は、
CPU2によってバッファ22からバッファ27にコピ
ーされる。バッファ22にトレース情報が形成される
と、CPU2はトレース情報カウンタ23を1インクリ
メントし、カウンタ値を「1」(B'01)から「2」
(B'10)に変更する。
【0065】上記と同様に、コンパレータ26が、トレ
ース情報カウンタ23の下位2ビット(B'10)と繰
り返し回数指定手段24の下位2ビット(B'00)を
比較し、比較結果を示す信号をバッファ27に出力す
る。このとき、上記両カウンタ値は一致していないこと
から、CPU2はバッファ27にコピーされている分岐
トレース情報3を消去する。
【0066】また、トレースクロック信号(TRCL
K)が3クロック目においても、図7に示すように、C
PU2は評価対象プログラムの分岐命令を実行する。こ
のとき、CPU2は分岐先のアドレスを指定するジャン
プ要求信号14a及び前回の分岐から実行された命令の
サイズを指定する実行命令サイズ信号14bを生成して
トレース制御回路21に出力する。トレース制御回路2
1は、ジャンプ要求信号14aをアサートするとラッチ
信号21aをバッファ22に出力する。これによって、
上記と同様にして、アドレスバス11aから分岐先アド
レスがバッファ22に逐次取り込まれ、CPU2が実行
する評価対象プログラムにおける各分岐アドレスをトレ
ースした分岐トレース情報4が形成される。
【0067】続いて、出力制御部28は、FIFOバッ
ファ29に格納されていたデータトレース情報1の先頭
8ビットをTRDATA[0:7]端子からデバッガ7
に出力する。同様にしてトレースクロック信号(TRC
LK)のクロックを進めてゆくと、トレース情報カウン
タ23は、バッファ22にトレース情報が形成されるご
とに1インクリメントされる。これによって、分岐トレ
ース情報2、分岐トレース情報3に続いて、3クロック
目に形成した分岐トレース情報4、図7に示す23クロ
ック目の分岐命令によって形成される分岐トレース情報
6がバッファ27において消去される。
【0068】1回目のトレースの結果として、デバック
機能ブロック4からは、データトレース情報1とデータ
トレース情報5が出力される。このとき、トレース情報
を取り込むべきバッファの段数は足りている、即ち、コ
ンパレータ26による比較によって適宜トレース情報が
消去されてバッファ27に空きが作られることから、ト
レース情報を格納すべきバッファに空きがない、いわゆ
るトレース情報のオーバフローが起こることがない。図
8は1回目のトレースにおけるトレース情報の出力タイ
ミングを示す図である。図に示すように、データトレー
ス情報1及びデータトレース情報5は、トレースクロッ
ク信号(TRCLK)に同期してTRDATA[0:
7]端子から8ビット単位でデバッガ7に出力される。
ここでは、トレース情報を72ビットで構成した例を示
しているので、その出力に9クロック要している。
【0069】このあと、CPU2によって評価対象プロ
グラムの400番地のアドレスに格納された命令が実行
されると、トレーストリガ発生手段10がトレースエン
ド信号10bを発生し、トレース制御部8に出力する。
これによって、トレース制御部8は、1回目のトレース
を終了する。
【0070】次に2回目のトレースを行う。具体的に
は、ユーザがデバッガ7を用いて繰り返し回数指定手段
24のカウンタの下位2ビットに「1」(B'01)を
設定し、スタートアドレス(100番地)からの評価対
象プログラムの実行をCPU2に指示する。これによっ
て、上述したようなトレース情報カウンタ23のインク
リメントや、コンパレータ26によるトレース情報カウ
ンタ23と繰り返し回数指定手段24の比較、バッファ
27の内容消去が行われて、結果として分岐トレース情
報2と分岐トレース情報6が採取される。
【0071】3回目のトレースでは、ユーザがデバッガ
7を用いて繰り返し回数指定手段24のカウンタの下位
2ビットに「2」(B'10)を設定し、スタートアド
レス(100番地)からの評価対象プログラムの実行を
CPU2に指示する。これによって、上述したようなト
レース情報カウンタ23のインクリメントや、コンパレ
ータ26によるトレース情報カウンタ23と繰り返し回
数指定手段24の比較、バッファ27の内容消去が行わ
れて、結果として分岐トレース情報3が採取される。
【0072】さらに、4回目のトレースでは、ユーザが
デバッガ7を用いて繰り返し回数指定手段24のカウン
タの下位2ビットに「3」(B'11)を設定し、スタ
ートアドレス(100番地)からの評価対象プログラム
の実行をCPU2に指示する。これによって、上述した
ようなトレース情報カウンタ23のインクリメントや、
コンパレータ26によるトレース情報カウンタ23と繰
り返し回数指定手段24の比較、バッファ27の内容消
去が行われて、結果として分岐トレース情報4が採取さ
れる。
【0073】図9はトレース回数とトレース情報との関
係を示す図である。図に示すように、実施の形態1によ
るデバッグシステムでは、リアルタイムなトレース情報
の採取が分割して行われる。このようにすることで、例
えば1つのトレース情報が72ビットで構成され、TR
DATA端子から8ビット単位で上記トレース情報を出
力すると仮定すると、直前の分岐トレース情報を採取し
てから9クロック以内に次の分岐が起こった場合などに
有効である。この場合、従来では直前の分岐先アドレス
と次の分岐の分岐先アドレスとの両方が出力できなくな
るが、実施の形態1によるデバッグシステムでは直前の
分岐に関する分岐トレース情報と次の分岐に関する分岐
トレース情報とを分割して採取することができる。この
ため、トレース情報の内容の取りこぼしが起こる可能性
を大幅に低減することができる。
【0074】上述のように、4回に分けて採取された複
数のトレース情報は、デバッガ7に入力される。デバッ
ガ7では、ホストコンピュータ6によって上記複数のト
レース情報から本来のリアルタイムトレースにて採取さ
れるべきトレース情報が再構築される。図10はリアル
タイムトレースにて採取されるべきトレース情報の再構
築を説明する図である。図において、1回目のトレース
で採取した最初の情報であるデータトレース情報1がト
レース回数1における第1情報、2回目のトレースで採
取した分岐トレース情報2がトレース回数2における第
1情報で、3回目のトレースで採取した分岐トレース情
報3がトレース回数3における第1情報であり、4回目
のトレースで採取した分岐トレース情報4がトレース回
数4における第1情報である。
【0075】また、1回目のトレースで採取したデータ
トレース情報5がトレース回数1における第2情報、2
回目のトレースで採取した分岐トレース情報6がトレー
ス回数2における第2情報で、3回目のトレースでは1
つのトレース情報しか採取されていないので第2情報は
なく、4回目のトレースでも1つのトレース情報しか採
取されていないので第2情報はない。このように、ホス
トコンピュータ6を用いて分割して採取したトレース情
報を並べ替えてゆくことで、データトレース情報1、分
岐トレース情報1、分岐トレース情報2、分岐トレース
情報3、分岐トレース情報4、データトレース情報5、
データトレース情報と並んだ情報が構築される。即ち、
トレーススタート時点からトレースエンド時点までにお
けるトレース情報が再構築される。
【0076】上記動作において、トレース情報でバッフ
ァがオーバフローした場合(バッファ22に新しいトレ
ース情報を格納しようとしたとき、バッファ22が空で
ない場合)、バッファ22に既に格納されているトレー
ス情報の「Status」部にトレース情報の取りこぼ
し発生を示すオーバフロービットを設定し、バッファ2
2が空であれば本来取り込めるはずのトレース情報を破
棄するようにしてもよい。このとき、デバッガ7にトレ
ース情報の「Status」部のオーバフロービットを
検出する機能を設けておくことで、ユーザは、デバッガ
7を介してオーバフローの発生(即ち、取得したトレー
ス情報の後に出力されるべきトレース情報があったが出
力されなかったこと)を判断することができる。
【0077】具体例を挙げる。例えば、トレース情報を
複数回に分けて採取せず1度に採取した場合、図7に示
したトレース情報のうち、分岐トレース情報4と分岐ト
レース情報5がオーバフローして分岐トレース情報4が
破棄されてしまう。このとき、デバッガ7まで結果的に
出力されるトレース情報は、データトレース情報1、分
岐トレース情報2、分岐トレース情報3、分岐トレース
情報6となる。このとき、分岐トレース情報3の「St
atus」部にオーバフロービットを設定しておくこと
で、ユーザは、デバッガ7を介して分岐トレース情報3
の後に出力されるべきトレース情報があったが出力され
なかったことを判断することができる。
【0078】また、トレース情報を格納するバッファが
バッファ22、バッファ27、FIFOバッファ29の
3段で構成し、4回に分けてトレース情報を採取して、
バッファのオーバフローがなかった場合を示したが、4
回に分けてトレース情報を採取してもバッファのオーバ
フローが発生する場合、比較ビット数指定手段25の設
定を変更してトレース情報の採取回数を増加させる。例
えば、比較ビット数指定手段25に「3」を指定(即
ち、カウンタ23,24の下位3ビットを比較対象ビッ
トとなり、トレース情報カウンタ23の下位3ビットが
「0」に戻るまで8回インクリメントできる)し、8回
に分けてトレース情報を採取する。このように、採取回
数を増やすことでバッファのオーバフロー(トレース情
報の取りこぼし)をなくすことができる。
【0079】さらなる応用として、上述のようにしてデ
バッガ7が分割採取によってもトレース情報の取りこぼ
しが発生していることを検知すると、デバッガ7が比較
ビット数指定手段25の設定を自動的に変更する機能を
付加して、トレース情報の分割採取回数を自動的に増や
して再度トレースを行うようにしてもよい。
【0080】さらに、トレース情報を分割して採取する
際、ユーザがデバッガ7を介して毎回デバッグ中の現象
を再現しながら採取するようにしてもよい。このとき、
何度かトレース情報を採取してもデバッグ中の現象が正
確に再現されれば、デバッガ7において複数回のトレー
ス情報の分割採取を自動的に行うようにしてもよい。
【0081】以上のように、この実施の形態1によれ
ば、トレース情報を所定の間隔で間引きながら複数回採
取するようにしたので、トレース情報の取りこぼしをな
くすことができる。
【0082】また、一般的に、CPU2に評価対象プロ
グラムを実行させてみないと、トレース情報がどの程度
発生するのかが予測できない。そこで、上記実施の形態
1のようにトレース情報を分割して採取し、トレース情
報の取りこぼしの有無から比較ビット数指定手段25の
設定を適宜変更して採取回数を変更させる。これによ
り、トレース情報の発生量を予測することなく、トレー
ス情報の取りこぼしをなくすことができる。
【0083】さらに、トレース情報の採取回数に関わら
ず、デバッガ7によって採取された複数のトレース情報
から所定のトレース情報を再構築することができること
から、デバッグ機能内蔵マイクロコンピュータ1のトレ
ース情報出力端子(TRDATA)を増やしたり、トレ
ースクロック信号(TRCLK)の動作周波数を上げて
高速化することなく、デバッガ7によって指定したプロ
グラム実行区間におけるトレース情報を取りこぼしなく
採取することができる。
【0084】なお、上記実施の形態1では、バッファ2
2にトレース情報が形成されるごとにトレース情報カウ
ンタ23を1インクリメントする例を示したが、トレー
スクロック周波数に同期して1インクリメントさせるよ
うにしても、同様の効果を得ることができる。
【0085】実施の形態2.図11はこの発明の実施の
形態2によるデバッグシステムのトレース制御部を示す
ブロック図である。図において、21bはトレース制御
回路21からオーバライト回数保持手段30に出力され
るリセット信号であって、オーバライト回数保持手段3
0の保持内容をリセットする。21cはトレース制御回
路21からオーバライト回数保持手段30に出力される
オーバライト回数セット信号で、破棄されたトレース情
報数を示す信号である。30はオーバライト回数保持手
段(破棄数保持手段)で、トレース情報の採取始めから
終わりまでにおいて連続して破棄されたトレース情報数
の最大値を保持するカウンタからなる。なお、図4と同
一構成要素には同一符号を付して重複する説明を省略す
る。
【0086】次に動作について説明する。先ず、図1に
示すように、JTAGに対応したデバッグ専用端子を介
してマイクロコンピュータ1とデバッグツール5とを接
続する。これによって、上記実施の形態1と同様にし
て、ユーザは内部バス11a,11bを介してデータア
クセス検知手段12及びPC通過検知手段13に設定さ
れた情報を読み出すこともできる。同様に、デバッガ7
を用いてトレース情報カウンタ23、繰り返し回数指定
手段24、比較ビット数指定手段25、及び、オーバラ
イト回数保持手段30にも適宜アクセスすることができ
る。
【0087】次に、ユーザはデバッガ7を用いてマイク
ロコンピュータ1から評価対象のプログラムをダウンロ
ードする。これにより、ユーザは上記評価対象プログラ
ムに対するトレース条件を決定すると共に、デバッガ7
を用いて上記条件に応じたトレースに関する情報を設定
する。トレースに関する情報としては、例えばCPU2
が評価対象プログラムを実行するにあたり、トレース情
報の採取の開始や終了のトリガとなるマイクロコンピュ
ータ1のメモリ空間内のアドレス情報がある。
【0088】また、トレースの初期状態として、デバッ
ガ7を用いてオーバライト回数保持手段30を「0」に
初期化すると共に、比較ビット数指定手段25に「0」
を指定する(即ち、トレース情報カウンタ23と繰り返
し回数指定手段24の比較を行わない)。これらの情報
は、上記実施の形態1と同様にして、ホストコンピュー
タ6、デバッグツール5を介してデバッグ機能ブロック
4内の上記各構成手段に設定される。例えば、オーバラ
イト回数保持手段30は、トレース制御回路21からの
リセット信号21bによって初期化される。以降では、
説明の簡単のために、上記実施の形態1と同様に、図7
に示したタイミングでトレース情報が発生する場合につ
いて説明する。
【0089】このあと、ユーザによるデバッガ7からの
指示によってCPU2が評価対象プログラムの実行を開
始し、1回目のトレースを開始する。このとき、上記ト
レースに関する情報において指定されたアドレスにデー
タの書き込みが行われると、トレース制御部8はトレー
ストリガ発生手段10からのトレーススタート信号10
aをアサートしてトレース動作を開始する。
【0090】トレースクロック信号(TRCLK)が0
クロック目(図7中の(1)で示したタイミング)にお
いて、トレース制御回路21がトレーススタート信号1
0aを受けると、ラッチ信号21aを生成しバッファ2
2に出力する。ラッチ信号21aを受けたバッファ22
には、アドレスバス11aとデータバス11bからアド
レス情報及びデータ情報がラッチされてデータトレース
情報1が形成される。
【0091】次に、トレースクロック信号(TRCL
K)が1クロック目(図7中の(2)で示したタイミン
グ)になると、データトレース情報1は、バッファ22
からバッファ27にコピーされる。同時に、トレース情
報カウンタ23に「0」が設定される。このあと、比較
ビット数指定手段25には「0」が指定されているの
で、コンパレータ26は比較動作を行わない。
【0092】また、トレースクロック信号(TRCL
K)が1クロック目において、図7に示すように、CP
U2は評価対象プログラムの分岐命令を実行する。この
とき、CPU2は分岐先のアドレスを指定するジャンプ
要求信号14a及び前回の分岐から実行された命令のサ
イズを指定する実行命令サイズ信号14bを生成してト
レース制御回路21に出力する。トレース制御回路21
は、ジャンプ要求信号14aをアサートするとラッチ信
号21aをバッファ22に出力する。これによって、ア
ドレスバス11aを介して分岐先アドレスがバッファ2
2に取り込まれる。このとき、トレース制御回路21
は、実行命令サイズ信号14bをバッファ22に出力す
る。
【0093】トレース制御回路21は、実行命令サイズ
信号14bから前回の分岐から実行された命令のサイズ
を取得すると共に、これをバッファ22に設定する。こ
れによって、アドレスバス11aから分岐先アドレスが
バッファ22に逐次取り込まれ、CPU2が実行する評
価対象プログラムにおける各分岐アドレスをトレースし
た分岐トレース情報2が形成される。
【0094】次に、トレースクロック信号(TRCL
K)が2クロック目になると、データトレース情報1は
バッファ27からFIFOバッファ29にコピーされ、
分岐トレース情報2はバッファ22からバッファ27に
コピーされる。また、バッファ22にトレース情報が形
成されると、CPU2はトレース情報カウンタ23をイ
ンクリメントし、カウンタ値を「0」(B'00)から
「1」(B'01)に変更する。このとき、コンパレー
タ26が比較動作を行わないことから、バッファ27の
内容は消去されない。
【0095】続くトレースクロック信号(TRCLK)
の2クロック目においても、CPU2は評価対象プログ
ラムの分岐命令を実行する。このとき、CPU2は分岐
先のアドレスを指定するジャンプ要求信号14a及び前
回の分岐から実行された命令のサイズを指定する実行命
令サイズ信号14bを生成してトレース制御回路21に
出力する。トレース制御回路21は、ジャンプ要求信号
14aをアサートするとラッチ信号21aをバッファ2
2に出力する。これによって、上記と同様にして、アド
レスバス11aから分岐先アドレスがバッファ22に逐
次取り込まれ、CPU2が実行する評価対象プログラム
における各分岐アドレスをトレースした分岐トレース情
報3が形成される。
【0096】次に、トレースクロック信号(TRCL
K)が3クロック目においても、図7に示すように、C
PU2は評価対象プログラムの分岐命令を実行する。こ
のとき、CPU2は分岐先のアドレスを指定するジャン
プ要求信号14a及び前回の分岐から実行された命令の
サイズを指定する実行命令サイズ信号14bを生成して
トレース制御回路21に出力する。トレース制御回路2
1は、ジャンプ要求信号14aをアサートするとラッチ
信号21aをバッファ22に出力する。これによって、
上記と同様にして、アドレスバス11aから分岐先アド
レスがバッファ22に逐次取り込み、CPU2が実行す
る評価対象プログラムにおける各分岐アドレスをトレー
スした分岐トレース情報4を形成する処理に移行する。
しかしながら、バッファ22には既に分岐トレース情報
3が存在するので、トレース制御回路21は、分岐トレ
ース情報3の「Status」部にトレース情報の取り
こぼし発生を示すオーバフロービットを設定し、分岐ト
レース情報4を破棄する。このとき、トレース制御回路
21は、内部の不図示の記憶手段(カウンタやメモリな
ど)にトレース情報が1回破棄されたことを記憶する。
【0097】続いて、トレースクロック信号(TRCL
K)の4クロック目においても、図7に示すように、C
PU2は評価対象プログラムの分岐命令を実行する。こ
のとき、CPU2は分岐先のアドレスを指定するジャン
プ要求信号14a及び前回の分岐から実行された命令の
サイズを指定する実行命令サイズ信号14bを生成して
トレース制御回路21に出力する。トレース制御回路2
1は、ジャンプ要求信号14aをアサートするとラッチ
信号21aをバッファ22に出力する。これによって、
上記と同様にして、アドレスバス11aから分岐先アド
レスがバッファ22に逐次取り込み、CPU2が実行す
る評価対象プログラムにおける各分岐アドレスをトレー
スした分岐トレース情報5を形成する処理に移行する。
【0098】ここで、図8に示すように、データトレー
ス情報を出力するには9クロック必要とし、FIFOバ
ッファ29から出力が開始されるのは3クロック目から
であることから、データトレース情報1がTRDATA
端子から完全に出力されるのは、11クロック目とな
る。従って、上記分岐トレース情報5を形成する処理に
移行した時点では、まだFIFOバッファ29にデータ
トレース情報1が残った状態となっている。このため、
トレース制御回路21は、分岐トレース情報5を破棄す
ると共に、上記と同様にトレース情報が2回破棄された
ことを記憶する。
【0099】このあと、トレースクロック信号(TRC
LK)の23クロック目において、図7に示すように、
CPU2は評価対象プログラムの分岐命令を実行する。
このとき、CPU2は分岐先のアドレスを指定するジャ
ンプ要求信号14a及び前回の分岐から実行された命令
のサイズを指定する実行命令サイズ信号14bを生成し
てトレース制御回路21に出力する。トレース制御回路
21は、ジャンプ要求信号14aをアサートするとラッ
チ信号21aをバッファ22に出力する。このとき、バ
ッファ22は既に空になっているので、アドレスバス1
1aから分岐先アドレスがバッファ22に逐次取り込ま
れ、CPU2が実行する評価対象プログラムにおける各
分岐アドレスをトレースした分岐トレース情報6が形成
される。
【0100】ここで、トレース制御回路21は、これま
でに破棄したトレース情報の数(この場合は2個)とオ
ーバライト回数保持手段30に設定されている値とを比
較し、数の大きい方の値をオーバライト回数保持手段3
0に設定する。この場合、オーバライト回数保持手段3
0には初期状態の「0」が設定されているので、これま
でに破棄したトレース情報の数「2」がオーバライト回
数保持手段30に改めて設定される。具体的には、トレ
ース制御回路21は、これまでに破棄したトレース情報
の数をオーバライト回数セット信号21cとしてオーバ
ライト回数保持手段30に出力し設定する。
【0101】このあと、CPU2によって評価対象プロ
グラムのトレースエンドのトリガとなるアドレスに格納
された命令が実行されると、トレーストリガ発生手段1
0はトレースエンド信号10bを発生し、トレース制御
部8に出力する。このときも同様にして、トレース制御
部8はトレースを終了すると共に、それまでに破棄した
トレース情報の数とオーバライト回数保持手段30に設
定されている値とを比較し、数の大きい方の値をオーバ
ライト回数保持手段30に設定する。図7の例では、2
3クロック以降にトレース情報の破棄は行われないの
で、オーバライト回数保持手段30の設定値は、「2」
のままである。
【0102】このようにすることで、オーバライト回数
保持手段30には、分割採取しない場合におけるトレー
ス情報の取り始めから取り終わりまでにおいて連続して
破棄されたトレース情報数の最大値が設定される。
【0103】これによって、ユーザは、デバッガ7を用
いて連続して破棄されたトレース情報数の最大値(オー
バライト回数保持手段30に設定された値)を読み出し
て、トレース情報の適切な分割採取回数を決定すること
ができる。ここで、破棄されたトレース情報数をデバッ
ガ7に伝える方法として、分岐トレース情報パケットや
データトレース情報パケットに破棄されたトレース情報
数を格納する専用の部位を設定してもよい。この場合、
ユーザはデバッガ7を用いてレース情報パケットの上記
部位を検出することで、破棄されたトレース情報数の最
大値を知ることができる。
【0104】トレース情報の適切な分割採取回数として
は、例えば破棄されたトレース情報数が「1」であれ
ば、分割採取回数は2回で十分である。この場合、比較
ビット数指定手段25に「1」を指定し、上記実施の形
態1と同様にトレース動作を行う。これによって、取り
こぼしのないトレース情報の採取をすることができる。
【0105】また、ユーザは、デバッガ7を用いてトレ
ース情報採取期間中に発生したトレース情報の総数を、
その発生の度にインクリメントされるトレース情報カウ
ンタ23から読み出すことができる。言うまでもなく、
このトレース情報の総数もトレース情報の適切な分割採
取回数を決定する重要な参考情報とすることができる。
【0106】以上のように、この実施の形態2によれ
ば、トレース情報採取期間中に連続して破棄されたトレ
ース情報数の最大値を格納するオーバライト回数保持手
段30を設けたので、オーバライト回数保持手段30か
ら読み出した上記最大値を用いて、トレース情報の適切
な採取回数を決定することができる。これにより、トレ
ース情報の採取回数を必要以上に増やしてトレース時間
を浪費することがなく、効率的なデバッグ作業を行うこ
とができる。
【0107】また、トレース情報カウンタ23からトレ
ース情報採取期間中に発生したトレース情報の総数も適
宜読み出すことができるので、該トレース情報の総数を
参考としてなるべく少ない採取回数で、トレース情報を
取りこぼすことなく採取することができる。
【0108】実施の形態3.図12はこの発明の実施の
形態3によるデバッグシステムのトレース制御部を示す
ブロック図である。図において、23aはトレース情報
カウンタ23からトレース情報一致検出部31に出力さ
れるカウンタ数指示信号であって、トレース情報一致検
出部31にトレース情報の発生回数を通知する。31は
サマリ情報保持手段32a,32b及び比較手段33か
らなるトレース情報一致検出部で、分割して採取したト
レース情報が一致するか否かを検出する。32a,32
bはサマリ情報保持手段(サマリ保持手段)であって、
複数回に分けて採取したトレース情報に関するサマリ情
報(全てのトレース情報に対して算出したチェックサム
やトレース情報内のアドレス情報に関するチェックサム
などからなる)をそれぞれ保持する。33は比較手段
で、サマリ情報保持手段32a,32bがそれぞれ保持
するサマリ情報を比較する。33aは比較手段33の比
較結果を示す一致信号である。また、この図12では実
施の形態3に関するトレース情報一致検出部31などの
構成を上記実施の形態2に適用した例を示しているが、
当然ながら上記実施の形態1に適用することも可能であ
る。なお、図4及び図11と同一構成要素には同一符号
を付して重複する説明を省略する。
【0109】次に動作について説明する。先ず、図1に
示すように、JTAGに対応したデバッグ専用端子を介
してマイクロコンピュータ1とデバッグツール5とを接
続する。これによって、ユーザは内部バス11a,11
bを介してデータアクセス検知手段12及びPC通過検
知手段13に設定された情報を読み出すこともできる。
同様に、デバッガ7を用いてトレース情報カウンタ2
3、繰り返し回数指定手段24、比較ビット数指定手段
25、オーバライト回数保持手段30、及び、サマリ情
報保持手段32a,32bにも適宜アクセスすることが
できる。
【0110】次に、トレースの初期状態として、デバッ
ガ7を用いてトレース情報カウンタ23、サマリ情報保
持手段32a,32bを初期化する。また、比較ビット
数指定手段25に「2」を指定する(即ち、トレース情
報カウンタ23と繰り返し回数指定手段24の下位2ビ
ットを比較対象として指定する)と共に、この繰り返し
回数指定手段24を構成するカウンタの下位2ビットの
値を「0」とするB'00を設定する(これにより、ト
レース情報の採取回数が「4」(4回)に設定され
る)。これらの情報は、上記実施の形態1と同様にし
て、ホストコンピュータ6、デバッグツール5を介して
デバッグ機能ブロック4内の各構成手段に設定される。
【0111】次に、上記実施の形態1と同様にして1回
目のトレースを行う。これにより、1回目のトレースの
結果として、データトレース情報1とデータトレース情
報5がTRDATA端子から出力される。この1回目の
トレースにおいて、トレース制御回路21は、バッファ
22にトレース情報が形成されるごとに、そのトレース
情報をトレース情報一致検出部31にコピーする。同時
に、トレース情報が発生するごとに、トレース情報カウ
ンタ23の値がカウンタ数指示信号23aとしてトレー
ス情報一致検出部31に出力される。このとき、トレー
ス情報一致検出部31は、これらの情報を受けるごと
に、そのサマリ情報(1回目のトレースで発生したデー
タトレース情報1から分岐トレース情報6までのサマリ
情報)を生成してサマリ情報保持手段32aに格納す
る。ここで、サマリ情報としては、例えば上述のように
してコピーされた全てのトレース情報に対して算出した
チェックサムやトレース情報内のアドレス情報に関する
チェックサム、若しくは、上述のようにしてコピーされ
たトレース情報の総数などが考えられる。このあと、2
回目のトレースを行う前に、トレース情報一致検出部3
1は、サマリ情報保持手段32a内のサマリ情報をサマ
リ情報保持手段32bにコピーする。
【0112】上記実施の形態1と同様にして2回目のト
レースを行う。上述したようなトレース情報カウンタ2
3のインクリメントや、コンパレータ26によるトレー
ス情報カウンタ23と繰り返し回数指定手段24の比
較、バッファ27の内容消去が行われて、結果として分
岐トレース情報2と分岐トレース情報6がTRDATA
端子から出力される。この2回目のトレースにおいて
も、トレース制御回路21は、バッファ22にトレース
情報が形成されるごとに、そのトレース情報をトレース
情報一致検出部31にコピーする。同時に、トレース情
報が発生するごとに、トレース情報カウンタ23の値が
カウンタ数指示信号23aとしてトレース情報一致検出
部31に出力される。これによって、1回目と同様にし
て、トレース情報一致検出部31は、2回目のトレース
におけるサマリ情報を生成してサマリ情報保持手段32
aに格納する。
【0113】ここで、1回目と2回目のトレースでは、
両方ともデータトレース情報1から分岐トレース情報6
までが発生するので、トレース情報が一致する。このあ
と、比較手段33は、サマリ情報保持手段32a,32
bのそれぞれに格納されたサマリ情報を比較する。上述
のように、1回目と2回目のトレースではトレース情報
が一致することから、サマリ情報保持手段32a,32
bのサマリ情報も一致する。比較手段33は、これらサ
マリ情報が一致した旨を一致信号33aとして外部に出
力する。
【0114】このとき、サマリ情報保持手段32a,3
2bのそれぞれに格納されたサマリ情報が一致しない
と、1回目と2回目のトレースにおける各トレース情報
が異なるということである。即ち、何らかの原因で1回
目と2回目のトレースにおいてCPU2によるプログラ
ム実行が同じではなかったことを意味する。このような
1回目と2回目のトレースにおいて異なる結果を与える
情報を用いてリアルタイムトレースとしてのトレース情
報を再構築しても、トレース期間中に発生した正しいト
レース情報を得ることができない。そこで、この実施の
形態3では、採取期間内で発生するトレース情報が異な
った場合に、ユーザに通知する機能をデバッガ7に持た
せておく(ホストコンピュータ6の表示手段に上記通知
を表示するなどの機能)。これによって、ユーザは、何
らかの対処を行ってトレースをやり直すことができる。
また、採取期間内で発生するトレース情報が異なった場
合に、デバッガ7が自動的に再度トレースをやり直すよ
うにしてもよい。
【0115】以上のように、この実施の形態3によれ
ば、各採取期間で採取したトレース情報のサマリ情報に
基づいて、各トレース情報が一致するか否かを検出する
トレース情報一致検出部31を備えたので、トレース情
報の採取において毎回同じトレース情報が発生している
か否かを確かめながら、トレース情報を採取することが
できる。これにより、採取期間内で発生する全てのトレ
ース情報を比較するために、マイクロコンピュータ1に
大量のトレースメモリを設ける必要がない。これは、コ
スト的にも有益である。
【0116】また、トレース情報一致検出部31は、2
つのサマリ情報保持手段32a,32bを有して、前回
トレースした情報と今回トレースした情報とを判別する
ことができることから、トレース期間中にプログラムを
複数回実行することで、安定して同じ動作をするか否か
を確認することができる。このような処理は、デバッグ
手法としても利用することができる。
【0117】なお、上記実施の形態3では、トレース情
報一致検出部31を2つのサマリ情報保持手段32a,
32bと比較手段33とを設ける例について示したが、
サマリ情報保持手段32aのみで構成してもよい。具体
的には、トレース情報の分割採取を実行するごとに、デ
バッガ7がサマリ情報保持手段32aの内容の読み出し
て記憶し、比較動作も行う。
【0118】実施の形態4.図13はこの発明の実施の
形態4によるデバッグシステムのトレース制御部を示す
ブロック図である。図において、14cはCPU2から
トレース制御部8に出力される割り込み処理信号で、C
PU2が割り込み処理中であることをトレース制御部8
に通知する信号である。また、この図13では実施の形
態4に関する構成を上記実施の形態3に適用した例を示
しているが、当然ながら上記実施の形態1や実施の形態
2に適用することも可能である。なお、図4及び図12
と同一構成要素には同一符号を付して重複する説明を省
略する。
【0119】次に動作について説明する。この実施の形
態4は、評価対象プログラムにおいてCPU2に割り込
み処理を行わせる命令があった場合を考えている。具体
的には、上記実施の形態で示したようなトレース情報の
採取期間中に、CPU2が割り込み処理を行う場合、割
り込み処理中であることを示す割り込み処理信号14c
を生成し、バッファ22に出力する。バッファ22で
は、割り込み処理信号14cを受けると、内部バス11
a,11bから情報を取り込むのを中止するように構成
しておく。このようにすることで、割り込み処理中のト
レース情報を削除することができる。
【0120】上記実施の形態で示したようにトレース情
報を分割して採取するには、毎回発生するトレース情報
が一致する必要がある。ここで、マイクロコンピュータ
1を用いたシステムを動作させるのに割り込み処理が必
要であるが、割り込み処理中のトレース情報自体はデバ
ッグに必要ない場合、割り込み処理中のトレース情報は
無視した方が毎回発生するトレース情報が一致しやす
い。
【0121】以上のように、この実施の形態4では、割
り込み処理信号14cを受けると、内部バス11a,1
1bから情報を取り込むのを中止するようにバッファ2
2を構成したので、毎回発生するトレース情報が一致し
やすくなり、トレース情報の分割採取を精度良く行うこ
とができると共に、デバッグに必要なトレース情報のみ
採取することができる。
【0122】また、トレース情報の採取期間以外にも、
割り込み処理中のトレース情報がデバッグに必要ない場
合、これを適宜削除することができることから、不要な
情報のない効率的なデバッグを行うことができる。
【0123】
【発明の効果】以上のように、この発明のマイクロコン
ピュータによれば、所定の繰り返し回数で、予め設定し
たサンプリング期間における評価対象プログラムの各実
行過程のトレース情報を生成し収集する収集手段と、各
回ごとにトレース情報を出力する出力手段と、収集手段
による繰り返し収集の全てが終了した時点で、出力手段
がサンプリング期間内で収集されるべき全てのトレース
情報を出力するように、各回ごとに収集したトレース情
報のうちいずれかを消去する間引き手段とを備えるの
で、トレース情報の発生量を予測することなく、トレー
ス情報を取りこぼすことなく収集するマイクロコンピュ
ータを得ることができるという効果がある。
【0124】この発明のマイクロコンピュータによれ
ば、収集手段がトレース情報を収集するにあたり、その
サンプリング期間内における所定の周期間隔を計数する
計数手段を間引き手段が備え、該所定の周期間隔内で生
成されるトレース情報を消去するので、簡単な機構の追
加でトレース情報の取りこぼしのないマイクロコンピュ
ータを得ることができるという効果がある。
【0125】この発明のマイクロコンピュータによれ
ば、計数手段がトレース情報の収集動作に関するクロッ
ク信号又はトレース情報の生成に同期して計数するの
で、簡単な機構の追加でトレース情報の取りこぼしのな
いマイクロコンピュータを得ることができるという効果
がある。
【0126】この発明のマイクロコンピュータによれ
ば、計数手段が外部からトレース情報を消去する周期間
隔及び/又はその計数開始点を設定する外部設定経路を
有するので、ユーザがトレース情報の間引きに関する適
宜設定を行うことができるという効果がある。
【0127】この発明のマイクロコンピュータによれ
ば、収集手段がトレース情報を収集するにあたり、出力
手段が先のトレース情報を出力中に生成・収集されて出
力不可となったトレース情報の数を計数して保持する破
棄数保持手段を備えるので、適切な繰り返し回数を決定
するための参考情報である出力不可となったトレース情
報数を提供するマイクロコンピュータを得ることができ
るという効果がある。
【0128】この発明のマイクロコンピュータによれ
ば、収集手段がトレース情報を収集するにあたり、その
サンプリング期間内で生成したトレース情報の総数を計
数して保持する総数保持手段を備えるので、適切な繰り
返し回数を決定するための参考情報であるトレース情報
総数を提供するマイクロコンピュータを得ることができ
るという効果がある。
【0129】この発明のマイクロコンピュータによれ
ば、サンプリング期間内で生成したトレース情報に関す
るサマリ情報を各回ごとに生成して保持するサマリ保持
手段と、該サマリ保持手段が各回ごとに保持したサマリ
情報を各々比較して、該比較結果を出力する比較手段と
を備えるので、各トレースごとに評価対象プログラムが
正常に実行されたか否かを判断するための情報を大量の
トレースメモリを設けることなく提供するマイクロコン
ピュータを得ることができるという効果がある。また、
トレース期間中にプログラムを複数回実行することで、
安定して同じ動作をするか否かを確認することができる
という効果がある。
【0130】この発明のマイクロコンピュータによれ
ば、サマリ情報がサンプリング期間内で生成したトレー
ス情報の総数及び/又はそのチェックサムからなるの
で、容量の少ない数値で評価対象プログラムが正常に実
行されたか否かを判断するための情報を構成するマイク
ロコンピュータを得ることができるという効果がある。
【0131】この発明のマイクロコンピュータによれ
ば、サマリ情報がサンプリング期間内で生成したトレー
ス情報に含まれるアドレス情報及び/又はデータ情報の
チェックサムからなるので、容量の少ない数値で評価対
象プログラムが正常に実行されたか否かを判断するため
の情報を構成するマイクロコンピュータを得ることがで
きるという効果がある。
【0132】この発明のマイクロコンピュータによれ
ば、サマリ保持手段が外部から保持内容を初期化する外
部設定経路を有するので、ユーザが適宜初期化できるサ
マリ情報を提供するマイクロコンピュータを得ることが
できるという効果がある。
【0133】この発明のマイクロコンピュータによれ
ば、収集手段がトレース情報を収集するにあたり、CP
Uの割り込み処理に関するトレース情報を消去する手段
を備えるので、毎回発生するトレース情報が一致しやす
くなり、トレース情報の分割採取を精度良く行うことが
できると共に、デバッグに必要なトレース情報のみ採取
するマイクロコンピュータを得ることができるという効
果がある。また、トレース情報の採取期間内の割り込み
処理中のトレース情報がデバッグに必要ない場合、これ
を適宜削除することができることから、不要な情報のな
い効率的なデバッグを行うことができるという効果があ
る。
【0134】この発明のデバッグシステムによれば、所
定の繰り返し回数で、予め設定したサンプリング期間に
おける評価対象プログラムの各実行過程のトレース情報
を生成し収集する収集手段と、各回ごとにトレース情報
を出力する出力手段と、収集手段による繰り返し収集の
全てが終了した時点で、出力手段がサンプリング期間内
で収集されるべき全てのトレース情報を出力するよう
に、各回ごとに収集したトレース情報のうちいずれかを
消去する間引き手段とを有するマイクロコンピュータに
対するデバッグを制御するシステムであって、出力手段
から各回ごとに出力されるトレース情報を逐次保持する
と共に、これら情報を本来の生成順序に並べ替えてサン
プリング期間全体で収集されるべきトレース情報を構築
するトレース情報再構築手段と、マイクロコンピュータ
内の各手段に対してトレース情報収集に関する情報の読
み出し及び/又はその設定を行うと共に、トレース情報
を用いてマイクロコンピュータに対するデバッグを制御
するデバッグ制御手段とを備えるので、トレース情報の
発生量を予測することなく、トレース情報の取りこぼし
をなくすことができると共に、トレースの繰り返し回数
に関わらず、複数回に分けて収集した各トレース情報か
ら所定のトレース情報を再構築することができることか
ら、トレース情報出力端子を増やしたり、トレースクロ
ック信号の動作周波数を上げて高速化することなく、ト
レース情報を取りこぼしなく収集するデバッグシステム
を得ることができるという効果がある。
【0135】この発明のデバッグシステムによれば、収
集手段がトレース情報を収集するにあたり、そのサンプ
リング期間内における所定の周期期間を計数する計数手
段を間引き手段が備えると共に、該所定の周期間隔内で
生成されるトレース情報を消去し、デバッグ制御手段が
トレース情報を消去する周期間隔及び/又はその計数開
始点を計数手段に設定するので、簡単な機構の追加でマ
イクロコンピュータにトレース情報収集に関する情報を
設定可能なデバッグシステムを得ることができるという
効果がある。
【0136】この発明のデバッグシステムによれば、収
集手段がトレース情報を収集するにあたり、出力手段が
先のトレース情報を出力中に生成・収集されて出力不可
となったトレース情報の数を計数して保持する破棄数保
持手段をマイクロコンピュータが備え、デバッグ制御手
段が破棄数保持手段から出力不可となったトレース情報
数を読み出して、該トレース情報数に応じて決定した繰
り返し回数をマイクロコンピュータに設定するので、出
力不可となったトレース情報数に基づいて適切な繰り返
し回数を決定するデバッグシステムを得ることができる
という効果がある。
【0137】この発明のデバッグシステムによれば、収
集手段がトレース情報を収集するにあたり、そのサンプ
リング期間内で生成したトレース情報の総数を計数して
保持する総数保持手段をマイクロコンピュータが備え、
デバッグ制御手段が総数保持手段から出力不可となった
トレース情報数を読み出して、該トレース情報の総数に
応じて決定した繰り返し回数をマイクロコンピュータに
設定するので、サンプリング期間内で生成したトレース
情報の総数に基づいて適切な繰り返し回数を決定するデ
バッグシステムを得ることができるという効果がある。
【0138】この発明のデバッグシステムによれば、サ
ンプリング期間内で生成したトレース情報に関するサマ
リ情報を各回ごとに生成して保持するサマリ保持手段
と、該サマリ保持手段が各回ごとに保持したサマリ情報
を各々比較して、該比較結果を出力する比較手段とをマ
イクロコンピュータが備え、デバッグ制御手段が比較結
果から各回ごとに生成するトレース情報の同一性を判定
し、該判定結果に基づいて評価対象プログラムが正常に
実行されたか否かを判断するので、各トレースごとに評
価対象プログラムが正常に実行されたか否かを判断する
ための情報を大量のトレースメモリを設けることなく得
ることができると共に、トレース期間中にプログラムを
複数回実行することで、安定して同じ動作をするか否か
を確認しながらデバッグを制御可能なデバッグシステム
を得ることができるという効果がある。
【0139】この発明のトレース情報収集方法によれ
ば、マイクロコンピュータによる評価対象プログラムの
実行過程のトレース情報を収集する方法であって、所定
の繰り返し回数で、予め設定したサンプリング期間にお
ける評価対象プログラムの各実行過程のトレース情報を
生成し収集する収集ステップと、収集ステップにて繰り
返し収集の全てが終了した時点で、サンプリング期間内
で収集されるべき全てのトレース情報を出力するよう
に、各回ごとに収集したトレース情報のうちいずれかを
消去する間引きステップと、各回ごとに消去された残り
のトレース情報を出力する出力ステップと、出力ステッ
プで各回ごとに出力されるトレース情報を逐次保持する
と共に、これら情報を本来の生成順序に並べ替えてサン
プリング期間全体で収集されるべきトレース情報を構築
するトレース情報再構築ステップとを備えるので、トレ
ース情報の発生量を予測することなく、トレース情報の
取りこぼしをなくすことができるという効果がある。ま
た、トレースの繰り返し回数に関わらず、複数回に分け
て収集した各トレース情報から所定のトレース情報を再
構築することができることから、トレース情報出力端子
を増やしたり、トレースクロック信号の動作周波数を上
げて高速化することなく、トレース情報を取りこぼしな
く収集することができるという効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるデバッグシス
テムの構成を概略的に示す図である。
【図2】 図1中のデバッグ機能内蔵マイクロコンピュ
ータの構成を示すブロック図である。
【図3】 図2中のデバッグ機能ブロックの構成を示す
ブロック図である。
【図4】 図3中のトレース制御部の構成を示すブロッ
ク図である。
【図5】 図2中のトレース制御部による分岐トレース
情報の出力タイミングとそのフォーマットを示す図であ
る。
【図6】 図2中のトレース制御部によるデータトレー
ス情報の出力タイミングとそのフォーマットを示す図で
ある。
【図7】 実施の形態1によるデバッグシステムにおけ
るトレース情報の発生タイミングの一例を示す図であ
る。
【図8】 1回目のトレースにおけるトレース情報の出
力タイミングを示す図である。
【図9】 トレース回数とトレース情報との関係を示す
図である。
【図10】 リアルタイムトレースにて採取されるべき
トレース情報の再構築を説明する図である。
【図11】 この発明の実施の形態2によるデバッグシ
ステムのトレース制御部を示すブロック図である。
【図12】 この発明の実施の形態3によるデバッグシ
ステムのトレース制御部を示すブロック図である。
【図13】 この発明の実施の形態4によるデバッグシ
ステムのトレース制御部を示すブロック図である。
【図14】 従来のデバッグシステムの構成を概略的に
示す図である。
【図15】 図14中のデバッグ機能内蔵マイクロコン
ピュータの構成を示すブロック図である。
【図16】 図15中のトレース制御部の構成を示すブ
ロック図である。
【符号の説明】
1 マイクロコンピュータ、2 CPU、3 メモリ及
び周辺機能ブロック、4 デバッグ機能ブロック、5
デバッグツール(デバッグ制御手段)、6 ホストコン
ピュータ(トレース情報再構築手段、デバッグ制御手
段)、7 デバッガ(トレース情報再構築手段、デバッ
グ制御手段)、8 トレース制御部(収集手段、間引き
手段、出力手段)、9 JTAG制御部(出力手段)、
10 トレーストリガ発生手段(収集手段)、10a
トレーススタート信号、10b トレースエンド信号、
10c データアクセス検知信号、11a アドレスバ
ス、11b データバス、12 データアクセス検知手
段、13 PC通過検知手段、14a ジャンプ要求信
号、14b 実行命令サイズ信号、14c 割り込み処
理信号、15 TAPコントローラ、16 命令レジス
タ、17 バウンダリスキャンテスト用レジスタ、18
トレース用レジスタ、19 入力選択部、20a,2
0b 出力選択部、21 トレース制御回路(収集手
段)、21a ラッチ信号、21b リセット信号、2
1c オーバライト回数セット信号、22バッファ、2
3 トレース情報カウンタ(計数手段、間引き手段、総
数保持手段)、23a カウンタ数指示信号、24 繰
り返し回数指定手段(間引き手段)、25 比較ビット
数指定手段(間引き手段)、26 コンパレータ(間引
き手段)、27 バッファ(収集手段)、28 出力制
御部、29 FIFOバッファ(収集手段)、30 オ
ーバライト回数保持手段(破棄数保持手段)、31トレ
ース情報一致検出部、32a,32b サマリ情報保持
手段(サマリ保持手段)、33 比較手段、33a 一
致信号。

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 所定の繰り返し回数で、予め設定したサ
    ンプリング期間における評価対象プログラムの各実行過
    程のトレース情報を生成し収集する収集手段と、 各回ごとにトレース情報を出力する出力手段と、 上記収集手段による繰り返し収集の全てが終了した時点
    で、上記出力手段が上記サンプリング期間内で収集され
    るべき全てのトレース情報を出力するように、各回ごと
    に収集したトレース情報のうちいずれかを消去する間引
    き手段とを備えたマイクロコンピュータ。
  2. 【請求項2】 間引き手段は、収集手段がトレース情報
    を収集するにあたり、そのサンプリング期間内における
    所定の周期間隔を計数する計数手段を備え、該所定の周
    期間隔内で生成されるトレース情報を消去することを特
    徴とする請求項1記載のマイクロコンピュータ。
  3. 【請求項3】 計数手段は、トレース情報の収集動作に
    関するクロック信号又はトレース情報の生成に同期して
    計数することを特徴とする請求項2記載のマイクロコン
    ピュータ。
  4. 【請求項4】 計数手段は、外部からトレース情報を消
    去する周期間隔及び/又はその計数開始点を設定する外
    部設定経路を有することを特徴とする請求項2記載のマ
    イクロコンピュータ。
  5. 【請求項5】 収集手段がトレース情報を収集するにあ
    たり、出力手段が先のトレース情報を出力中に生成・収
    集されて出力不可となったトレース情報の数を計数して
    保持する破棄数保持手段を備えたことを特徴とする請求
    項1記載のマイクロコンピュータ。
  6. 【請求項6】 収集手段がトレース情報を収集するにあ
    たり、そのサンプリング期間内で生成したトレース情報
    の総数を計数して保持する総数保持手段を備えたことを
    特徴とする請求項1記載のマイクロコンピュータ。
  7. 【請求項7】 サンプリング期間内で生成したトレース
    情報に関するサマリ情報を各回ごとに生成して保持する
    サマリ保持手段と、 該サマリ保持手段が各回ごとに保持したサマリ情報を各
    々比較して、該比較結果を出力する比較手段とを備えた
    ことを特徴とする請求項1記載のマイクロコンピュー
    タ。
  8. 【請求項8】 サマリ情報は、サンプリング期間内で生
    成したトレース情報の総数及び/又はそのチェックサム
    からなることを特徴とする請求項7記載のマイクロコン
    ピュータ。
  9. 【請求項9】 サマリ情報は、サンプリング期間内で生
    成したトレース情報に含まれるアドレス情報及び/又は
    データ情報のチェックサムからなることを特徴とする請
    求項8記載のマイクロコンピュータ。
  10. 【請求項10】 サマリ保持手段は、外部から保持内容
    を初期化する外部設定経路を有することを特徴とする請
    求項7記載のマイクロコンピュータ。
  11. 【請求項11】 収集手段がトレース情報を収集するに
    あたり、CPUの割り込み処理に関するトレース情報を
    消去する手段を備えたことを特徴とする請求項1記載の
    マイクロコンピュータ。
  12. 【請求項12】 所定の繰り返し回数で、予め設定した
    サンプリング期間における評価対象プログラムの各実行
    過程のトレース情報を生成し収集する収集手段と、各回
    ごとにトレース情報を出力する出力手段と、上記収集手
    段による繰り返し収集の全てが終了した時点で、上記出
    力手段が上記サンプリング期間内で収集されるべき全て
    のトレース情報を出力するように、各回ごとに収集した
    トレース情報のうちいずれかを消去する間引き手段とを
    有するマイクロコンピュータに対するデバッグを制御す
    るシステムであって、 上記出力手段から各回ごとに出力されるトレース情報を
    逐次保持すると共に、これら情報を本来の生成順序に並
    べ替えて上記サンプリング期間全体で収集されるべきト
    レース情報を構築するトレース情報再構築手段と、 上記マイクロコンピュータ内の各手段に対してトレース
    情報収集に関する情報の読み出し及び/又はその設定を
    行うと共に、上記トレース情報を用いて上記マイクロコ
    ンピュータに対するデバッグを制御するデバッグ制御手
    段とを備えたデバッグシステム。
  13. 【請求項13】 間引き手段は、収集手段がトレース情
    報を収集するにあたり、そのサンプリング期間内におけ
    る所定の周期期間を計数する計数手段を備えると共に、
    該所定の周期間隔内で生成されるトレース情報を消去
    し、 デバッグ制御手段は、トレース情報を消去する周期間隔
    及び/又はその計数開始点を上記計数手段に設定するこ
    とを特徴とする請求項12記載のデバッグシステム。
  14. 【請求項14】 マイクロコンピュータは、収集手段が
    トレース情報を収集するにあたり、出力手段が先のトレ
    ース情報を出力中に生成・収集されて出力不可となった
    トレース情報の数を計数して保持する破棄数保持手段を
    備え、 デバッグ制御手段は、上記破棄数保持手段から出力不可
    となったトレース情報数を読み出して、該トレース情報
    数に応じて決定した繰り返し回数を上記マイクロコンピ
    ュータに設定することを特徴とする請求項12記載のデ
    バッグシステム。
  15. 【請求項15】 マイクロコンピュータは、収集手段が
    トレース情報を収集するにあたり、そのサンプリング期
    間内で生成したトレース情報の総数を計数して保持する
    総数保持手段を備え、 デバッグ制御手段は、上記総数保持手段から出力不可と
    なったトレース情報数を読み出して、該トレース情報の
    総数に応じて決定した繰り返し回数を上記マイクロコン
    ピュータに設定することを特徴とする請求項12記載の
    デバッグシステム。
  16. 【請求項16】 マイクロコンピュータは、サンプリン
    グ期間内で生成したトレース情報に関するサマリ情報を
    各回ごとに生成して保持するサマリ保持手段と、該サマ
    リ保持手段が各回ごとに保持したサマリ情報を各々比較
    して、該比較結果を出力する比較手段とを備え、 デバッグ制御手段は、上記比較結果から各回ごとに生成
    するトレース情報の同一性を判定し、該判定結果に基づ
    いて評価対象プログラムが正常に実行されたか否かを判
    断することを特徴とする請求項12記載のデバッグシス
    テム。
  17. 【請求項17】 マイクロコンピュータによる評価対象
    プログラムの実行過程のトレース情報を収集する方法で
    あって、 所定の繰り返し回数で、予め設定したサンプリング期間
    における評価対象プログラムの各実行過程のトレース情
    報を生成し収集する収集ステップと、 上記収集ステップにて繰り返し収集の全てが終了した時
    点で、上記サンプリング期間内で収集されるべき全ての
    トレース情報を出力するように、各回ごとに収集したト
    レース情報のうちいずれかを消去する間引きステップ
    と、 各回ごとに消去された残りのトレース情報を出力する出
    力ステップと、 上記出力ステップで各回ごとに出力されるトレース情報
    を逐次保持すると共に、これら情報を本来の生成順序に
    並べ替えて上記サンプリング期間全体で収集されるべき
    トレース情報を構築するトレース情報再構築ステップと
    を備えたトレース情報収集方法。
JP2001266245A 2001-09-03 2001-09-03 マイクロコンピュータ及びデバッグシステム並びにトレース情報収集方法 Withdrawn JP2003076578A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001266245A JP2003076578A (ja) 2001-09-03 2001-09-03 マイクロコンピュータ及びデバッグシステム並びにトレース情報収集方法
US10/193,325 US6961872B2 (en) 2001-09-03 2002-07-12 Microcomputer and debugging system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001266245A JP2003076578A (ja) 2001-09-03 2001-09-03 マイクロコンピュータ及びデバッグシステム並びにトレース情報収集方法

Publications (1)

Publication Number Publication Date
JP2003076578A true JP2003076578A (ja) 2003-03-14

Family

ID=19092575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001266245A Withdrawn JP2003076578A (ja) 2001-09-03 2001-09-03 マイクロコンピュータ及びデバッグシステム並びにトレース情報収集方法

Country Status (2)

Country Link
US (1) US6961872B2 (ja)
JP (1) JP2003076578A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249490A (ja) * 2006-03-15 2007-09-27 Fujitsu Ltd 障害ログ自動選択収集方法および装置
JP2010044773A (ja) * 2009-09-25 2010-02-25 Fujitsu Ltd プロセッサデバッグ装置
JP2010517128A (ja) * 2007-01-23 2010-05-20 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリと無関係なトレース・ハンドルの定義(処理環境のトレースのハンドルを定義する方法、システム及びコンピュータ・プログラム)
WO2010092641A1 (ja) * 2009-02-13 2010-08-19 パナソニック株式会社 プログラムデバッグ装置およびエミュレータシステム
JP2011100388A (ja) * 2009-11-09 2011-05-19 Fujitsu Ltd トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法
JP2017507431A (ja) * 2014-03-26 2017-03-16 インテル コーポレイション コンピューティングデバイスの初期化トレース

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859897B2 (en) * 2000-03-02 2005-02-22 Texas Instruments Incorporated Range based detection of memory access
US7107489B2 (en) * 2002-07-25 2006-09-12 Freescale Semiconductor, Inc. Method and apparatus for debugging a data processing system
US20040019828A1 (en) * 2002-07-25 2004-01-29 Gergen Joseph P. Method and apparatus for debugging a data processing system
US7310749B2 (en) * 2002-12-17 2007-12-18 Texas Instruments Incorporated Apparatus and method for trace stream identification of a processor debug halt signal
US7463653B2 (en) * 2002-12-17 2008-12-09 Texas Instruments Incorporated Apparatus and method for compression of the timing trace stream
US7574585B1 (en) * 2003-01-31 2009-08-11 Zilog, Inc. Implementing software breakpoints and debugger therefor
US20040267489A1 (en) * 2003-06-24 2004-12-30 Frederic Reblewski Data compaction and pin assignment
CA2433750A1 (en) * 2003-06-27 2004-12-27 Ibm Canada Limited - Ibm Canada Limitee Automatic collection of trace detail and history data
JP2006012064A (ja) * 2004-06-29 2006-01-12 Toshiba Corp トレース装置
US7401262B2 (en) * 2004-08-05 2008-07-15 International Business Machines Corporation Method and apparatus for a low-level console
US20060294343A1 (en) * 2005-06-27 2006-12-28 Broadcom Corporation Realtime compression of microprocessor execution history
US7475231B2 (en) * 2005-11-14 2009-01-06 Texas Instruments Incorporated Loop detection and capture in the instruction queue
US20080162900A1 (en) * 2006-12-29 2008-07-03 Andre Rolfsmeier System, Method and Apparatus for Observing a Control Device
US7870436B2 (en) * 2007-04-25 2011-01-11 Broadcom Corporation System and method for tracing acceleration in an embedded device
US8312253B2 (en) * 2008-02-22 2012-11-13 Freescale Semiconductor, Inc. Data processor device having trace capabilities and method
US20090249046A1 (en) * 2008-03-31 2009-10-01 Mips Technologies, Inc. Apparatus and method for low overhead correlation of multi-processor trace information
US8230202B2 (en) * 2008-03-31 2012-07-24 Mips Technologies, Inc. Apparatus and method for condensing trace information in a multi-processor system
US8935577B2 (en) * 2012-08-28 2015-01-13 Freescale Semiconductor, Inc. Method and apparatus for filtering trace information
US9021311B2 (en) 2012-08-28 2015-04-28 Freescale Semiconductor, Inc. Method and apparatus for filtering trace information
US9535815B2 (en) * 2014-06-04 2017-01-03 Nvidia Corporation System, method, and computer program product for collecting execution statistics for graphics processing unit workloads
US10579611B2 (en) * 2017-06-05 2020-03-03 Western Digital Technologies, Inc. Selective event logging
US10502780B2 (en) * 2017-06-05 2019-12-10 Western Digital Technologies, Inc. Selective event filtering
FR3100907B1 (fr) * 2019-09-16 2022-12-09 St Microelectronics Grenoble 2 Test de programme
US11875057B2 (en) * 2021-07-20 2024-01-16 Nvidia Corporation Shared structure for a logic analyzer and programmable state machine
CN117435426B (zh) * 2023-10-18 2024-05-07 成都观岩科技有限公司 一种芯片内串行数据溢出校验方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04283842A (ja) 1991-03-13 1992-10-08 Fujitsu Ltd トレース制御方式
US5724505A (en) * 1996-05-15 1998-03-03 Lucent Technologies Inc. Apparatus and method for real-time program monitoring via a serial interface
US5996092A (en) * 1996-12-05 1999-11-30 International Business Machines Corporation System and method for tracing program execution within a processor before and after a triggering event
JPH1124959A (ja) 1997-07-02 1999-01-29 Hewlett Packard Japan Ltd マイクロプロセッサのトレース情報出力方法
JPH10275092A (ja) 1997-03-31 1998-10-13 Hewlett Packard Japan Ltd マイクロプロセッサのトレース情報出力方法
US6397354B1 (en) * 1999-03-26 2002-05-28 Hewlett-Packard Company Method and apparatus for providing external access to signals that are internal to an integrated circuit chip package
US6732307B1 (en) * 1999-10-01 2004-05-04 Hitachi, Ltd. Apparatus and method for storing trace information
JP2002163127A (ja) * 2000-11-27 2002-06-07 Mitsubishi Electric Corp トレース制御回路
US6760867B2 (en) * 2001-03-08 2004-07-06 International Business Machines Corporation Guaranteed method and apparatus for capture of debug data

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249490A (ja) * 2006-03-15 2007-09-27 Fujitsu Ltd 障害ログ自動選択収集方法および装置
JP2010517128A (ja) * 2007-01-23 2010-05-20 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリと無関係なトレース・ハンドルの定義(処理環境のトレースのハンドルを定義する方法、システム及びコンピュータ・プログラム)
WO2010092641A1 (ja) * 2009-02-13 2010-08-19 パナソニック株式会社 プログラムデバッグ装置およびエミュレータシステム
JP2010044773A (ja) * 2009-09-25 2010-02-25 Fujitsu Ltd プロセッサデバッグ装置
JP2011100388A (ja) * 2009-11-09 2011-05-19 Fujitsu Ltd トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法
US8819496B2 (en) 2009-11-09 2014-08-26 Fujitsu Limited Apparatus for collecting trace information and processing trace information, and method for collecting and processing trace information
JP2017507431A (ja) * 2014-03-26 2017-03-16 インテル コーポレイション コンピューティングデバイスの初期化トレース
US10146657B2 (en) 2014-03-26 2018-12-04 Intel Corporation Initialization trace of a computing device

Also Published As

Publication number Publication date
US6961872B2 (en) 2005-11-01
US20030046610A1 (en) 2003-03-06

Similar Documents

Publication Publication Date Title
JP2003076578A (ja) マイクロコンピュータ及びデバッグシステム並びにトレース情報収集方法
US6618775B1 (en) DSP bus monitoring apparatus and method
US6732311B1 (en) On-chip debugger
Vermeulen Functional debug techniques for embedded systems
JP3277900B2 (ja) プログラム検査方法、プログラム検査装置及び、検査プログラムを記憶したコンピュータ読み取り可能な記憶媒体
US6662313B1 (en) System and method for multiple cycle capture of chip state
US7332929B1 (en) Wide-scan on-chip logic analyzer with global trigger and interleaved SRAM capture buffers
US7533315B2 (en) Integrated circuit with scan-based debugging and debugging method thereof
US6397354B1 (en) Method and apparatus for providing external access to signals that are internal to an integrated circuit chip package
US20070101198A1 (en) Semiconductor integrated circuit device, and debugging system and method for the semiconductor integrated circuit device
US8819496B2 (en) Apparatus for collecting trace information and processing trace information, and method for collecting and processing trace information
JPH06160481A (ja) 用途特定形集積回路の動作の試験方法およびそれに関連する集積回路
US7650542B2 (en) Method and system of using a single EJTAG interface for multiple tap controllers
US20030233601A1 (en) Non-intrusive signal observation techniques usable for real-time internal signal capture for an electronic module or integrated circuit
US20130097462A1 (en) Embedded logic analyzer
JP2008170444A (ja) 集積回路
US7360117B1 (en) In-circuit emulation debugger and method of operation thereof
US9946624B1 (en) Systems and methods to capture data signals from a dynamic circuit
JP2005222446A (ja) オンボードデバッグ装置および半導体回路装置
JP2001142733A (ja) 内部信号観測装置
JP3120990B2 (ja) データ収集装置
US20050154947A1 (en) Microcomputer And Method For Debugging Microcomputer
JP2002288005A (ja) デバッグ及び性能解析用トレースデータ採取方式
JP3698478B2 (ja) デバッグ装置
JP2016075493A (ja) 集積回路、集積回路のテスト装置及びテスト方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060123

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20071101

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081104