JP2752592B2 - マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法 - Google Patents
マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法Info
- Publication number
- JP2752592B2 JP2752592B2 JP6339958A JP33995894A JP2752592B2 JP 2752592 B2 JP2752592 B2 JP 2752592B2 JP 6339958 A JP6339958 A JP 6339958A JP 33995894 A JP33995894 A JP 33995894A JP 2752592 B2 JP2752592 B2 JP 2752592B2
- Authority
- JP
- Japan
- Prior art keywords
- debug
- output
- address
- microprocessor
- trace
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
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)
Description
を応用したシステムのデバッグを行なうデバッグシステ
ムに関する。
にROMモニタと呼ばれるデバッグシステムである。ユ
ーザターゲットシステム70上に、ホストコンピュータ
90と接続するためのシリアルインターフェース80を
用意し、メモリ40中に、モニタプログラム41を格納
しておく。マイクロプロセッサ10は、このモニタプロ
グラム41を走らせることにより、I/O50、メモリ
40、レジスタ11にアクセスする。さらにソフトウエ
アブレイク命令を使用して、ユーザプログラムの実行制
御を行なう。
システム70上のマイクロプロセッサ10中に、デバッ
グツール100との通信に必要なシリアルインターフェ
ース12と、デバッグツール100から送られてきた電
気信号を解釈して実行するシーケンサ13を内蔵する。
シーケンサ13は、送られてきた信号に従って、ユーザ
プログラムの実行を一時停止し、レジスタ11にアクセ
スしたり、バスコントローラ14を使用して、メモリ4
0やI/O50にアクセスする。さらに、ハードウエア
ブレークポイントや、ソフトウエアブレーク命令を使用
して、ユーザプログラムの実行制御を行う。シリアルイ
ンターフェース12からの信号は、直接には、ホストコ
ンピュータ90に接続できないことが多いので、デバッ
グツール100が、ホストコンピュータ90からのコマ
ンドをマイクロプロセッサ10に接続できる電気信号に
変換したり、またマイクロプロセッサ10からの信号を
ホストコンピュータ90が理解できるデータ形式に変換
する。
インサーキットエミュレータと呼ばれるデバッグシステ
ムである。デバッグ時には、ユーザターゲットボードシ
ステム70上のマイクロプロセッサ10を取り外すか、
または無効にし、この部分にデバッグツール110のプ
ローブを接続して、デバッグ用マイクロプロセッサ12
0を代わりに動作させる。デバッグ用マイクロプロセッ
サ120は、デバッグツール上のモニタプログラムメモ
リ130に格納されているモニタプログラムを実行する
ことにより、ユーザプログラムの実行を制御したり、メ
モリ40上のデータにアクセスしたり、I/O50をア
クセスする。また、デバッグ用マイクロプロセッサ12
0は、あたかもマイクロプロセッサ10が実行している
かのように、ユーザターゲットシステム上のメモリ40
に格納されているプログラムを実行する。また、デバッ
グツール110は、トレースメモリ140を有し、デバ
ッグ用マイクロプロセッサ120のプロセッサバスの状
態をトレースすることができる。デバッグ用マイクロプ
ロセッサ110は、マイクロプロセッサ10からは得ら
れないトレース情報を出力する。これにより、プロセッ
サバスからだけではトレースできないプロセッサの内部
状態の一部がトレース可能になる。
にプリプロセッサと呼ばれているデバッグシステムであ
る。ユーザターゲットシステム70上のマイクロプロセ
ッサ10のプロセッサバス90に、ロジックアナライザ
150のプローブを接続することにより、マイクロプロ
セッサ10のメモリ40やI/O50に対するアクセス
をトレースすることができる。
来例の具体的な動作や回路構成は当業者には周知である
ため、これ以上詳細な説明はここでは与えない。
プログラムをユーザメモリ上で走らせるため、ユーザの
ユーザターゲットシステムのメモリシステムの動作が完
全でない場合にモニタ自身が安定して動作しない場合が
あった。また、ターゲットシステムのメモリ量に余裕が
ない場合、モニタが占有するアドレス空間が確保できな
いことがあった。さらに、モニタモードへ入るためにユ
ーザの割込みの一部を使用しなければならないので、プ
ログラムの種類によってはデバッグが不可能なことがあ
った。また、あらかじめユーザターゲット上にシリアル
インターフェースの回路を実装しなければならないな
ど、デバッグ後は使用しないかもしれない回路をターゲ
ットシステムに設ける必要があった。また、デバッグの
ためのハードウエアブレークポイント等の資源をもって
いないので、デバッグ機能が貧弱であり、トレースも取
れなかった。
セッサに内蔵し、さらに、シーケンサがレジスタにアク
セスするため、デバッグツールとの接続のためのロジッ
ク回路が複雑になり、チップ上での面積も大きくなっ
た。また、レジスタの追加などが発生した場合、シーケ
ンサを変更しなければならないので、変更のための作業
が大きかった。さらに、この従来例でもトレースは取れ
なかった。
クロプロセッサのすべてのピンにデバッグツールを接続
するため、プローブが高価になり、しかもプローブの接
触が不安定になることが多かった。また、ターゲット上
のメモリにアクセスする場合とデバッグツール内のモニ
タメモリにアクセスする場合とで、高速にバスを切替え
なければならないため、動作周波数の高いプロセッサで
は実現が困難であった。派生品のマイクロプロセッサが
ある場合には、パッケージやピンの数、位置が異なるた
めに、本質的には同じデバッグツールが使用できるにも
関わらず、プローブを派生品ひとつひとつに対して別の
デバッグツールを用意しなければならなかった。また、
プローブを接続することにより、ユーザターゲットで使
用する信号にも影響を与え、ユーザターゲットの動作そ
のものを不安定にする場合があった。
のプロセッサに対しても有効であるが、内蔵キャッシュ
メモリを持つプロセッサでは、キャッシュにヒットして
いる場合のトレースは取れなかった。また、内部にキュ
ーを持つプロセッサの場合は、フェッチされた命令が実
行されたかどうかを判別できなかった。また、ユーザプ
ログラムの実行制御機能はなく、ユーザメモリやI/O
の内容を参照したりすることはできなかった。
るために、本発明では、モニタメモリをデバッグツール
内に格納し、デバッグツール専用の信号を使ってモニタ
プログラムを動作させ、デバッグツール専用の割込みを
用意し、ハードウエアブレーク機能をマイクロプロセッ
サに内蔵した。
では、モニタプログラムを使用してレジスタ、ユーザメ
モリ、I/Oにアクセスする。
では、デバッグツール内のモニタメモリでモニタプログ
ラムを走らせるためのロジック回路、ハードウエアブレ
ークポイントを含む実行制御を行なうためのロジック回
路、及び実行された命令のPC情報を出力するためのロ
ジック回路をマイクロプロセッサに内蔵した。また、デ
バッグツールとの接続専用のピンをマイクロプロセッサ
に用意し、これらのピンだけをデバッグツールと接続し
た。さらにモニタプログラム実行中だけ出力されるクロ
ックの周波数を下げる機能を付け加えた。
では、デバッグツール内のモニタメモリでモニタプログ
ラムを走らせるためのロジック回路、ハードウエアブレ
ークポイントを含む実行制御を行なうためのロジック回
路、及び実行された命令のPC情報を出力するためのロ
ジック回路をマイクロプロセッサに内蔵した。
ット、データバス32ビットのプロセッサコアを内蔵す
るマイクロプロセッサに適用した場合の実施例を示す。
なお、図面及び以下の説明中、信号名に付加されたアス
タリスク(*)は、その信号が負論理であることを表す。
発明の一実施例のデバッグシステムの構成図を示す。デ
バッグシステムは、ユーザターゲットシステム70とデ
バッグツール60からなる。ユーザターゲットシステム
70は、デバッグ機能を内蔵したマイクロプロセッサ1
0、メモリ40、I/O50から構成される。マイクロ
プロセッサ10は、プロセッサコア20とデバッグモジ
ュール30から構成される。プロセッサコア20は、プ
ロセッサバス20を介して、メモリ40やI/O50を
アクセスし、プログラムを実行する。また、プロセッサ
コア20は、内部デバッグインターフェース15と内部
プロセッサバス16によって、デバッグモジュール30
と接続されている。デバッグモジュール30は、外部デ
バッグインターフェース71によって、デバッグツール
60と接続されている。
は、モニタプログラムを実行しているデバッグモード
と、ユーザプログラムを実行しているノーマルモードの
2つの実行モードがある。
20において、デバッグ例外、あるいはデバッグリセッ
トが発生すると、デバッグ例外のベクタアドレス、ある
いはデバッグリセットのベクタアドレスへジャンプし、
デバッグモードに入る。これらのベクタアドレスに対応
するメモリは、デバッグツール60上に置かれている。
プロセッサコア20は、デバッグモジュール30を介し
て、デバッグツール60上のモニタプログラムを実行す
る。モニタプログラムでは、メモリ、I/O、及びレジ
スタのリードやライト、ハードウエアブレークポイント
の設定、ユーザプログラムの実行開始アドレスの指定な
どの実行制御機能を実現する。プロセッサコア20がノ
ーマルモードへの復帰命令を実行することによって、ノ
ーマルモードへ復帰し、ユーザプログラムの実行を開始
あるいは再開する。
では、デバッグシステムは、ユーザプログラムを実行す
る。ノーマルモードでは、外部デバッグインターフェー
ス71にPC(program counter)情報が出力される。デ
バッグシステムは、ハードウエアブレーク、ソフトウエ
アブレーク、デバッグ割込み、デバッグリセットなどに
よって、プロセッサコア20へデバッグ例外またはデバ
ッグリセットを要求し、デバッグモードへ制御を移す。
以下に、デバッグモードで有効なシリアルモニタバス機
能と、ノーマルモードで有効な、PCトレース機能、ト
レーストリガ機能、ハードウエアブレーク機能、ソフト
ウエアブレーク機能、デバッグ割込み機能、デバッグリ
セット機能、及びマスク機能について、説明する。
ルモニタバス機能は、プロセッサコア20がモニタ専用
のアドレス領域をアクセスしている場合に、デバッグ専
用のピンを通るシリアル伝送経路を通じてデバッグツー
ル60内のモニタメモリにアクセスすることによって実
現される。モニタ専用メモリ以外の領域をアクセスする
場合には、通常のプロセッサバスを通じたアクセスが行
なわれる。これにより、モニタは、ユーザターゲットシ
ステム上のメモリやI/Oもアクセスできる。なお、以
下の実施例ではシリアルモニタバスのビット幅は1ビッ
トであるが、マイクロプロセッサのピンをこのバスのた
めにもっと多く使用できる場合には、複数ビット幅にす
ることもできる。
機能は、プロセッサコア20がユーザプログラムを実行
している時に、そのプログラムカウンタPCの値をトレ
ースする機能である。プロセッサコア20がメモリ40
上のユーザプログラムを実行しているときに、そのPC
トレース情報を内部デバッグインターフェース15へ出
力し、デバッグモジュール30がその情報を入力して情
報を加工した後、外部デバッグインターフェース71を
介して、デバッグツール60へ出力することによって実
現される。
リガ機能には、命令アドレストレーストリガ、データア
ドレスブレーク、及びプロセッサバストレーストリガの
3種類がある。命令アドレストレーストリガ機能は、プ
ロセッサコア20が内部デバッグインターフェースに出
力する命令実行アドレスの値を、デバッグモジュール3
0内のレジスタに設定されているアドレスの値と比較
し、それらが一致した時に、トレーストリガが発生した
ことを外部デバッグインターフェース71を介して、デ
バッグツール60へ伝達することによって、実現され
る。データアドレストレーストリガ機能は、プロセッサ
コア20が内部デバッグインターフェースに出力するデ
ータアクセスアドレスの値を、デバッグモジュール30
内のレジスタに設定されているアドレスの値と比較し、
それらが一致した時に、トレーストリガが発生したこと
を外部デバッグインターフェース71を介してデバッグ
ツール60へ伝達することによって、実現される。プロ
セッサバストレーストリガ機能は、プロセッサコア20
がプロセッサバスに出力するデータアクセスアドレス及
びそのデータの値を、デバッグモジュール30内のレジ
スタに設定されているアドレス及びデータの値と比較
し、それらが一致した時に、トレーストリガが発生した
ことを外部デバッグインターフェース71を介してデバ
ッグツール60へ伝達することによって、実現される。
ドウエアブレーク機能には、命令アドレスブレーク、デ
ータアドレスブレーク、及びプロセッサバスブレークの
3種類がある。命令アドレスブレーク機能は、プロセッ
サコア20が内部デバッグインターフェースに出力する
命令実行アドレスの値を、デバッグモジュール30内の
レジスタに設定されているアドレスの値と比較し、それ
らが一致した時に、デバッグ例外をプロセッサコア20
へ要求することによって、実現される。データアドレス
ブレーク機能は、プロセッサコア20が内部デバッグイ
ンターフェースに出力するデータアクセスアドレスの値
を、デバッグモジュール30内のレジスタに設定されて
いるアドレスの値と比較し、それらが一致した時に、デ
バッグ例外をプロセッサコア20へ要求することによっ
て、実現される。プロセッサバスブレーク機能は、プロ
セッサコア20がプロセッサバスに出力するデータアク
セスアドレス及びそのデータの値を、デバッグモジュー
ル30内のレジスタに設定されているアドレス及びデー
タの値と比較し、それらが一致した時に、デバッグ割込
みをプロセッサコア20へ要求することによって、実現
される。
トウエアブレーク機能は、プロセッサコア20がソフト
ウエアブレーク命令を実行することによりデバッグ例外
を発生するものである。これにより、デバッグモードへ
移行する。
込み機能は、プロセッサ20のデバッグ割込み信号をア
サートすることにより、プロセッサ20がデバッグ例外
を発生する機能である。これにより、デバッグモードへ
移行する。
リセット機能は、プロセッサ20のデバッグリセット信
号をアサートすることにより、プロセッサ20がデバッ
グリセットを発生する機能である。これにより、プロセ
ッサ20とデバッグモジュール30の内部状態が初期化
され、プロセッサコア20はデバッグモードとなり、デ
バッグリセットのベクタアドレスからプログラムの実行
を開始する。
に従って、ノーマルモード中のユーザ割込みをマスクし
たり、デバッグモード中のユーザリセットをマスクした
りする。
明>次にデバッグモジュール30について、さらに詳し
く説明する。
ックを示す。デバッグモジュール30には、命令/デー
タアドレスブレーク回路31、PCトレース回路32、
プロセッサバスブレーク回路33、シリアルモニタバス
回路34、レジスタ回路35、外部インターフェース回
路36、分周回路37が設けられている。
20と内部デバッグインターフェース15で接続されて
いる。プロセッサ20から出力される、実行された命令
のPC情報を入力し、その情報を加工して、外部インタ
ーフェース回路36へ出力する。
は、プロセッサコア20と内部デバッグインターフェー
ス15で接続されている。プロセッサコア20から出力
される命令アドレスを入力し、その値がレジスタ回路3
5内に設定されている命令アドレスと一致した場合、命
令アドレスブレークの使用が設定されていれば、プロセ
ッサコア20へ命令アドレスブレーク例外を要求する。
このとき、トレーストリガの使用が設定されていれば、
トリガが発生したことをPCトレース回路32へ通知す
る。
データアドレスを入力し、その値がレジスタ回路35内
に設定されているデータアドレスと一致した場合、デー
タアドレスブレークの使用が設定されていれば、プロセ
ッサコア20へデータアドレスブレーク例外を要求す
る。このとき、トレーストリガの使用が設定されていれ
ば、トリガが発生したことをPCトレース回路32へ通
知する。ブレークまたはトレーストリガの使用は、レジ
スタ回路35内の当該レジスタの当該ビットの値によっ
て設定される。
プロセッサバス16を介して、プロセッサコア20と接
続されている。データは、ビット毎にマスクをすること
ができる。この回路は、プロセッサバス上のバスサイク
ルを監視し、レジスタ回路35に設定されたアドレス及
びデータと、発生したバスサイクルのアドレス及びデー
タが一致すると、プロセッサコア20へ例外を要求す
る。このとき、トレーストリガの使用が設定されていれ
ば、トリガが発生したことをPCトレース回路32へ通
知する。
セッサバス16を介してプロセッサコア20と接続さ
れ、プロセッサコア20がデバッグツール60上のモニ
タプログラムを実行するときに、並列形式のデータを直
列形式に変換し、または直列形式のデータを並列形式に
変換し、そのインターフェースを行なう。
の機能を制御する制御レジスタを含む。各レジスタ毎に
アドレスが割り当てられている。内部プロセッサバス1
6と内部デバッグインターフェース15によってプロセ
ッサコア20と接続され、モニタプログラムを走らせる
ことによって制御レジスタの内容をリードまたはライト
することができる。また、制御レジスタの内容は、デバ
ッグモジュール30内の各回路やプロセッサコア20へ
出力され、デバッグ機能が制御される。
グモジュール30内のPCトレース回路32、シリアル
モニタバス回路34、プロセッサコア20とデバッグツ
ール60とのインターフェースを制御する回路である。
また、マスク機能も外部インターフェース回路36内で
実現されている。
周する回路である。シリアルモニタバス回路は、分周し
たクロックCLK2で動作する。
図7にデバッグツールの全体構成を示す。デバッグツー
ル60には、通信インターフェース620、コントロー
ラ630、モニタメモリ640、モニタメモリインター
フェース650、トレースメモリインターフェース66
0、トレースメモリ670、ランコントロール680、
及びターゲットインターフェース690が設けられてい
る。
ピュータとの通信を行なう。コントローラ630は、通
信インターフェース620を経由してホストコンピュー
タから送られてきたコマンドを解析し、実行し、結果を
送り返す。モニタメモリ640は、モニタプログラムを
格納し、これを実行するためのメモリである。モニタメ
モリインターフェース650は、ユーザターゲットシス
テム70からの直列形式の信号をモニタメモリ640に
アクセス可能な並列形式の信号に変換し、さらにコント
ローラ630及びユーザターゲット上のマイクロプロセ
ッサからのアクセス要求の調停を行なう。トレースメモ
リ670はユーザターゲットシステム70上のマイクロ
プロセッサ10から送られてくるPC情報を格納するた
めのメモリである。トレースメモリインターフェース6
60は、ユーザターゲットシステム70上のマイクロプ
ロセッサ10から送られてくるPC情報をトレースメモ
リ670に格納する。また、コントローラ630からの
アクセス要求があった場合に、ユーザターゲット上のマ
イクロプロセッサから送られてくるPC情報の格納を妨
げないように、これを制御する。ランコントロール68
0は、ユーザターゲットシステム70から供給されるユ
ーザリセット信号RESET*とユーザシステムの電源ライン
の電圧VDDを入力し、デバッグ割込信号DINT*とデバッグ
リセット信号DRESET*をユーザターゲットシステム70
に与えることにより、ユーザプログラムをリセットした
り、停止させたり、あるいは、実行させたりする。ター
ゲットインターフェース690は、パワーオン時のユー
ザターゲットシステム70及びデバッグツール60を保
護するための回路と、ターゲットユーザシステム70の
電源電圧に応じて入出力電圧を調整する回路から成る。
のインターフェース信号>デバッグツール−マイクロプ
ロセッサ間のインターフェース信号は、全部で20本で
ある。内訳を以下に示す。入力/出力は、マイクロプロ
セッサ側から見た場合の方向を示す。
60との外部デバッグインターフェース信号は、次の8
本である。 1. DCLK : 出力 2. DRESET : 入力 3-5. PCST(2:0) : 出力 6. SDA0 / TPC : 出力 7. SDI / DINT : 入力 8. DBGE : 入力
のような信号もデバッグツール60に接続する。 9. RESET : 出力 10. VDD : 出力
モニタバス、PCトレースインターフェースの信号のタ
イミングは、すべてこのデバッグクロックDCLKで規定さ
れる。シリアルモニタバス動作の時は、プロセッサコア
20の動作クロックを分周したクロックになる。
(プルアップ付き端子) デバッグリセット入力。ローアクティブの信号である。
DRESET*がアサートされると、ICEモジュールは初期化さ
れる(DBGEには無関係)。デバッグツール60を使用し
ないときには、この端子を未接続にする。
のモードを出力する。以下の表に、この3ビットのPCST
の出力するコードの意味を示す。
を示す) 010(TST) : パイプラインストール時のトレーストリガ
出力 001(TSQ) : 実行時のトレーストリガ出力 000(DBM) : デバッグモード (0:ローレベル、1:ハイレベル)
(プルアップ付き端子) デバッグツール60の接続の有無を示す。外部にデバッ
グツール60が接続されていない時には、プルアップの
ため、ハイレベルになる。デバッグツール60側ではロ
ーレベルにしてあるので、デバッグツールを接続すると
ローレベルになる。
合(DBGE*信号がハイレベルの場合)には、プロセッサ
コア20のデバッグ例外ベクタアドレスはユーザに解放
されている領域になり、デバッグ例外により、ユーザの
作成したモニタなどへ移行することができる。また、ユ
ーザリセットにより、デバッグモジュール機能が初期化
され、デバッグ機能はハードウエアブレーク機能を除い
てディスエーブルされ、マイクロプロセッサの電力消費
を低減させる。また、出力信号(SDAO/TPC,DCLK,PCST
[2:0])は、すべてハイインピーダンス状態になる。
は、プロセッサコア20のデバッグ例外ベクタアドレス
はユーザに解放されていないモニタ専用領域になる。こ
の時、ユーザリセットでは、デバッグモジュールは初期
化されない。これにより、ユーザリセットの直後でもデ
バッグ機能が活用できる。つまり、ユーザリセット直後
のユーザターゲットシステムの挙動を観測したいという
要求に対しても、本発明の構成によって対応することが
できる。
utput/Target PC) : 出力端子 マイクロプロセッサがモニタプログラムを実行している
時(以下、デバッグモードと称する)は、データ/アド
レスをシリアルで出力する端子SDAO(Serial Data and A
ddress Output)として、またマイクロプロセッサがユー
ザプログラムを実行している時(以下、ノーマルモード
と称する)は、ターゲットPCをシリアルで出力する端
子TPC(Target PC)として機能する。
号を1ビットづつシリアルに出力する信号端子である。
バスサイクル開始前にスタートビットを出力する。(つ
まり、1クロック間ローレベルを出力する。)出力の順
は、リード時は、スタートビット(ローレベル)、A2-A
19,RD,WR,BE0-BE3。ライト時は、スタートビット(ロー
レベル)、A2-A19,RD,WR,BE0-BE3,D0-D31である。
みのベクタ番号を出力するための信号である。ターゲッ
トアドレスは、下位アドレスA[2]から上位アドレスA[3
1]まで順に出力される。
Interrupt) : 入力端子(プルアップ付き) デバッグモード中はシリアルデータ入力端子SDI(Serial
Data input)として、またノーマルモード中はデバッグ
割込端子DINT*(Debug Interrupt)として動作する。
トビット(ローレベル)が入力されると、次のクロック
からデータ入力を開始する。ライトのとき、ローレベル
が入力されると、バスサイクルが終了する。入力の順
は、リード時はスタートビット(ローレベル)、D[0]-D
[31]である。ライト時は終了ビット(ローレベル)だけ
入力する。
デバッグツール60を使用しない時にはこの端子を未接
続にする。
に接続することにより、例えばデバッグモジュール30
からの応答がない時にそれがユーザリセット信号による
ものであるかどうかが判断できる。また、ユーザリセッ
ト直後にデバッグリセットをかけたい時には、このRESE
T*信号がハイレベルになった後までDRESET*を入れるこ
とで、実現が可能である。
デバッグツール60に入力してやることにより、デバッ
グツール60は、ユーザターゲットシステム70の電源
電圧を知ることができる。これにより、ユーザターゲッ
トシステムの電源電圧に合わせて、入力波形のスレッシ
ュホールド値を変更したり、出力波形の電圧レベルを変
更したりすることができる。また、ユーザターゲットシ
ステム70の電源が投入されていないと判断される場合
には、デバッグツール60側の出力用デバイスをハイイ
ンピーダンスにし、デバイスの保護をはかる。
間のグランドレベルを合わせるために、10本のグラン
ド線を接続する。これらは、デバッグツール60間とユ
ーザターゲットシステム70間の伝送ケーブル中では上
記(1)-(8)の信号の間に位置し、信号間のクロストーク
を低減する役割も果たす。
6のシリアルモニタバス回路34の動作について説明す
る。
グモード中に、プロセッサコア20がモニタ専用領域を
アクセスする場合、シリアルモニタバス回路34を介し
て、デバッグツール60上のメモリがアクセスされる。
ーションでは、シルアルモニタバス回路34は、アドレ
ス、バス制御信号、データをSDAO信号に、1ビットづつ
シリアルに出力する。リードオペレーションでは、アド
レス、バス制御信号を1ビットづつシリアルに出力す
る。リードオペレーションでは、アドレス、バス制御信
号をSDAO信号に出力し、SDI信号からデータを1ビット
づつシリアルに入力する。
0の動作クロックCLKを分周したクロックCLK2で
動作する。
プロセッサコアのアドレス信号のA[19:2]の18ビット
であり、1Mバイトのメモリ空間をアクセスできる。
号BE[3:0]をシリアルモニタバスへ出力するので、バイ
ト、ハーフワード、3バイトのアクセスも可能である。
ただし、シリアルモニタバスでは、バイト、ハーフワー
ド、3バイトアクセスの場合も、32ビット分のデータ
をを転送する。バイト、ハーフワード、3バイトのライ
トのとき、BE[3:0]*がインアクティブなバイト位置のデ
ータは不定である。リードの時は、インアクティブバイ
トなバイト位置のデータはプロセッサコア20で無視さ
れ、リードされない。
ライトは無視され、リードは結果が不定となる。このよ
うなライトアクセスがあった時、シリアルモニタバス回
路34は、プロセッサコア20へ、バスオペレーション
の完了を示すアクノリッジ信号を送り、バスオペレーシ
ョンを終了する。
細説明>図8にシリアルモニタバスに関わる回路の概略
図を示す。これを用いて、信号伝送の手順を説明する。
なう場合〕 (1)プロセッサコア20から出力される並列形式のア
ドレス、リード信号、バイトイネーブルをシリアル出力
回路A342が直列形式に変換して、SDAOから出力す
る。 (2)デバッグツール60内のシリアルモニタ入力回路
B651はこれを入力し、並列形式に変換し、モニタメ
モリ640に出力する。 (3)メモリから出力された並列形式のデータは、シリ
アル出力回路B652で直列形式に変換され、SDIを通
じて出力される。 (4)デバッグモジュール30内のシリアル入力回路A
343はこれを並列形式に変換して、プロセッサコア2
0へ出力する。 (5)プロセッサコア20がその並列形式のデータをリ
ードする。
なう場合〕 (1)プロセッサコア20から出力される並列形式のア
ドレス、ライト信号、バイトイネーブル、データをシリ
アル出力回路A342が直列形式に変換して、SDAOから
出力する。 (2)デバッグツール60内のシリアル入力回路B65
1はこれを入力し、並列形式に変換し、モニタメモリ6
40に出力する。 (3)モニタメモリ640への書き込みが終了したら、
シリアル出力回路B652で、SDIに1クロック間だけ
ローレベルを出力する。 (4)ユーザターゲットシステム70内のマイクロプロ
セッサ10中のシリアル入力回路A343は、このロー
レベルを入力したら、プロセッサコア20へライトサイ
クル終了したことを伝える。 (5)プロセッサコア20は、ライトサイクルを終了す
る。
イミングの詳細説明>以下にシリアルモニタバスオペレ
ーションをタイミングチャートを用いて詳しく説明す
る。
ーション〕図9にシリアルモニタバスのリードバスオペ
レーションのタイミングチャートを示す。 (1)プロセッサコア20がモニタ専用領域に対するリ
ードバスオペレーションを開始する(サイクル1)。プ
ロセッサコア20は、プロセッサバスにアクセスするア
ドレスを並列形式で出力し、リード信号をアサートし、
またリードするバイト位置のバイトイネーブル信号をア
サートする。 (2)シリアルモニタバス回路34は、モニタ領域への
リードバスオペレーションの開始を認識すると、SDAO信
号にコアクロックCLKを分周したCLK2信号の1ク
ロック間ローレベルを出力する(サイクル2)。 (3)シリアルモニタバス回路34は、プロセッサコア
20のリードバスオペレーションで出力された、アドレ
スA[2]-A[19]、ハイレベル(リードを示す)及びバイト
イネーブル信号BE[0]*-BE[3]*を、この順でSDAO信号に
CLK2信号の1クロック間づつ出力する(サイクル3
〜25)。 (4)デバッグツール60内のモニタメモリインターフ
ェース650は、SDAO信号に出力されたアドレスA[2]-A
[19]、ハイレベル(リードを示す)及びバイトイネーブ
ル信号BE[0]*-BE[3]*を、この順で、DCLKに従って1ク
ロックづつ入力し、アドレス及びバイトイネーブル信号
を並列形式に変換し、モニタメモリ640に対して出力
する。 (5)モニタメモリインターフェース650は、モニタ
メモリ640から出力された並列形式のデータを直列形
式に変換する。データを外部へ出力する前に、1クロッ
ク間SDI信号にローレベルを出力する(サイクルn)。
続けて、DCLKに同期して、データをD[0]から順に1ビッ
トづつD[31]まで出力する(サイクルn+1〜n+3
2)。 (6)シリアルモニタバス回路34は、SDIにローレベ
ルを検出すると(サイクルn)、次のサイクルよりデー
タD[0]-D[31]をDCLKの1クロック毎に読み込む(サイク
ルn+1〜n+32)。 (7)シリアルモニタバス回路34は、プロセッサコア
20のリードバスの応答信号をアサートし、読み込んだ
32ビットのデータをプロセッサバスへ並列形式にして
出力する(サイクルn+33)。 (8)プロセッサコア20は、プロセッサバス上のデー
タを読み込み、リードバスオペレーションを終了する。
ーション〕図10にシリアルモニタバスのライトバスオ
ペレーションのタイミングチャートを示す。 (1)プロセッサコア20がモニタ専用領域に対するラ
イトバスオペレーションを開始する(サイクル1)。プ
ロセッサコア20は、プロセッサバスにアクセスするア
ドレスを出力し、ライト信号をアサートする。ライトす
るバイトの位置のバイトイネーブル信号をアサートす
る。 (2)シリアルモニタバス回路34は、モニタ領域への
ライトバスオペレーションの開始を認識すると、SDAO信
号にコアクロックCLKを分周したCLK2信号の1ク
ロック間ローレベルを出力する(サイクル2)。 (3)シリアルモニタバス回路34はプロセッサコア2
0のライトバスオペレーションで出力された、アドレス
A[2]-A[19]、ローレベル(ライトを示す)、バイトイネ
ーブル信号BE[0]*-BE[3]*及びライトデータDOUT[0]-DOU
T[31]を、この順でSDAO信号にCLK2信号の1クロッ
ク間づつ出力する(サイクル3〜57)。 (4)デバッグツール60内のモニタメモリインターフ
ェース650は、SDAO信号に出力されたアドレスA[2]-A
[19]、ハイレベル(リードを示す)、バイトイネーブル
信号BE[0]*-BE[3]*及びライトデータDOUT[0]-DOUT[31]
をこの順でDCLKに従って、1クロックづつ入力し、アド
レス、バイトイネーブル信号、ライトデータを並列形式
に変換し、モニタメモリ640に対して出力する。 (5)モニタメモリインターフェース650は、モニタ
メモリ640への書き込みが終了したら、1クロック間
SDI信号にローレベルを出力する(サイクルn)。 (6)シリアルモニタバス回路34は、SDIにローレベ
ルを検出すると、プロセッサコア20に対して、ライト
バス応答信号をアサートする(サイクルn+1)。 (7)プロセッサコア20は、ライトバスオペレーショ
ンを終了する。
クトジャンプ、ダイレクトジャンプ、分岐を以下のよう
に、定義する。 ・インダイレクトジャンプ レジスタに格納されているアドレスへのジャンプなど、
ジャンプ先がその命令自体では特定できないジャンプ。 ・ダイレクトジャンプ 命令自身が格納されているアドレス及び命令コードによ
ってジャンプ先のアドレスが特定できるジャンプ。 ・分岐 命令自身が格納されているアドレス及び命令コードの一
部の和で分岐先が特定できるジャンプ。分岐において、
実際にジャンプが発生するかどうかは条件により決ま
る。実際にジャンプが行なわれることを分岐成立、行な
われなかったことを分岐不成立と呼ぶ。
レースモードがある。 ・リアルタイムトレースモード このモードでは、プロセッサコア20の実行は常にリア
ルタイムで行なわれるが、インダイレクトジャンプのタ
ーゲットPC出力中に次のインダイレクトジャンプが発
生した場合、先に発生したインダイレクトジャンプのタ
ーゲットPCの出力は中止され、新しいターゲットPC
の出力が開始される。 ・非リアルタイムトレースモード このモードでは、上記のようにインダイレクトジャンプ
が接近して発生した場合、先に発生したインダイレクト
ジャンプのターゲットPCを出力し終るまでプロセッサ
コア20のパイプライン処理を停止させる。これによ
り、プロセッサコア20の実行のリアルタイム性は損な
われるが、インダイレクトジャンプのターゲットPCは
必ず完全に出力される。
20から以下の信号を入力する。 ・デバッグモード信号 プロセッサコア20がデバッグモード中か、ノーマルモ
ード中かを示す。 ・パイプライン実行信号 命令が一命令実行されたことを示す。 ・30ビットのターゲットPC[31:0]信号 分岐命令、ジャンプ命令のターゲットアドレス、あるい
は例外のベクタアドレスを示す。以下のインダイレクト
ジャンプ信号、ダイレクトジャンプ命令、分岐成立信
号、例外発生信号がアサートされているときに有効であ
る。 ・インダイレクトジャンプ信号 インダイレクトジャンプが実行されたことを示す。 ・ダイレクトジャンプ信号 ダイレクトジャンプが実行されたことを示す。 ・分岐成立信号 分岐成立の分岐命令が実行されたことを示す。 ・例外発生信号 例外が発生したことを示す。
ースを完全に行なうために、以下の信号をプロセッサコ
ア20へ出力する。 ・パイプラインストール要求信号 ターゲットPCの出力を完全に行なう非リアルタイムト
レースモードの時、プロセッサコア20のパイプライン
をストールさせるための信号である。PCトレース回路
32は、インダイレクトジャンプのターゲットPCを出
力している時に次のインダイレクトジャンプが発生する
と、この信号をアサートしてプロセッサコア20のパイ
プラインをストールさせる。出力中のターゲットPCが
完全に出力されるとこの信号をネゲートして、プロセッ
サコア20のパイプライン処理を再開させる。
ドレスブレーク回路31とプロセッサブレーク回路33
からトリガ要求信号を入力する。また、レジスタ回路3
5内のレジスタに割り当てられているトレースモードを
切替えるビットの状態を入力する。
時にプロセッサコア20が出力するPCトレース情報
を、1ビットのPC出力(TPC信号)と、3ビットのス
テータス信号(PCST[2:0]信号)にしてデバッグツール
60へ出力する。以下にPCST[2:0]とTPC信号について説
明する。
行状態をPCST[2:0]に出力する。下記の説明では、"0"は
ローレベルを、"1"はハイレベルを表す。 ・111(STL):パイプラインストール トレーストリガ出力のない状態で、命令の実行終了がな
かったことを示す。 ・110(JMP):分岐/ジャンプ成立(PC出力あり) 分岐成立の分岐命令、ジャンプ命令の実行が終了し、TP
C信号にそのターゲットアドレス(分岐、ジャンプ先の
アドレス)の出力を開始したことを示す。 ・101(BRT):分岐/ジャンプ成立(PC出力なし) 分岐成立の分岐命令、ジャンプ命令の実行が終了した
が、TPC信号にそのターゲットアドレス(分岐、ジャン
プ先のアドレス)の出力がないことを示す。 ・100(EXP):例外発生(例外ベクタのコード出力あり) 例外が発生したことを示す。同時にTPC信号へ例外ベク
タのコード出力が開始されたことを示す。コードは、3
ビットあり、下位code(0)からcode(1)、code(2)の順でT
PC信号へ出力する。
1ビットであり、その値によって、例外処理のベクタア
ドレスを変更できる。
実行したことを示す) ジャンプ、分岐の実行(JMP,BRT)以外、あるいはトレー
ストリガ出力要求(TSQ)のない状態で、命令が実行され
たことを示す。分岐不成立の分岐命令が実行されたとき
もこのコードが出力される。 ・010(TST):パイプラインストール時のトレーストリガ
出力 命令の実行終了がないクロックで、命令アドレストレー
ストリガまたは、プロセッサバストレーストリガが発生
したことを示す。 ・001(TSQ):実行時のトレーストリガ出力 命令の実行が終了したクロックで、命令アドレストレー
ストリガあるいはプロセッサバストレーストリガが発生
したことを示す。 ・000(DBM):デバッグモード ノーマルモードでは、このコードが出力されることはな
い。 〔TPC〕分岐命令、ジャンプ命令のターゲットアドレス
を出力する信号である。PCST[2:0]に110(JMP)が出力さ
れたクロックから、ターゲットアドレスの出力を開始す
る。ターゲットアドレスは、下位A(2)から1クロック毎
に出力される。PCST[2:0]に、100(EXP)が出力されたク
ロックから、例外ベクタの3ビットコードを出力する。
コードは、下位code(0)から1クロック毎に出力する。
ーゲットアドレスを出力するため、前の分岐ジャンプ命
令をTPC信号へ出力している途中に、次の分岐、ジャン
プ命令あるいは例外が発生することがある。この場合の
TPCへのターゲットアドレス出力の優先度について、以
下のように規定する。
ドである場合、ターゲットPC出力中に新たにインダイ
レクトジャンプが発生すると、その時のターゲットPC
出力を終了し、必ず新たなインダイレクトジャンプのタ
ーゲットPCの出力を開始する。 (2)トレースモードが非リアルタイムモードである場
合、ターゲットPC出力中に新たにインダイレクトジャ
ンプが発生すると、その時のターゲットPC出力を終了
するまでプロセッサコアのパイプライン処理を停止し、
必ずそのターゲットPC出力を終了してからプロセッサ
コアのパイプライン処理を再開し、新たなインダイレク
トジャンプのターゲットPCの出力を開始する。 (3)ターゲットPC出力中に例外が発生したときは、
例外のベクタ番号(3ビット)を必ず出力し、その後、
中断していたPC出力を再開する。 (4)ターゲットPC出力中に、新たにダイレクトジャ
ンプ、分岐が発生したときは、そのダイレクトジャン
プ、分岐のターゲットアドレスの出力は行なわない。ダ
イレクトジャンプ、分岐については、発生時にターゲッ
トPCを出力していない時のみ、そのターゲットPCが
出力される。ダイレクトジャンプまたは分岐の場合に
は、ターゲットアドレスが出力されなくても、その命令
がアドレス何番地にストアされているのかがわかれば、
メモリにストアされているその命令のコードを参照する
ことにより、ジャンプ先、分岐先のアドレスが判明す
る。当該命令がアドレス何番地にストアされているか
は、その前に発生したダイレクトジャンプまたは分岐か
ら何クロック目に実行されているかで判明する。
明する。
の分岐成立の分岐命令beqでは、TPCにターゲットPCを
出力していないので、PCST[2:0]にJMPコードを出力し、
TPCにターゲットPCの出力を開始する。分岐不成立の分
岐命令bneでは、PCST[2:0]にSEQコードを出力する。2
番目の分岐成立の分岐命令bneはダイレクトジャンプで
あり、最初の分岐命令のターゲットPCを出力している
ので、TPCにターゲットPCを出力しない。PCST[2:0]に
は、BRTコードを出力する。
Cトレース 図12にインダイレクトジャンプ命令のPCトレース出
力の例を示す。最初のインダイレクトジャンプ命令jrl
では、PCST[2:0]にJMPコードを出力し、TPCにターゲッ
トPCの出力を開始する。分岐不成立の分岐命令bneで
は、PCST[2:0]にSEQコードを出力する。2番目のインダ
イレクトジャンプ命令jr2では、最初のインダイレクト
ジャンプ命令のターゲットPCの出力を中止して、jr2
のターゲットPCをTPCへ出力する。PCST[2:0]にはJMP
コードを出力する。
令のPCトレース 図13に例外とインダイレクトジャンプ命令のPCトレ
ース出力の例を示す。ソフトウエアブレーク命令break
例外が発生すると、PCST[2:0]にEXPコードを出力し、TP
Cに例外ベクタコードの出力を開始する。分岐不成立の
分岐命令bneでは、PCST[2:0]にSEQコードを出力する。
インダイレクトジャンプ命令jr2では、jr2のターゲット
PCをTPCへ出力し、PCST[2:0]には、JMPコードを出力
する。
していない場合のPCトレース 図14にデバッグ例外発生時のPCST[2:0]の出力タイミ
ングの例を示す。同図において、DM信号は、ハイレベル
でデバッグモード中であることを示し、ローレベルでノ
ーマルモード中であることを示す、プロセッサコア20
中の内部信号である。プロセッサコア20がデバッグ例
外あるいはデバッグリセットを発生すると、デバッグモ
ードに入る。このとき、PCトレース回路32はPCST
[2:0]出力にDBMコードを出力する。ターゲットPCを出
力していないときは、デバッグ例外を発生した命令の実
行終了直後にデバッグモードになる。デバッグ例外を発
生した直前の命令までのPCトレース情報が出力され
る。
している場合のPCトレース 図15にデバッグ例外発生時に、ターゲットPCを出力
している場合のPCST[2:0]出力タイミングを示す。ター
ゲットPCを出力している時は、そのターゲットPCが
完了した後、デバッグモードになる。デバッグ例外を発
生した直前の命令までのPCトレース情報が出力され
る。ターゲットPCを出力している間は、PCST[2:0]に
はSTLが出力される。
ドへの移行時のPCトレース 図16にデバッグモードからの復帰時のPCST[2:0]の出
力タイミングを示す。デバッグ例外、デバッグリセット
からの復帰命令DERET命令の分岐ディレイスロット命令
までがデバッグモードに属する。DERET命令の戻り先の
命令からノーマルモードになり、PCトレースが有効に
なる。
信号へのトレーストリガの出力について説明する。命令
アドレストレーストリガ、データアドレストレーストリ
ガ、プロセッサバストレーストリガのいずれかが発生し
た場合、次のような論理でトレーストリガ情報がPCST
[2:0]に出力される。 (1)その時に分岐成立の分岐命令もしくはジャンプ命
令が実行されているか、例外が発生している場合 ここにおいてもしトレーストリガが発生しなければ、PC
ST[2:0]にはJMP、BRT、EXPコードが出力されるはずであ
る。この(1)の場合、にはトレーストリガが発生して
もPCST[2:0]の出力は変化せずに保留され、直後の
(2)または(3)のケースで、トレーストリガ情報が
出力される。 (2)その時にパイプラインがストールしている場合 ここにおいてもしトレーストリガが発生しなければ、PC
ST[2:0]には、STLコードが出力されるはずである。この
(2)の場合、トレーストリガが発生すると、PCST[2:
0]にはTSTコードが出力される。 (3)(1)及び(2)以外の場合、すなわちパイプラ
インが順次実行をしている場合 ここにおいてもしトレーストリガが発生しなければ、PC
ST[2:0]にはSEQコードが出力されるはずである。この
(3)の場合、トレーストリガが発生すると、PCST[2:
0]にはTSQコードが出力される。
発生例を示す。add命令実行中にトレーストリガが発生
したので、トレーストリガのコードTSQを出力する。
リガが発生した場合の例 図18に、例外発生命令実行中にトレーストリガが発生
した例を示す。ソフトウエアブレーク命令break実行中
にトレーストリガが発生したが、break命令実行のクロ
ックではPCST[2:0]信号に例外発生のコードEXPを出力
し、次のクロックでトレーストリガのコードを出力す
る。この例ではストール状態なので、TSTコードを出力
する。
中にトレーストリガが発生した場合の例 図19に、インダイレクトジャンプ命令実行中にトレー
ストリガが発生した場合の例を示す。インダイレクトジ
ャンプ命令jr2を実行中にトレーストリガが発生した
が、jr2命令実行のクロックではPCST[2:0]信号にジャン
プのコードJMPを出力し、次のクロックでトレーストリ
ガのコードを出力する。この例では命令実行状態なの
で、TSQコードを出力する。
説明>図20に、デバッグツール60内のトレースメモ
リインターフェース660とトレースメモリ670の構
成図を示す。
C及びPCST[2:0]は、トレースデータレジスタ663を通
してトレースメモリ670へ書き込まれる。この時のア
ドレスの値は、トレースアドレスカウンタ662から供
給される。PCST[2:0]はトレーストリガデコーダ664
にも入力されており、トレーストリガの発生をトレース
メモリコントロール回路661へ伝える。トレースアド
レスカウンタの初期値の設定、インクリメント/停止の
指示は、トレーストリガデコーダ664の出力結果に基
づいてトレースメモリコントロール回路661が行な
う。
0の内容を読み出す場合には、コントローラアドレスレ
ジスにアドレスを設定してトレースメモリコントロール
回路661にリード要求を出すと、データがコントロー
ラデータレジスタ667に書き込まれるので、これを読
み出す。
0へデータを書き込む場合には、コントローラアドレス
レジス665にアドレスを設定し、コントローラデータ
レジスタ667にデータを設定し、トレースメモリコン
トロール回路661にライト要求を出す。
バッグモジュール内の電源供給の構造を示す。
信号DBGE*はハイレベルになっている。ユーザリセット
時にこのDBGE*信号がハイレベルの場合には、電源供給
スイッチ38が切断され、シリアルモニタバス回路3
4、PCトレース回路32には、電源が供給されなくな
る。これらの回路は、外部デバッグツールが接続されて
いない時には使用する意味がないので、電源を供給しな
いことにより、マイクロプロセッサ全体での消費電力を
低減することができる。
も、命令/データアドレスブレーク回路31、プロセッ
サバスブレーク回路33及びレジスタ回路35には電源
が供給され、命令/データアドレスブレークとプロセッ
サバスブレークの機能は機能する。デバッグ例外のベク
タアドレスをユーザ領域に変更することにより、これら
のハードウエアブレーク機能をユーザがデバッグの用途
に使用できる。
明>図22に、デバッグモジュール初期化回路を示す。
にはDBGE*がハイレベルになるので、ユーザリセットが
アサートされると、デバッグモジュール初期化信号がア
サートされ、デバッグモジュール30が初期化される。
も、電源ラインへのノイズなどが原因でデバッグモジュ
ール自体が誤動作してしまい、プロセッサコア20へ割
込みを要求したりする可能性がある。デバッグツールは
接続されていないので、デバッグリセット(DRESET*)信
号を入れることはできない。ユーザリセットではデバッ
グモジュールを初期化できないと、このデバッグモジュ
ールを初期化する手段がない。従って、デバッグツール
が接続されていない場合に、ユーザリセットがデバッグ
モジュールを初期化することは極めて重要である。
合には、DBGE*がローレベルになるので、ユーザリセッ
トがアサートされても、デバッグモジュール初期化信号
はアサートされず、デバッグモジュール30が初期化さ
れない。
ーストリガをかけたい場合などに極めて有効である。も
しユーザリセットでデバッグモジュール30が初期化さ
れてしまうと、例えばトレーストリガをかけるためには
いったんデバッグモードに入って必要なレジスタを設定
し直さなければならない。しかし、デバッグモードに入
ることで、その間、実時間動作ができなくなってしまう
ので、とらえようとしている現象がとらえられない可能
性が高い。
グモジュール自体が誤動作してしまった場合でも、デバ
ッグツールが接続してある場合、デバッグツールからの
デバッグリセット(DRESET*)で初期化できるので問題な
い。
従来例に比べて、次のような効果が得られる。
れる。 ・モニタプログラムをデバッグツール側のメモリで走ら
せるため、ユーザのメモリを使用しない。 ・モニタへ入るために専用のデバッグ例外を用意してい
るため、ユーザの割込みに制限を加えない。 ・ユーザターゲットシステムにシリアルインターフェー
スを用意する必要がない。 ・ハードウエアブレークポイントが使用可能である。
れる。 ・マイクロプロセッサ内部にシーケンサをもつ必要がな
いため、マイクロプロセッサ内部に追加されるデバッグ
のためのロジック回路が簡単である。 ・モニタプログラムによって、レジスタにアクセスする
ため、派生品のマイクロプロセッサでレジスタが追加さ
れるような場合でも、モニタを変更するだけで容易にそ
れらに対するアクセスが可能になる。 ・上記2項の理由により、マイクロプロセッサコアに多
種類の周辺回路を付け加えれている場合ても、デバッグ
のためのロジック回路を共通化できる。この共通モジュ
ールを周辺回路の一部としてマイクロプロセッサに内蔵
することで、プロセッサコアが共通で周辺回路が異なる
多様な派生マイクロプロセッサに対して共通のデバッグ
ツールを適用することが可能となる。
れる。 ・デバッグツールのハードウエア仕様を共通化できる。 ・デバッグツールとの接続のための信号の本数を減らせ
る。 ・上記理由により、プローブを小型化、低価格化でき
る。 ・ユーザターゲット上のマイクロプロセッサがメモリや
I/Oをアクセスするので、デバッグツールに要求され
るタイミング条件が改善される。 ・デバッグツールに接続されない信号に関しては、影響
を及ぼさない。 ・デバッグツールとマイクロプロセッサ間の通信速度を
必要に応じて、遅くできる。 ・上記理由により、高速のマイクロプロセッサにも対応
できる。
れる。 ・デバッグツールを用いて、ターゲットメモリやI/O
へのアクセス及び実行制御が実現される。 ・キャッシュメモリで実行された命令についても、その
アドレス情報がトレースできる。
成を示す図。
示す図。
わる回路の概略図を示す図。
トバスオペレーションのタイミングチャート。
イトバスオペレーションのタイミングチャート。
ース出力の例を示すタイミングチャート。
ンプ命令のPCトレース出力の例を示すタイミングチャ
ート。
トジャンプ命令のPCトレース出力の例を示すタイミン
グチャート。
のPCST[2:0]の出力タイミングの例を示すタイミングチ
ャート。
時にターゲットPCを出力している場合のPCST[2:0]出
力タイミングを示すタイミングチャート。
の復帰時のPCST[2:0]の出力タイミングを示すタイミン
グチャート。
発生の例のタイミングチャート。
した場合の例のタイミングチャート。
ストリガが発生した場合の例のタイミングチャート。
ターフェースとトレースメモリの構成を示す図。
示す図。
図。
Claims (4)
- 【請求項1】以下の(a)ないし(d)を内蔵し、応用
プログラムのデバッグに当ってデバッグツールを外部か
ら接続できることを特徴とするマイクロプロセッサ: (a)前記デバッグツールと接続するための専用の信号
ピン; (b)前記デバッグツール内のモニタメモリ上のモニタ
プログラムを実行する場合には前記専用の信号ピンを介
して前記デバッグツールへのメモリアクセスを行う第1
の論理手段; (c)ハードウエアブレークポイントを含むユーザプロ
グラムの実行を制御するための第2の論理手段; (d)実行されたプログラムのトレースを取るための第
3の論理手段。 - 【請求項2】マイクロプロセッサと前記マイクロプロセ
ッサがデバッグモードのとき実行するモニタプログラム
を格納するモニタメモリを設けたデバッグツールとの間
の信号伝送方法において、 マイクロプロセッサ−デバッグツール間信号伝送専用に
前記マイクロプロセッサに設けられた専用端子に接続さ
れた入力端子と出力端子及びメモリアクセス制御回路を
前記デバッグツールに設け、 メモリリードサイクルにおいては、 前記入力端子から、前記マイクロプロセッサが直列形式
で出力したアドレスを前記デバッグツールへ入力し、 前記メモリアクセス制御回路にて、前記直列形式のアド
レスを並列形式に変換し、 前記モニタメモリからデータを読み出し、 前記メモリアクセス制御回路にて、並列形式で読み出さ
れた前記データを直列形式に変換し、 前記出力端子から、前記直列形式の前記データを前記マ
イクロプロセッサのマイクロプロセッサ−デバッグツー
ル間信号伝送専用に設けられた端子に向けて出力し、 メモリライトサイクルにおいては、 前記入力端子から、前記マイクロプロセッサが直列形式
で出力したアドレス及びデータを前記デバッグツールへ
入力し、 前記メモリアクセス制御回路にて、前記直列形式のアド
レスとデータを並列形式に変換し、 前記モニタメモリ上の前記アドレスへ前記データを書き
込み、 前記出力端子から、前記モニタメモリへの書き込みが終
了したことを示す信号を出力することを特徴とするマイ
クロプロセッサ−デバッグツール間信号伝送方法。 - 【請求項3】マイクロプロセッサが、デバッグツールと
の間の信号伝送専用の信号ピンを通じて出力する命令の
実行状態、及び命令がジャンプ命令または分岐命令であ
った場合にはジャンプ先または分岐先のアドレス、及び
例外が発生した場合には当該例外の例外ベクタ番号を前
記デバッグツール内のトレース用メモリへ格納すること
を特徴とするトレース方法。 - 【請求項4】マイクロプロセッサがあらかじめ設定され
たアドレスの命令を実行した場合、 あらかじめ設定されたアドレスのデータをアクセスした
場合、またはあらかじめ設定されたアドレスに対して、
あらかじめ設定されたデータをライトした場合、 あらかじめ設定されたアドレスから、あらかじめ設定さ
れたデータをリードした場合、 前記マイクロプロセッサとデバッグツールとの間の信号
伝送専用の信号ピンを通じて、この事象の発生を知り、
前記デバッグツール内のトレースメモリへ格納するトレ
ース情報の開始または終了のタイミングを決定できるこ
とを特徴とするトレース方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6339958A JP2752592B2 (ja) | 1994-12-28 | 1994-12-28 | マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法 |
DE69523549T DE69523549T2 (de) | 1994-12-28 | 1995-12-21 | Mikroprozessor mit Fehlersuchsystem |
EP95120260A EP0720092B1 (en) | 1994-12-28 | 1995-12-21 | Microprocessor with debugging system |
US08/581,023 US5943498A (en) | 1994-12-28 | 1995-12-28 | Microprocessor, method for transmitting signals between the microprocessor and debugging tools, and method for tracing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6339958A JP2752592B2 (ja) | 1994-12-28 | 1994-12-28 | マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08185336A JPH08185336A (ja) | 1996-07-16 |
JP2752592B2 true JP2752592B2 (ja) | 1998-05-18 |
Family
ID=18332380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6339958A Expired - Lifetime JP2752592B2 (ja) | 1994-12-28 | 1994-12-28 | マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5943498A (ja) |
EP (1) | EP0720092B1 (ja) |
JP (1) | JP2752592B2 (ja) |
DE (1) | DE69523549T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6918058B2 (en) | 2000-12-28 | 2005-07-12 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit, system board and debugging system |
Families Citing this family (126)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69523884T2 (de) * | 1994-12-28 | 2002-06-27 | Agilent Technologies Inc., A Delaware Corp. | Mikroprozessor mit Fehlersuchsystem |
GB9622685D0 (en) * | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | An integrated circuit device and method of communication therewith |
US6697931B1 (en) | 1996-10-31 | 2004-02-24 | Stmicroelectronics Limited | System and method for communicating information to and from a single chip computer system through an external communication port with translation circuitry |
GB9622687D0 (en) * | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | An integrated circuit with tap controller |
EP0840221B1 (en) * | 1996-10-31 | 2002-09-18 | STMicroelectronics Limited | Microcomputer with packet bus |
EP0840224B1 (en) * | 1996-10-31 | 2002-09-18 | STMicroelectronics Limited | Microcomputer with booting system |
GB9622684D0 (en) * | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | An integrated circuit device and method of communication therwith |
GB9622682D0 (en) * | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | An integrated circuit device and method of communication therewith |
DE69712587T2 (de) * | 1996-10-31 | 2003-01-09 | Stmicroelectronics Ltd., Almondsbury | Mikrorechner mit Zugriff auf einen externen Speicher |
GB9626367D0 (en) * | 1996-12-19 | 1997-02-05 | Sgs Thomson Microelectronics | Providing an instruction trace |
GB9626401D0 (en) * | 1996-12-19 | 1997-02-05 | Sgs Thomson Microelectronics | Diagnostic procedures in an integrated circuit device |
JP3129397B2 (ja) * | 1996-12-27 | 2001-01-29 | 日本電気株式会社 | マイクロコンピュータ用エミュレーション装置 |
US6314530B1 (en) | 1997-04-08 | 2001-11-06 | Advanced Micro Devices, Inc. | Processor having a trace access instruction to access on-chip trace memory |
US6189140B1 (en) * | 1997-04-08 | 2001-02-13 | Advanced Micro Devices, Inc. | Debug interface including logic generating handshake signals between a processor, an input/output port, and a trace logic |
EP1184790B1 (en) * | 1997-04-08 | 2009-11-25 | Advanced Micro Devices, Inc. | Trace cache for a microprocessor-based device |
US6047124A (en) * | 1997-10-31 | 2000-04-04 | Sun Microsystems, Inc. | System and method for tracing device drivers using a computer |
US6175914B1 (en) | 1997-12-17 | 2001-01-16 | Advanced Micro Devices, Inc. | Processor including a combined parallel debug and trace port and a serial port |
US6311327B1 (en) * | 1998-03-02 | 2001-10-30 | Applied Microsystems Corp. | Method and apparatus for analyzing software in a language-independent manner |
US6112312A (en) * | 1998-03-10 | 2000-08-29 | Advanced Micro Devices, Inc. | Method for generating functional tests for a microprocessor having several operating modes and features |
GB9805486D0 (en) * | 1998-03-13 | 1998-05-13 | Sgs Thomson Microelectronics | Adapter |
GB9805479D0 (en) * | 1998-03-13 | 1998-05-13 | Sgs Thomson Microelectronics | Microcomputer |
DE69908682T2 (de) * | 1998-03-20 | 2004-05-13 | Texas Instruments Inc., Dallas | Prozessor mit Echtzeit-Ablaufsteuerung zur Fehlerbeseitigung ohne Fehlerbeseitigungsmonitor |
US6145123A (en) * | 1998-07-01 | 2000-11-07 | Advanced Micro Devices, Inc. | Trace on/off with breakpoint register |
DE19835610A1 (de) * | 1998-08-06 | 2000-02-10 | Siemens Ag | Programmgesteuerte Einheit und Verfahren zum Debuggen derselben |
US6131080A (en) * | 1998-08-17 | 2000-10-10 | Motorola, Inc. | Method of monitoring a computer simulation of an electrical circuit |
GB9818377D0 (en) * | 1998-08-21 | 1998-10-21 | Sgs Thomson Microelectronics | An integrated circuit with multiple processing cores |
US6317847B1 (en) * | 1998-08-31 | 2001-11-13 | Advanced Micro Devices, Inc. | Software read and write tracing using hardware elements |
US6378124B1 (en) | 1999-02-22 | 2002-04-23 | International Business Machines Corporation | Debugger thread synchronization control points |
US6587967B1 (en) * | 1999-02-22 | 2003-07-01 | International Business Machines Corporation | Debugger thread monitor |
US6397382B1 (en) * | 1999-05-12 | 2002-05-28 | Wind River Systems, Inc. | Dynamic software code instrumentation with cache disabling feature |
JP4335999B2 (ja) * | 1999-05-20 | 2009-09-30 | 株式会社ルネサステクノロジ | プロセッサ内蔵半導体集積回路装置 |
US6598178B1 (en) * | 1999-06-01 | 2003-07-22 | Agere Systems Inc. | Peripheral breakpoint signaler |
US6711684B1 (en) | 1999-06-08 | 2004-03-23 | General Instrument Corporation | Variable security code download for an embedded processor |
JP2001034504A (ja) * | 1999-07-19 | 2001-02-09 | Mitsubishi Electric Corp | ソースレベルデバッガ |
US6668339B1 (en) * | 1999-07-28 | 2003-12-23 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor having a debug interruption function |
US6601189B1 (en) | 1999-10-01 | 2003-07-29 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6434665B1 (en) | 1999-10-01 | 2002-08-13 | Stmicroelectronics, Inc. | Cache memory store buffer |
US6457118B1 (en) | 1999-10-01 | 2002-09-24 | Hitachi Ltd | Method and system for selecting and using source operands in computer system instructions |
US6633971B2 (en) | 1999-10-01 | 2003-10-14 | Hitachi, Ltd. | Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline |
US6542983B1 (en) | 1999-10-01 | 2003-04-01 | Hitachi, Ltd. | Microcomputer/floating point processor interface and method |
US6412047B2 (en) * | 1999-10-01 | 2002-06-25 | Stmicroelectronics, Inc. | Coherency protocol |
US6460174B1 (en) | 1999-10-01 | 2002-10-01 | Stmicroelectronics, Ltd. | Methods and models for use in designing an integrated circuit |
US6598128B1 (en) | 1999-10-01 | 2003-07-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6732307B1 (en) | 1999-10-01 | 2004-05-04 | Hitachi, Ltd. | Apparatus and method for storing trace information |
US6449712B1 (en) | 1999-10-01 | 2002-09-10 | Hitachi, Ltd. | Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions |
US6665816B1 (en) | 1999-10-01 | 2003-12-16 | Stmicroelectronics Limited | Data shift register |
US6928073B2 (en) | 1999-10-01 | 2005-08-09 | Stmicroelectronics Ltd. | Integrated circuit implementing packet transmission |
US6546480B1 (en) | 1999-10-01 | 2003-04-08 | Hitachi, Ltd. | Instructions for arithmetic operations on vectored data |
US6615370B1 (en) | 1999-10-01 | 2003-09-02 | Hitachi, Ltd. | Circuit for storing trace information |
US6629207B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method for loading instructions or data into a locked way of a cache memory |
US6349371B1 (en) | 1999-10-01 | 2002-02-19 | Stmicroelectronics Ltd. | Circuit for storing information |
US7072817B1 (en) | 1999-10-01 | 2006-07-04 | Stmicroelectronics Ltd. | Method of designing an initiator in an integrated circuit |
US6463553B1 (en) | 1999-10-01 | 2002-10-08 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6859891B2 (en) | 1999-10-01 | 2005-02-22 | Stmicroelectronics Limited | Apparatus and method for shadowing processor information |
US7266728B1 (en) | 1999-10-01 | 2007-09-04 | Stmicroelectronics Ltd. | Circuit for monitoring information on an interconnect |
US6408381B1 (en) | 1999-10-01 | 2002-06-18 | Hitachi, Ltd. | Mechanism for fast access to control space in a pipeline processor |
US6826191B1 (en) | 1999-10-01 | 2004-11-30 | Stmicroelectronics Ltd. | Packets containing transaction attributes |
US6553460B1 (en) | 1999-10-01 | 2003-04-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6502210B1 (en) | 1999-10-01 | 2002-12-31 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6557119B1 (en) | 1999-10-01 | 2003-04-29 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US6779145B1 (en) | 1999-10-01 | 2004-08-17 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US7260745B1 (en) | 1999-10-01 | 2007-08-21 | Stmicroelectronics Ltd. | Detection of information on an interconnect |
US6684348B1 (en) | 1999-10-01 | 2004-01-27 | Hitachi, Ltd. | Circuit for processing trace information |
US6412043B1 (en) | 1999-10-01 | 2002-06-25 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6530047B1 (en) | 1999-10-01 | 2003-03-04 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6772325B1 (en) * | 1999-10-01 | 2004-08-03 | Hitachi, Ltd. | Processor architecture and operation for exploiting improved branch control instruction |
US6567932B2 (en) | 1999-10-01 | 2003-05-20 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6693914B1 (en) | 1999-10-01 | 2004-02-17 | Stmicroelectronics, Inc. | Arbitration mechanism for packet transmission |
US6629115B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method and apparatus for manipulating vectored data |
US7793261B1 (en) | 1999-10-01 | 2010-09-07 | Stmicroelectronics Limited | Interface for transferring debug information |
US6351803B2 (en) | 1999-10-01 | 2002-02-26 | Hitachi Ltd. | Mechanism for power efficient processing in a pipeline processor |
US7000078B1 (en) | 1999-10-01 | 2006-02-14 | Stmicroelectronics Ltd. | System and method for maintaining cache coherency in a shared memory system |
US6598177B1 (en) | 1999-10-01 | 2003-07-22 | Stmicroelectronics Ltd. | Monitoring error conditions in an integrated circuit |
US6487683B1 (en) | 1999-10-01 | 2002-11-26 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US6701405B1 (en) | 1999-10-01 | 2004-03-02 | Hitachi, Ltd. | DMA handshake protocol |
US6298394B1 (en) | 1999-10-01 | 2001-10-02 | Stmicroelectronics, Ltd. | System and method for capturing information on an interconnect in an integrated circuit |
US6590907B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics Ltd. | Integrated circuit with additional ports |
US6820195B1 (en) | 1999-10-01 | 2004-11-16 | Hitachi, Ltd. | Aligning load/store data with big/little endian determined rotation distance control |
US6591369B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics, Ltd. | System and method for communicating with an integrated circuit |
US6918065B1 (en) | 1999-10-01 | 2005-07-12 | Hitachi, Ltd. | Method for compressing and decompressing trace information |
US6574651B1 (en) | 1999-10-01 | 2003-06-03 | Hitachi, Ltd. | Method and apparatus for arithmetic operation on vectored data |
JP4190114B2 (ja) | 1999-11-10 | 2008-12-03 | 株式会社ルネサステクノロジ | マイクロコンピュータ |
JP4475709B2 (ja) | 1999-11-15 | 2010-06-09 | 株式会社ルネサステクノロジ | マイクロコンピュータ |
GB2362730B (en) | 1999-12-23 | 2004-02-11 | St Microelectronics Sa | Computer register watch |
GB2365546B (en) | 1999-12-23 | 2004-02-18 | St Microelectronics Sa | A computer system with two debug watch modes |
GB2366006B (en) | 1999-12-23 | 2004-06-30 | St Microelectronics Sa | A computer system with debug facility |
JP2001195281A (ja) * | 2000-01-07 | 2001-07-19 | Sony Corp | システム監視装置 |
US6658650B1 (en) * | 2000-02-18 | 2003-12-02 | International Business Machines Corporation | Service entry point for use in debugging multi-job computer programs |
US6928403B2 (en) * | 2000-03-02 | 2005-08-09 | Texas Instruments Incorporated | Automatic detection of connectivity between an emulator and a target device |
US20040078690A1 (en) * | 2000-05-30 | 2004-04-22 | Yasuo Kohashi | Program counter trace system, program counter trace method, and semiconductor device |
DE10036278A1 (de) * | 2000-07-26 | 2002-02-07 | Bosch Gmbh Robert | Verfahren zur Überwachung eines Programmablaufs mittels einer Debug Logik |
JP2002202900A (ja) * | 2000-12-28 | 2002-07-19 | Seiko Epson Corp | デバッグ装置 |
US20020144235A1 (en) * | 2001-03-30 | 2002-10-03 | Charles Simmers | Debugging embedded systems |
DE10116861A1 (de) * | 2001-04-04 | 2002-10-31 | Infineon Technologies Ag | Programmgesteuerte Einheit |
DE10125388A1 (de) * | 2001-05-23 | 2002-12-12 | Infineon Technologies Ag | Programmgesteuerte Einheit |
JP2003263339A (ja) * | 2002-03-08 | 2003-09-19 | Seiko Epson Corp | デバック機能内蔵型マイクロコンピュータ |
GB2389432B (en) * | 2002-06-07 | 2005-09-07 | Advanced Risc Mach Ltd | Instruction tracing in data processing systems |
GB0218206D0 (en) * | 2002-08-06 | 2002-09-11 | Ibm | Device with detachable battery mounting |
DE10244922B4 (de) * | 2002-09-25 | 2009-08-13 | Infineon Technologies Ag | Programmgesteuerte Einheit und Verfahren zum Debuggen von einer programmgesteuerten Einheit ausgeführten Programmen |
US20040153895A1 (en) * | 2002-11-22 | 2004-08-05 | Manisha Agarwala | Imprecise detection of triggers and trigger ordering for asynchronous events |
US8374841B2 (en) * | 2002-11-22 | 2013-02-12 | Texas Instruments Incorporated | Precise detection of triggers and trigger ordering for asynchronous events |
US7159101B1 (en) * | 2003-05-28 | 2007-01-02 | Mips Technologies, Inc. | System and method to trace high performance multi-issue processors |
JP2005070950A (ja) * | 2003-08-21 | 2005-03-17 | Sanyo Electric Co Ltd | プログラム処理装置 |
JP2005070949A (ja) * | 2003-08-21 | 2005-03-17 | Sanyo Electric Co Ltd | プログラム処理装置 |
US20050060690A1 (en) * | 2003-09-15 | 2005-03-17 | Kuo-Jung Tung | Microprocessor system with software emulation processed by auxiliary hardware |
US7533251B2 (en) | 2003-12-24 | 2009-05-12 | Panasonic Corporation | Semiconductor integrated circuit, development support system and execution history tracing method |
US7707395B2 (en) * | 2004-05-12 | 2010-04-27 | Nxp B.V. | Data processing system with trace co-processor |
JP4494899B2 (ja) * | 2004-07-29 | 2010-06-30 | 富士通株式会社 | プロセッサデバッグ装置およびプロセッサデバッグ方法 |
US7817293B2 (en) * | 2005-01-07 | 2010-10-19 | Infoprint Solutions Company, Llc | Trace and debug tool for high speed printer systems |
JP4235831B2 (ja) * | 2005-02-22 | 2009-03-11 | セイコーエプソン株式会社 | ターゲットシステム、デバッグシステム、集積回路装置、マイクロコンピュータ及び電子機器 |
US7793160B1 (en) * | 2005-03-29 | 2010-09-07 | Emc Corporation | Systems and methods for tracing errors |
US20060273944A1 (en) * | 2005-05-13 | 2006-12-07 | Swoboda Gary L | System With Trace Capability Accessed Through the Chip Being Traced |
US20060277435A1 (en) | 2005-06-07 | 2006-12-07 | Pedersen Frode M | Mechanism for storing and extracting trace information using internal memory in microcontrollers |
US7409330B2 (en) * | 2005-06-16 | 2008-08-05 | Kabushiki Kaisha Toshiba | Method and system for software debugging using a simulator |
US8108840B2 (en) | 2006-01-12 | 2012-01-31 | International Business Machines Corporation | Method for enhancing debugger performance of hardware assisted breakpoints |
JP2009042815A (ja) * | 2007-08-06 | 2009-02-26 | Renesas Technology Corp | 半導体集積回路及びデバッグシステム |
US8407457B2 (en) * | 2007-09-28 | 2013-03-26 | Freescale Semiconductor, Inc. | System and method for monitoring debug events |
US10073797B2 (en) * | 2008-02-22 | 2018-09-11 | Nxp Usa, Inc. | Data processor device supporting selectable exceptions and method thereof |
US8417924B2 (en) * | 2008-02-22 | 2013-04-09 | Freescale Semiconductor, Inc. | Data processing device and method of halting exception processing |
US8799719B2 (en) * | 2011-05-19 | 2014-08-05 | International Business Machines Corporation | On demand tracing of application code execution |
KR20130101927A (ko) * | 2012-03-06 | 2013-09-16 | 한국전자통신연구원 | 디버깅 기능을 가지는 멀티코어 SoC |
US9071564B2 (en) * | 2012-06-07 | 2015-06-30 | Apple Inc. | Data synchronization using mail and push notification services |
US10254337B2 (en) * | 2015-10-27 | 2019-04-09 | Marvell World Trade Ltd. | System and method for establishing a trusted diagnosis/debugging agent over a closed commodity device |
US10824540B2 (en) | 2018-12-28 | 2020-11-03 | Datalogic Ip Tech S.R.L. | Terminal failure buster |
US11132283B2 (en) * | 2019-10-08 | 2021-09-28 | Renesas Electronics America Inc. | Device and method for evaluating internal and external system processors by internal and external debugger devices |
WO2021075531A1 (ja) * | 2019-10-18 | 2021-04-22 | ローム株式会社 | トレース回路、半導体装置、トレーサ、トレースシステム |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4463421A (en) * | 1980-11-24 | 1984-07-31 | Texas Instruments Incorporated | Serial/parallel input/output bus for microprocessor system |
JPS595478A (ja) * | 1982-07-02 | 1984-01-12 | Toshiba Corp | 電子計算機のアドレス装置 |
US4630195A (en) * | 1984-05-31 | 1986-12-16 | International Business Machines Corporation | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage |
JPS6280743A (ja) * | 1985-10-01 | 1987-04-14 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | アドレス変換例外処理方法 |
US4788683A (en) * | 1986-01-14 | 1988-11-29 | Ibm Corporation | Data processing system emulation with microprocessor in place |
JPS63155336A (ja) * | 1986-12-19 | 1988-06-28 | Hitachi Ltd | デ−タ処理装置 |
DE3740762A1 (de) * | 1987-01-22 | 1988-08-04 | Nat Semiconductor Corp | Datenverarbeitungssystem mit einer externen schnittstelle |
US5263153A (en) * | 1987-01-22 | 1993-11-16 | National Semiconductor Corporation | Monitoring control flow in a microprocessor |
JPS63284644A (ja) * | 1987-05-18 | 1988-11-21 | Matsushita Electric Ind Co Ltd | 命令アドレス出力回路 |
US5084814A (en) * | 1987-10-30 | 1992-01-28 | Motorola, Inc. | Data processor with development support features |
JPH0241532A (ja) * | 1988-08-01 | 1990-02-09 | Fuji Electric Co Ltd | マイクロプロセッサの例外処理方法 |
JPH0727472B2 (ja) * | 1990-07-16 | 1995-03-29 | 日本ケミコン株式会社 | デバッグ環境を備えた集積回路 |
JPH04190430A (ja) * | 1990-11-26 | 1992-07-08 | Mitsubishi Electric Corp | ソフトウェア開発用エミュレータ |
US5345580A (en) * | 1990-11-29 | 1994-09-06 | Kabushiki Kaisha Toshiba | Microprocessor device and emulator device thereof |
DE69228980T2 (de) * | 1991-12-06 | 1999-12-02 | National Semiconductor Corp., Santa Clara | Integriertes Datenverarbeitungssystem mit CPU-Kern und unabhängigem parallelen, digitalen Signalprozessormodul |
JPH06161809A (ja) * | 1992-11-25 | 1994-06-10 | Toshiba Corp | 半導体集積回路装置 |
JPH06202901A (ja) * | 1993-01-06 | 1994-07-22 | Ricoh Co Ltd | Romエミュレート方式デバッガ及びromエミュレート方法 |
DE69523884T2 (de) * | 1994-12-28 | 2002-06-27 | Agilent Technologies Inc., A Delaware Corp. | Mikroprozessor mit Fehlersuchsystem |
-
1994
- 1994-12-28 JP JP6339958A patent/JP2752592B2/ja not_active Expired - Lifetime
-
1995
- 1995-12-21 DE DE69523549T patent/DE69523549T2/de not_active Expired - Lifetime
- 1995-12-21 EP EP95120260A patent/EP0720092B1/en not_active Expired - Lifetime
- 1995-12-28 US US08/581,023 patent/US5943498A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6918058B2 (en) | 2000-12-28 | 2005-07-12 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit, system board and debugging system |
Also Published As
Publication number | Publication date |
---|---|
EP0720092A1 (en) | 1996-07-03 |
US5943498A (en) | 1999-08-24 |
DE69523549D1 (de) | 2001-12-06 |
EP0720092B1 (en) | 2001-10-31 |
DE69523549T2 (de) | 2002-07-11 |
JPH08185336A (ja) | 1996-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2752592B2 (ja) | マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法 | |
US5978902A (en) | Debug interface including operating system access of a serial/parallel debug port | |
KR0168656B1 (ko) | 데이터 처리 시스템 | |
US5640542A (en) | On-chip in-circuit-emulator memory mapping and breakpoint register modules | |
US6094729A (en) | Debug interface including a compact trace record storage | |
US5630102A (en) | In-circuit-emulation event management system | |
US6175914B1 (en) | Processor including a combined parallel debug and trace port and a serial port | |
US6094730A (en) | Hardware-assisted firmware tracing method and apparatus | |
US5978937A (en) | Microprocessor and debug system | |
KR100350568B1 (ko) | 디버그기능을수행하기위한데이타처리시스템및방법 | |
US6041406A (en) | Parallel and serial debug port on a processor | |
JP2651916B2 (ja) | インサーキット・エミュレータ | |
US6145123A (en) | Trace on/off with breakpoint register | |
EP0762277B1 (en) | Data processor with built-in emulation circuit | |
US20020144235A1 (en) | Debugging embedded systems | |
JPH011039A (ja) | インサーキット・エミュレータ | |
US5539901A (en) | Method and apparatus for system management mode support for in-circuit emulators | |
JP2002202900A (ja) | デバッグ装置 | |
JP3260083B2 (ja) | デバッグシステム及びデバッグ方法 | |
US7765095B1 (en) | Conditional branching in an in-circuit emulation system | |
JP2974601B2 (ja) | マイクロプロセッサ及びデバッグシステム | |
US8103496B1 (en) | Breakpoint control in an in-circuit emulation system | |
JP2664644B2 (ja) | マイクロプロセッサのリセット方法 | |
JP2003263339A (ja) | デバック機能内蔵型マイクロコンピュータ | |
US20020188813A1 (en) | On-chip hardware breakpoint generator with comprehensive memory operation detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080227 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090227 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100227 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100227 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110227 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120227 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120227 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130227 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140227 Year of fee payment: 16 |
|
EXPY | Cancellation because of completion of term |