JPH09237201A - マイクロコンピュータアナライザ - Google Patents

マイクロコンピュータアナライザ

Info

Publication number
JPH09237201A
JPH09237201A JP8044776A JP4477696A JPH09237201A JP H09237201 A JPH09237201 A JP H09237201A JP 8044776 A JP8044776 A JP 8044776A JP 4477696 A JP4477696 A JP 4477696A JP H09237201 A JPH09237201 A JP H09237201A
Authority
JP
Japan
Prior art keywords
trace
mode
branch
output
address
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
JP8044776A
Other languages
English (en)
Inventor
Takeshi Takahashi
高橋  毅
Kazuaki Sakurai
和明 桜井
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.)
Yokogawa Digital Computer Corp
Original Assignee
Yokogawa Digital Computer 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 Yokogawa Digital Computer Corp filed Critical Yokogawa Digital Computer Corp
Priority to JP8044776A priority Critical patent/JPH09237201A/ja
Publication of JPH09237201A publication Critical patent/JPH09237201A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 専用の信号ピンを増加させずにPCトレース
モード実行中にデータ解析モードを実行することが可能
なマイクロコンピュータアナライザを提供する。 【解決手段】 ターゲット装置のデバッグを行なうマイ
クロコンピュータアナライザであって、ターゲットMP
Uが実行している命令のアドレス値をPCトレース情報
として出力するステート解析用のトレース手段12と、
予め検出対象として定められたイベントが発生した際の
データ情報を前記トレース手段に対して供給するイベン
ト検出データ解析手段13と、をターゲット装置内にあ
る組み込みチップ内に有し、前記トレース手段は、絶対
分岐命令実行時若しくは条件分岐命令実行時に条件成立
の有無に係わらずアドレス値を出力する分岐PCトレー
スモードと、イベント発生時にデータ情報を出力するデ
ータ解析モードとを切り替えることが可能に構成された
ことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明はマイクロコンピュー
タを組み込んだ応用機器の動作解析支援ツールとしての
マイクロコンピュータアナライザに関し、更に詳しく
は、限られた信号線数において実行アドレスの追尾やデ
ータ系の解析支援をすることが可能なマイクロコンピュ
ータアナライザに関する。
【0002】
【従来の技術】ターゲット(被試験装置)内のMPU
(以下、ターゲットMPUと言う)にアクセスし、ター
ゲットMPUのデバッグを行なう装置としてマイクロコ
ンピュータアナライザがある。この種の一般的なマイク
ロコンピュータアナライザの機能としては、以下に示す
ようなものがある。
【0003】ターゲットメモリのエミュレーション機
能 ターゲットにマイクロコンピュータアナライザを接続
し、ターゲット内のメモリの内容の一部を変更する場
合、ターゲット内のメモリをマイクロコンピュータアナ
ライザ内のメモリで代行せさる。通常、ターゲットのメ
モリはROMでできているので、プログラムの一部の変
更等は困難である。そこで、ターゲット内のメモリをマ
イクロコンピュータアナライザ内のメモリで代行させれ
ば、マイクロコンピュータアナライザ内のメモリとして
はRAMを用いることができるので、プログラムの変更
等が自由にできる。また、所定のメモリがターゲット内
に存在しない時にも、マイクロコンピュータアナライザ
内のメモリにプログラムを組み込んでターゲットのエミ
ュレーションができる。
【0004】ヒストリトレース機能 従来のロジックアナライザの機能と同様のものであり、
トリガ時点から前方及び後方の複数段階のバス上のデー
タを記録する機能である。装置に障害が発生した時の、
前後のパス上のデータを解析することにより、障害の原
因を診断することができる。
【0005】ターゲット実行ブレーク機能 ターゲットのMPUの動作を停止(ブレーク)し、その
停止時点のMPU内の各種レジスタ等の内容を読み出す
機能である。ターゲットの障害の原因を診断することが
できる。
【0006】上記3つの機能は、いずれもMPUの出力
する信号を基にマイクロコンピュータアナライザ側で判
断し、各機能を実現している。しかしながら、バスサイ
クルが30MHz以上になると、マイクロコンピュータ
アナライザ側で各機能を行なう条件判断が困難になる。
【0007】具体的に述べると、ブレークするアドレス
か否かを判断するのに要する時間は、アドレス有効時点
から30〜40ナノ秒である。従って、MPUのセット
アップ,ホールド時間を考慮すると、バスサイクル30
MHzを越えるとブレーク命令をマイクロコンピュータ
アナライザ側からMPU側に供給することが不可能にな
ってしまう。
【0008】また、MPUがシングルチップの場合に
は、マイクロコンピュータアナライザ支援のために別途
評価用チップを製作する必要があり、コスト,開発日程
等、チップメーカ,ユーザいずれにとっても負担になっ
ている。
【0009】
【発明が解決しようとする課題】ところで、この種のマ
イクロコンピュータアナライザでは、ターゲットに組み
込むマイコンチップそのものに少数の専用信号ピンを設
けて、その信号ピンからマイコンが実行しているプログ
ラムアドレス、特にプログラムの実行流れをつかむため
に有効な分岐命令実行時のPC(プログラムカウンタ)
値を出力する方法がとられている。
【0010】この種のマイクロコンピュータアナライザ
では、PC値からプログラム流れを判別するモード(P
Cトレースモード)と、データ系の解析支援機能のモー
ド(データ解析モード)とは別になっていた。
【0011】従って、PCトレースモードの実行中に
おいて、データ解析モードを同時に行うことはできなか
った。 また、PC値からプログラム流れを判別するモード
と、データ系の解析支援のモードとを同時に実行するた
めには両方の専用の信号ピンをマイコンチップに設ける
必要が生じるが、高密度,高集積化するマイコンチップ
において信号ピンの増加は困難である。
【0012】本発明はこのような課題に鑑みてなされた
ものであって、専用の信号ピンを増加させずにPCトレ
ースモード実行中にデータ解析モードを実行することが
可能なマイクロコンピュータアナライザを提供すること
を目的としている。
【0013】
【課題を解決するための手段】前記した課題を解決する
第1の発明は、ターゲット装置のデバッグを行なうマイ
クロコンピュータアナライザであって、ターゲット装置
内にある組み込みチップ内に、ターゲットMPUが実行
している命令のアドレス値をPCトレース情報として出
力するステート解析用のトレース機能を設け、このトレ
ース機能として、全てのアドレス値を出力するフルPC
トレースモードと、絶対分岐命令実行時、若しくは条件
分岐命令実行時に条件成立の有無に係わらずアドレス値
を出力する分岐PCトレースモードを備え、この分岐P
Cトレースモードの外部モードとして、予め検出対象と
して定めたイベントが発生した際のデータ情報を出力す
るデータ解析モードを備えたことを特徴とするマイクロ
コンピュータアナライザである。
【0014】また、前記した課題を解決する第2の発明
は、ターゲット装置のデバッグを行なうマイクロコンピ
ュータアナライザであって、ターゲットMPUが実行し
ている命令のアドレス値をPCトレース情報として出力
するステート解析用のトレース手段と、予め検出対象と
して定められたイベントが発生した際のデータ情報を前
記トレース手段に対して供給するイベント検出データ解
析手段と、をターゲット装置内にある組み込みチップ内
に有し、前記トレース手段は、絶対分岐命令実行時若し
くは条件分岐命令実行時に条件成立の有無に係わらずア
ドレス値を出力する分岐PCトレースモードと、イベン
ト発生時にデータ情報を出力するデータ解析モードとを
切り替えることが可能に構成されたことを特徴とするマ
イクロコンピュータアナライザである。
【0015】これらのマイクロコンピュータアナライザ
の発明においては、ターゲット装置内のMPUを含む組
み込みチップ(エンベデッドチップ)内に、マイクロコ
ンピュータアナライザの機能の一部を実行するデバッグ
ユニットを設けていることにより、従来ターゲット装置
とマイクロコンピュータアナライザ間でデータのやりと
りを行なう際に用いていたバッファ等が不要となり、そ
の分取り扱えるデータ速度を速くすることができる。更
に、トレース機能として、全てのアドレス値を出力する
フルPCトレースモードと、絶対分岐命令実行時、若し
くは条件分岐命令実行時に条件成立の有無に係わらずア
ドレス値を出力する分岐PCトレースモードとを備える
ようにしている。特に、絶対分岐命令実行時、若しくは
条件分岐命令実行時に条件成立の有無に係わらずアドレ
ス値を出力する分岐PCトレースモードを備えたことに
より、高速のMPUがターゲットである場合でも、ソー
スプログラムの構文解析を行うことなくブランチトレー
スを行って、十分なデバッグを行なうことができるよう
になる。
【0016】そして、第1の発明においては、分岐PC
トレースモードの外部モードとして、予め検出対象とし
て定めたイベントが発生した際のデータ情報を出力する
データ解析モードを備えたことにより、専用の信号ピン
を増加させずにPCトレースモード実行中にデータ解析
モードを実行することが可能なマイクロコンピュータア
ナライザを提供することができる。
【0017】また、第2の発明においては、トレース手
段が、アドレス値を出力する分岐PCトレースモード
と、イベント発生時にデータ情報を出力するデータ解析
モードとを切り替えることが可能に構成されているた
め、専用の信号ピンを増加させずにPCトレースモード
実行中にデータ解析モードを実行することが可能なマイ
クロコンピュータアナライザを提供することができる。
【0018】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態例を詳細に説明する。図1は本発明の実施の形
態例の基本的構成を示す機能ブロック図である。
【0019】<マイクロコンピュータアナライザの構成
>この図1において、10はターゲット装置内に取り付
けられる組み込みチップ(エンベデッドチップともい
う)、20はこの組み込みチップ10内に設けられたデ
バッグ機能を持つデバッグユニット(IDBユニットと
もいう)である。このデバッグユニット20は、組み込
みチップ10内にチップの形で取り付けられるものの一
部分を構成している。
【0020】前記組み込みチップ10において、1はM
PUコアである。このMPUコア1において、NMI端
子はマイクロコンピュータアナライザ機能の強制ブレー
ク(MPUコアを停止させること)及び実行後ブレーク
に使用するものである。この端子がアサート(活性化)
されると、次のバスサイクルから例外処理に移るように
なっている。INT端子は、割り込み入力端子で、実行
前ブレークとして使用するものである。この端子がアサ
ートされた命令がMPUコアのパイプラインの実行キュ
ーに入った時、この命令を実行せずに例外処理に移行す
るようになっている。INT端子アサート時の命令をS
WI(ソフトウェアインタラプト)にすりかえたものと
仮定する。
【0021】2はMPUコア1と接続されるキャッシュ
メモリ、2aはキャッシュメモリ2に付属するブレーク
メモリである。このブレークメモリ2aは、MPUコア
1がキャッシュメモリ2からフェッチするアドレスの命
令と一緒にMPUコアのINT端子に取り込まれるよう
になっている。
【0022】3はキャッシュメモリ2と接続される外部
バスコントローラ、5はバス4と接続される入出力装置
(I/O)、6はバス4と接続されるRAM、7はバス
4と接続されるフラッシュメモリ(リード/ライト可能
なROM)である。このフラッシュメモリ7は、ターゲ
ット装置内に内蔵されるマスクROMをサポートするた
めのROMである。このフラッシュメモリ7は、ブレー
ク中のモニタメモリ(後述)のプログラムによりアクセ
スができるようになっている。
【0023】8はブレークメモリで、1ビット×nのサ
イズを持っている。ここで、nは次式で与えられる。 n=(ROMのビット数)÷(最小命令ビット長) 例えば、256ビットのROMで、MPUコアの最小命
令が8ビット長の時、n=256÷8=32となる。従
って、この時のブレークメモリ8の容量は32ビットに
なる。
【0024】また、ブレークメモリ8はフラッシュメモ
リ7と同じメモリマップ上に配置され、フラッシュメモ
リ7のデータのリードと同期してMPUコア1のINT
端子もしくはキャッシュメモリ2のブレークメモリ2a
にロードされるようになっている。ブレークメモリ8の
設定(0から1にすること)は、ブレーク中に、モニタ
メモリプログラムによりブレーク設定アドレスアクセス
と同時にブレークポイント(BREAKPT)端子9を
アサートすることにより設定するようになっている。
【0025】次に、デバッグユニット20の構成につい
て説明する。このデバッグユニット20はMPUコア1
のアドレスバス,データバス及びステータス信号と接続
され、組み込みチップ10外部とのインタフェースピン
11を持っている。この外部インタフェースピン11
は、マイクロコンピュータアナライザが占有するように
なっている。このピンの本数については、MPUコア1
やアプリケーション用途により最適な本数を設定するこ
とができるようになっている。なお、nは1,3,5,
7,15,31,63のケースが考えられる。このよう
に、外部インタフェースピンを介してマイクロコンピュ
ータアナライザと接続する構成をとることにより、MP
Uコア1やアプリケーション用途により最適な本数を設
定することができ、都合がよい。ここではDBG(n:
0)のn=15のケースで説明する((n:0)はバス
幅を示す。以下同じ)。
【0026】12はターゲットラン中の実行している命
令のアドレスを後述するように出力するトレース部、1
3は予め検出対象として定めたイベントが発生した際の
データ情報を出力するデータ解析モードを備えたイベン
ト検出データ解析部、14はブレーク中におけるMPU
コア1とモニタメモリのアクセスインターフェィスを行
なうシリアルモニタアクセス部、15はチップ内マイク
ロコンピュータアナライザリソースの初期設定,特定タ
ーゲットメモリのデータ変更及び特定ターゲットメモリ
のモニタ機能の制御を行なうノンブレークデバッグ部
で、マイクロコンピュータアナライザ側からターゲット
ランを止めることなく行なうことができるようになって
いる。そして、これらトレース部12,シリアルモニタ
アクセス部14及びノンブレークデバッグ部15はMP
Uコア1と接続されている。16は、デバッグユニット
20のインターフェィスセレクタで、モードで決められ
た機能ブロック12,14,15をセレクトするように
なっている。このセレクタ16にはセレクト信号とし
て、DBGMODE(1:0)信号が入力される。
【0027】21は外部インタフェースピン11を介し
てデバッグユニット20と接続されるセレクタで、モー
ドで決められたマイクロコンピュータアナライザリソー
スをセレクトするものである。このセレクタ21には、
セレクト信号としてDBGMODE(1:0)信号が入
力される。セレクタ16とセレクタ21間でやりとりさ
れる信号としては、DBG(n:0),DBGCLK
(クロック信号),DBGS,DBGMODE(1:
0)がある。
【0028】デバッグユニット20は、モード信号DB
GMODE(1:0)により、トレース,シリアルモニ
タアクセス,ノンブレークデバッグの3つの機能のいず
れが外部インタフェースピン11と接続されているかを
認識できるようになっている。
【0029】また、組み込みチップ10の外部において
も、セレクタ21は、モード信号DBGMODE(1:
0)により現行モードに該当するトレースメモリ22,
モニタメモリ23,ノンブレークデバッグコントローラ
24のいずれかのブロックに外部インタフェースピン1
1の信号ピンを接続する。そして、トレース部12の信
号は、トレースメモリ22に入り、モニタメモリ23の
出力はシリアルモニタアクセス部14を介してMPUコ
ア1に入り、ノンブレークデバッグコントローラ24の
出力はノンブレークデバッグ部15を介してMPUコア
1に入る。
【0030】以上のように構成された実施の形態の装置
の動作を説明すれば、以下のとおりである。本実施の形
態例は、ユーザのターゲット装置内にある組み込みチッ
プ10内にマイクロコンピュータアナライザ機能の一部
を行なうデバッグユニット20を搭載した点に特徴があ
る。
【0031】このデバッグユニット20は、ユーザの負
担にならない程度のマイクロコンピュータアナライザ機
能を具備するものとする。従来のマイクロコンピュータ
アナライザでは、マイクロコンピュータアナライザ本体
から組み込みチップにアクセスする構成をとっていた。
従って、その間にバッファゲート等の素子を用いる必要
があり、素子の入出力間の遅延,配線長間に存在する漂
遊容量等で動作クロックの速度が数10MHz程度に制
約されていた。
【0032】そこで、本実施の形態例では、マイクロコ
ンピュータアナライザの機能をユーザの組み込みチップ
10内に搭載することにより、バッファゲート等を不要
にし、この結果、使用できる動作クロックを100MH
z程度まで延ばすことができるようにしたものである。
【0033】また、本実施の形態例では、トレース部が
実行するトレースとして、ソースプログラムの構文解析
を行うことなくブランチトレースを行える構成としたこ
とも特徴としている。
【0034】そして、本実施の形態例では、分岐PCト
レースモードの外部モードとして、予め検出対象として
定めたイベントが発生した際のデータ情報を出力するデ
ータ解析モードを備えたことにより、専用の信号ピンを
増加させずにPCトレースモード実行中にデータ解析モ
ードを実行できることを最大の特徴としている。
【0035】<マイクロコンピュータアナライザの基本
的動作>以下、図1を参照してマイクロコンピュータア
ナライザの動作機能の全般(基本的動作)について説明
する。そして、全般の動作説明の後に、特徴部分である
データ解析モードの説明を行う。
【0036】図1の外部インタフェースピン11は、表
1〜表3のDBGMODE(1:0)の内容により各機
能がセレクトされる。つまり、DBGMODE=00の
時トレースPCモード、DBGMODE=01の時NB
D(ノンブレークデバッグ)モード、DBGMODE=
10の時モニタアクセスモード、DBGMODE=11
の時トランスステートモードである。なお、トレースP
Cモード,NBDモードはターゲットモード、モニタア
クセスモード,トランスステートモードはモニタモード
である。NBDモードは、いずれでもアクセス可能であ
る。
【0037】
【表1】
【0038】
【表2】
【0039】
【表3】
【0040】ここで、モード信号DBGMODE(1:
0)の遷移について、場合分けして説明する。 DBGMODE(0):チップ入力信号。MPUコア1
に対してNBD(ノンブレークデバッグ)MODEの要
求に使用する。1で要求中及びNBD動作中を示す。
【0041】DBGMODE(1):チップ出力信号。
1はブレーク中であることを示す(シリアルモニタアク
セスモード)。0はターゲットラン中であることを示
す。この時、MPUコア1はターゲットメモリアクセス
中。デバッグユニット20はPCトレースかNBDモー
ド。
【0042】そして、以下の表4はモード信号DBGM
ODE(1:0)とデバッグユニット(IDB)機能及
び外部インタフェースピン11の定義を示すものであ
る。
【0043】
【表4】
【0044】<マイクロコンピュータアナライザの詳細
動作> (1)PCトレース機能:まず、基本となるPCトレー
ス機能の全般について説明し、次に、フルPCトレース
とブランチPCトレース、更にブランチPCトレースの
外部モードとしてのデータ解析モードとについて、詳細
に説明する。
【0045】PCトレース機能は、ターゲットラン中
(DBGMODE=00)に、トレース部12からMP
Uコア1の実行中の命令のアドレスを時分割してセレク
タ16を介して外部インタフェースピン11に出力す
る。チップ外部では、外部インタフェースピン11の信
号は、セレクタ21によりトレースメモリ22に接続さ
れ、PCHクロック,PCHSEQの制御の下にトレー
スメモリ22にサンプリングされる。
【0046】PCトレースの出力内容は、アドレス上位
から時分割で出力する。以下に出力例を説明する。 MPUコア1のアドレス幅≦DBG(n:0)の信号
線数の場合:MPUのバスサイクルと同期して全アドレ
スを同時に出力する。
【0047】MPUコア1のアドレス幅>DBG
(n:0)の信号線数の場合:プログラムの分岐等でM
PUコア1のアドレスがシーケンシャルでない時は、上
位アドレスを出力し、シーケンシャルの場合は下位アド
レスを出力する。図2,図3はトレースPCモードの出
力タイミングを示すタイムチャートである。図2はMP
Uコア1のアドレス幅が32ビット、DBG(15:
0)の場合を、図3はMPUコア1のアドレス幅が16
ビット、DBG(7:0)の場合をそれぞれ示してい
る。
【0048】図2において、A(31:0)はMPUコ
ア1の出力アドレスを、PCH(15:0)はIDBよ
り出力される内容を、SUB(31:0)はトレースメ
モリ22に書き込まれる内容を、N−SEQはMPUコ
ア1の出力するアドレスがノンシーケンシャル(プログ
ラム分岐がある場合等)の場合を、SEQはMPUの出
力するアドレスがシーケンシャルの場合をそれぞれ示し
ている。nOPCは“0”レベルでMPUコア1がプロ
グラムをリードする信号をそれぞれ示している。図3に
おいて、A(15:0)はMPUコア1の出力アドレス
を、PCH(7:0)はデバッグユニット20より出力
される内容を、SUB(15:0)はトレースメモリ2
2に書き込まれる内容を、N−SEQはMPUコア1の
出力するアドレスがノンシーケンシャルの場合を、SE
QはMPUコア1の出力するアドレスがシーケンシャル
の場合をそれぞれ示している。図3の場合には、アドレ
スの全てがメモリに記憶される。
【0049】DBG(n:0)の信号線数がMPUコ
ア1のアドレス出力を行なうのに必要な数に定義できな
い場合:この場合には、MPUコア1のプログラム分岐
が発生したアドレスのみ出力する。分岐アドレス出力中
に次の分岐アドレスが発生した場合、PCHSEQ信号
をネゲート(非活性化)して、新しい分岐アドレス出力
を行なうことでチップ外部で識別できるようにする。図
4,図5はこの時のトレースPCモードの動作タイミン
グを示すタイムチャートである。図4は、MPUコア1
のアドレス幅が16ビット、DBG(3:0)の場合
を、図5はMPUコア1のアドレス幅が16ビット、D
BG(3:0)の場合をそれぞれ示している。図4の場
合には、図3の場合と異なり、分岐によりアドレスがノ
ンシーケンシャルになった場合、分岐アドレスのみメモ
リに記憶される。
【0050】次に、本実施の形態例の特徴部分であるフ
ルPCトレースとブランチPCトレースとについて、そ
れぞれを詳細に説明する。尚、PCトレースモードに
は、全PC値をマイクロコンピュータアナライザ側へ出
力するフルPCトレースモードと、ブランチ命令を実行
したときにのみ条件にかかわらず次のPC値を出力する
ブランチPCトレースとを定義する。このように、フル
PCトレースモードとブランチPCトレースモードとを
有することが本実施の形態例における大きな特徴であ
る。
【0051】ここで、本実施の形態例における特徴部分
となるブランチPCトレースモードをフルPCトレース
モードと共に特徴について比較列記する。以下の表5は
フルPCトレースとブランチPCトレースとの相違点を
表にまとめたものである。
【0052】
【表5】
【0053】一般に、シングルチップマイコンのマイク
ロコンピュータアナライザとしては、内蔵データアクセ
スのヒストリトレースを必要とするため、専用エバチッ
プを定義することになる。この場合は、強力なイベント
機能等を支援できるフルPCトレースモードを使用す
る。
【0054】また、マイクロプロセッサ用のマイクロコ
ンピュータアナライザとしては、最終チップ=エバチッ
プと定義できる。この場合には、ブランチPCトレース
モードを使用する。
【0055】(2)PCトレースフォーマット:ここ
で、フルPCトレースとブランチPCトレースとにおけ
るPCトレースデータフォーマットを説明する。
【0056】PCHS:PCヒストリ出力時の同期信号
である。DBGn(最上位ビット側)がPCヒストリス
テータス信号(PCS)であることを示す。上位より4
ビットをPCSとして確保する。
【0057】DBG(n:0):PCHA情報及びPC
S信号の転送バスである。 (2−A1)フルPCトレース(1):図6にブランチ
実行を2サイクルで実行するマイコンを例にして、フル
PCトレースのタイムチャートを示す。尚、この場合に
は、ブランチテイクンのときに2サイクル実行,ブラン
チノットテイクンのとき1サイクル実行を行うマイコン
も含めて考える。
【0058】DGBnのビット幅は、アドレスライン
数の1/2に定義できる。 PCHSネゲート時には、ブランチ等により、CPU
からマイクロコンピュータアナライザに対して、2サイ
クルかけてフルアドレスを送出するモードにあることを
示すPCHAL(Low側アドレス情報)が先に出力さ
れ、引き続きHCHAHが出力される。
【0059】PCHSアサート時は、プログラム実行
がシーケンシャルに行なわれていることを示す。DBG
nの上位ビットにはPCS(PCヒストリーステータス
信号)がCPUからマイクロコンピュータアナライザに
出力されている。PCS以外のビットには、PCHAL
情報がCPUからマイクロコンピュータアナライザに出
力される。
【0060】シーケンシャル実行時の有効データPC
HA0 〜PCHAL がオーバフローした時点で、PCH
AL+1 以上のアドレスからマイクロコンピュータアナラ
イザ側でアドレス再生成のためにもつプリセッタブルカ
ウンタを+1する。
【0061】PCHAは低位アドレス側から出力され
る。 以上の場合のPCS情報についての定義を以下の表6に
示す。
【0062】
【表6】
【0063】(2−A2)フルPCトレース(2):次
に、図7にブランチ実行を1サイクルで実行するマイコ
ンを例にして、フルPCトレースのタイムチャートを示
す。
【0064】DGBnのビット幅は、アドレスライン
数と一致させる。 PCHSアサート時は、プログラム実行がシーケンシ
ャルに行なわれていることを示す。DBGnの上位ビッ
トにはPCS(PCヒストリーステータス信号)がCP
Uからマイクロコンピュータアナライザに出力されてい
る。PCS以外のビットには、PCHAL情報がCPU
からマイクロコンピュータアナライザに出力される。
【0065】(2−B1)ブランチPCトレース
(1):ブランチ命令(条件分岐命令)実行時に、ブラ
ンチテイクンまたはブランチノットテイクンにかかわら
ず、また、絶対分岐命令実行時に、PCHA情報をCP
Uからマイクロコンピュータアナライザに出力する。
【0066】ここで、ブランチPCトレースは、限られ
たDBG信号でPCトレースを得るための手法として定
義する。ここで、図8を参照して、この実施の形態例に
おけるブランチPCトレースの原理について簡単に説明
する。
【0067】解析開始点以降に、絶対分岐ではない3つ
の条件分岐BCC,BNE,BLEが存在している。こ
の場合、これら3つの条件分岐では、レジスタの内容に
よって分岐するか否かが決定される。従って、どの条件
分岐において実際に分岐(ブランチ)したのかが簡単に
は判断できない。そこで、これら3つの条件分岐の全て
において、条件分岐の際に条件成立(ブランチテイク
ン)時にも条件不成立(ブランチノットテイクン)時に
も、PC値をマイクロコンピュータアナライザ側に出力
するように構成しておく。そして、実際の分岐先である
においてもPC値を出力する。
【0068】このように、条件分岐の全てにおいてPC
値を出力することで、解析開始点からブランチPCアド
レス出力だけでプログラムの動きをトレースして理解す
ることができ、どの命令で分岐したかという分岐元を判
断することが可能になる。
【0069】従って、ソースプログラムの構文解析によ
って前後関係から分岐元を判断する作業が不要になる。
また、ソースプログラムが存在しない場合にも、条件分
岐を正確に解析することが可能になる。
【0070】以下、図9のタイムチャートを参照して、
ブランチPCトレースの動作について以下の〜に従
って説明する。 DBGnのビット幅には、以下のオプションの設定を
設ける。
【0071】・2ビット,4ビット,8ビット 標準として、4ビットのDBGnに定義する。 PCHSアサート時には、DBGnの上位ビットには
PCS(PCヒストリーステータス信号)がCPUから
マイクロコンピュータアナライザに出力される。PCS
は標準を4ビットに定義する。以下、このPCSについ
て、表7として定義を示す。
【0072】
【表7】
【0073】尚、表7におけるPCS1 とPCS0 とに
ついて、ブランチPCトレース出力は、前回出力された
ブランチPC値と不一致のビット以下のアドレスを出力
する短縮出力モードが定義されている。この短縮出力モ
ードについて図10(a)において、従来のモード(図
10(b))と共に示す。すなわち、最初のブランチP
C値が10000で二番目のブランチPC値が1001
0である場合には、短縮出力モード時には、二番目のブ
ランチPC値として下位の10のみを出力する。従っ
て、従来の32ビットフル出力と比較すると、変化した
PC値に応じて、PC値(PCHA信号)は2,4,8
ビットと変化する。
【0074】上の表7において、PCS1 ,PCS0 =
11以外は、その短縮出力モードでのPC出力であるこ
とを示し、このビットで示されるアドレス長だけブラン
チPCトレース値として出力される。
【0075】PCS以外のビットには、ローアドレス情
報であるPCHA(LL)がCPUからマイクロコンピ
ュータアナライザに出力される。ブランチPCトレース
情報が出力されない状態(無効サンプル状態)は、PC
HSアサート,PCS3 =0で示される。新たなブラン
チPCトレース出力時には、PCS=1でブランチPC
トレースの出力が開始される。DBG幅が2ビットのと
き、PCHSは2サイクル続けてアサートされ、双方の
サイクルにPCSが順に出力されることを示す。すなわ
ち、PCS0 ,PCS1 が第1サイクルで出力される。
【0076】PCHSネゲート時は、先行するPCH
Sアサートから始るブランチPC情報の出力サイクル中
であることを示す。PCHAには、ブランチPCトレー
ス情報が出力される。
【0077】PCHAは、低位アドレス側が出力され
る。 PCHA出力中に発生する新たなブランチPCトレー
ス要求に対しては、出力中のブランチPC情報が出力終
了になるまでターゲットCPUを一時ストールする。先
行するブランチPC情報の出力後、新たなブランチPC
情報が引き続いて出力される。
【0078】この〜に示すように、変化したブラン
チPC値以下の部分のみをPCHA信号として送出する
ようにしたことで、最低限の場合には、PCHA信号:
2本,PCHS信号:4本,PCHCLK:1本となる
ので、6本の信号線と1本のクロック信号線で済むよう
になる。従って、表5にも示したように、小さなDBG
幅でPCトレースが得られるという利点を有する。
【0079】(2−B)ブランチPCトレース(データ
解析):上述の分岐PCトレースモードの外部モードと
して、予め検出対象として定めたイベントが発生した際
にデータ情報を出力する。
【0080】すなわち、上記の表7において、PCS3
,PCS2 =01をAUX(外部モード)として定め
ており、この状態のときにブランチPCトレースの外部
モードとしてのデータ解析モードが起動される。
【0081】ここで、ブランチPCトレースの外部モー
ドとしてのデータ解析モードは、限られたDBG信号で
データトレースを得るための手法として定義する。ここ
で、図11を参照して、この実施の形態例におけるデー
タ解析の原理について簡単に説明する。
【0082】図11はデータ解析モードに関係する部分
を図1より抽出して詳細を示した主要部構成図である。
この図11において、イベント検出データ解析部13
は、イベント検出部13Aとトレース用データラッチ1
3Bとから構成されている。
【0083】そして、イベント検出器13Aは、アドレ
スバスを参照することで、予め検出対象として定められ
たイベントの発生をアドレスにより検出するものであ
る。また、トレース用データラッチ13Bは、イベント
検出器13Aの検出結果を受けて、イベント発生の際の
データバス上のデータ情報をラッチして、このデータ情
報をトレース部12に対して供給するものである。ま
た、トレース部12は、アドレス値を出力する分岐PC
トレースモードと、イベント発生時にデータ情報を出力
するデータ解析モードとを切り替えることが可能に構成
されている。
【0084】尚、イベント検出データ解析部13として
は、ここに示した構成に限ることなく、同等な機能(イ
ベント検出とデータ解析)を有するものであればよい。
このような構成におけるデータ解析の動作を図12のフ
ローチャートを参照して説明する。
【0085】まず、イベント検出器13Aに検出対象と
なるイベントが発生するアドレス(データアクセスアド
レス)を指定する(図12S1)。そして、データ解析
モードが指定された時点で、イベント検出器13Aは検
出対象となるイベントが発生するアドレスへのアクセス
をアドレスバスを参照して監視する(図12S2,S
3)。指定されたアドレスへのアクセスを検出した場合
には、イベント検出結果をトレース用データラッチ13
Bに供給する(図12S3)。
【0086】イベント検出結果を受けたトレース用デー
タラッチ13Bは、その際のデータバス上のデータをサ
ンプリングし(図12S4)、サンプリングしたデータ
をデータ情報としてトレース部12に供給する。トレー
ス部12はデータ情報をDBG上に時分割で所定の形式
で出力する(図12S5)。
【0087】尚、この場合のトレース部12からのデー
タ出力フォーマットを図13に示す。この場合のデータ
ヒストリフォーマットは、図9ブランチPCトレースの
場合に準じたものとする。
【0088】このように、分岐PCトレースモードの外
部モードとして、予め検出対象として定めたイベントが
発生した際のデータ情報を出力するデータ解析モードを
備えたことにより、専用の信号ピンを増加させずにPC
トレースモード実行中にデータ解析モードを実行するこ
とが可能になる。
【0089】尚、図11を参照した上述の説明では、単
一のイベント検出を行う場合であったが、イベント検出
器13Aとトレース用データラッチ13Bとを複数組設
けることで複数のイベントを検出することが可能にな
る。
【0090】例えば、2組のイベント検出器(No.
1,No.2)を用いてデータ解析を行う場合のPCS
情報として、表8に示すように、PCS1 とPCS0 と
によってイベント検出器の区別を行うことも可能であ
る。
【0091】
【表8】
【0092】また、イベント検出器13A内にアクセス
バイト判定器を設けておき、表9に示すイベント設定内
容の一致条件で、トレース用データラッチ13Bの当該
バイトだけのデータ(アドレス及び表9のSIZで指定
されたバイトのデータ)がサンプルされるようにするこ
とも可能である。
【0093】
【表9】
【0094】また、「PC(プログラムカウンタ)」,
「データ空間」を対象とするイベント検出器のイベント
アドレス空間の設定条件により、DBG出力上に得られ
るトレース情報(ヒストリトレースデータ)を表10の
ように規定することも可能である。
【0095】
【表10】
【0096】ここで、イベント検出器No.1にアドレ
ス下位4ビット・ドントケアのアドレスパターン設定と
し、データサンプル数設定を2バイト(SIZ<2:0
>=(0,0,1))とした場合での、データヒストリ
出力の例を図14に示す。尚、ここにおいて、PCS<
3:2>=(0,1)はデータ解析モードでのイベント
検出におけるデータヒストリ出力であることを示し、P
CS<1:0>=(0,0)はイベント検出器番号N
o.1を示している。
【0097】以上のようなイベント一致検出時のヒスト
リデータ出力の起動を、以下のアルゴリズムのもとで行
うようにする。 ・イベントヒット時に出力中のPCヒストリ情報が出力
終了した時点で、最優先でイベントヒット要因のヒスト
リ出力が行われる。 ・イベントヒット要因により、ヒストリ出力中に発生す
る新PC情報(ブランチPC情報)は、PC情報出力中
の新PC情報発生時と同様に、先出し情報の出力完結優
先のため、出力されない。 判定 (3)実施の形態により得られる効果:以上詳細に説明
したように、上述の実施の形態例によれば、以下のよう
な効果が得られる。
【0098】複数の条件分岐の全てにおいて、条件分
岐の際に条件成立(ブランチテイクン)時にも条件不成
立(ブランチノットテイクン)時にも、PC値をマイク
ロコンピュータアナライザ側に出力するように構成して
おくことで、レジスタの内容によって分岐するか否かが
決定される条件分岐が複数個存在している場合にも、プ
ログラムの動きをトレースして理解することができ、ど
の命令で分岐したかという分岐元を判断することが可能
になる。従って、ソースプログラムの構文解析によって
前後関係から分岐元を判断する作業が不要になる。ま
た、ソースプログラムが存在しない場合にも、条件分岐
を正確に解析することが可能になる。
【0099】PC値を出力する場合に、変化したブラ
ンチPC値以下の部分のみをPCHA信号として送出す
るようにしたことで、小さなDBG幅でPCトレースが
得られるようになる。
【0100】ターゲット装置内のMPUを含む組み込
みチップ(エンベデッドチップ)内に、マイクロコンピ
ュータアナライザの機能の一部を実行するデバッグユニ
ットを設けているので、従来ターゲット装置とマイクロ
コンピュータアナライザ間でデータのやりとりを行なう
際に用いていたバッファ等が不要となり、その分取り扱
えるデータ速度を速くすることができる。
【0101】そして、分岐PCトレースモードの外部
モードとして、予め検出対象として定めたイベントが発
生した際のデータ情報を出力するデータ解析モードを備
えたことにより、専用の信号ピンを増加させずにPCト
レースモード実行中にデータ解析モードを実行すること
が可能になる。
【0102】
【発明の効果】以上、詳細に説明したように、第1の発
明においては、分岐PCトレースモードの外部モードと
して、予め検出対象として定めたイベントが発生した際
のデータ情報を出力するデータ解析モードを備えたこと
により、専用の信号ピンを増加させずにPCトレースモ
ード実行中にデータ解析モードを実行することが可能な
マイクロコンピュータアナライザを提供することができ
る。
【0103】また、第2の発明においては、トレース手
段が、アドレス値を出力する分岐PCトレースモード
と、イベント発生時にデータ情報を出力するデータ解析
モードとを切り替えることが可能に構成されているた
め、専用の信号ピンを増加させずにPCトレースモード
実行中にデータ解析モードを実行することが可能なマイ
クロコンピュータアナライザを提供することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態例のマイクロコンピュータ
アナライザの構成を示すブロック図である。
【図2】 トレースPCモードの出力タイミングを示す
タイムチャートである。
【図3】 トレースPCモードの出力タイミングを示す
タイムチャートである。
【図4】 トレースPCモードの出力タイミングを示す
タイムチャートである。
【図5】 トレースPCモードの出力タイミングを示す
タイムチャートである。
【図6】 フルトレースPCモードの出力タイミングを
示すタイムチャートである。
【図7】 フルトレースPCモードの出力タイミングを
示すタイムチャートである。
【図8】 ブランチトレースPCモードの原理的動作を
示す説明図である。
【図9】 ブランチトレースPCモードの出力タイミン
グを示すタイムチャートである。
【図10】 ブランチトレースPCモードの出力例を示
す説明図である。
【図11】 データ解析モードに関係する部分の詳細を
示した主要部構成図である。
【図12】 データ解析モードの処理手順を示すフロー
チャートである。
【図13】 データ解析モードの出力フォーマットと出
力タイミングを示すタイムチャートである。
【図14】 データ解析モードの出力フォーマットと出
力タイミングについて、イベント発生の具体例と共に示
すタイムチャートである。
【符号の説明】 1 MPUコア 2 キャッシュ 2a ブレークメモリ 3 外部バスコントローラ 4 バス 5 入出力装置 6 RAM 7 フラッシュメモリ 8 ブレークメモリ 9 ブレークポイント端子 10 組み込みチップ 11 外部インタフェースピン 12 トレース部 13 イベント検出データ解析部 14 シリアルモニタアクセス部 15 ノンブレークデバッグ部 16 セレクタ 21 セレクタ 22 トレースメモリ 23 モニタメモリ 24 ノンブレークデバッグコントローラ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ターゲット装置のデバッグを行なうマイ
    クロコンピュータアナライザであって、 ターゲット装置内にある組み込みチップ内に、ターゲッ
    トMPUが実行している命令のアドレス値をPCトレー
    ス情報として出力するステート解析用のトレース機能を
    設け、 このトレース機能として、全てのアドレス値を出力する
    フルPCトレースモードと、絶対分岐命令実行時、若し
    くは条件分岐命令実行時に条件成立の有無に係わらずア
    ドレス値を出力する分岐PCトレースモードを備え、 この分岐PCトレースモードの外部モードとして、予め
    検出対象として定めたイベントが発生した際のデータ情
    報を出力するデータ解析モードを備えたことを特徴とす
    るマイクロコンピュータアナライザ。
  2. 【請求項2】 ターゲット装置のデバッグを行なうマイ
    クロコンピュータアナライザであって、 ターゲットMPUが実行している命令のアドレス値をP
    Cトレース情報として出力するステート解析用のトレー
    ス手段と、 予め検出対象として定められたイベントが発生した際の
    データ情報を前記トレース手段に対して供給するイベン
    ト検出データ解析手段と、をターゲット装置内にある組
    み込みチップ内に有し、 前記トレース手段は、絶対分岐命令実行時若しくは条件
    分岐命令実行時に条件成立の有無に係わらずアドレス値
    を出力する分岐PCトレースモードと、イベント発生時
    にデータ情報を出力するデータ解析モードとを切り替え
    ることが可能に構成されたことを特徴とするマイクロコ
    ンピュータアナライザ。
JP8044776A 1996-03-01 1996-03-01 マイクロコンピュータアナライザ Withdrawn JPH09237201A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8044776A JPH09237201A (ja) 1996-03-01 1996-03-01 マイクロコンピュータアナライザ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8044776A JPH09237201A (ja) 1996-03-01 1996-03-01 マイクロコンピュータアナライザ

Publications (1)

Publication Number Publication Date
JPH09237201A true JPH09237201A (ja) 1997-09-09

Family

ID=12700827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8044776A Withdrawn JPH09237201A (ja) 1996-03-01 1996-03-01 マイクロコンピュータアナライザ

Country Status (1)

Country Link
JP (1) JPH09237201A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014220003A (ja) * 2006-05-30 2014-11-20 エイアールエム リミテッド 命令の追跡中に作られるデータ・ストリームの大きさの削減

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014220003A (ja) * 2006-05-30 2014-11-20 エイアールエム リミテッド 命令の追跡中に作られるデータ・ストリームの大きさの削減

Similar Documents

Publication Publication Date Title
KR100546087B1 (ko) 마이크로프로세서 기반의 디바이스를 위한 트레이스 캐시
JP4190114B2 (ja) マイクロコンピュータ
US6142683A (en) Debug interface including data steering between a processor, an input/output port, and a trace logic
JP4138021B2 (ja) プロセッサベースのデバイス、ソフトウェア性能プロファイリング情報をもたらす方法およびソフトウェア性能プロファイリング情報を生成し分析するためのソフトウェア開発システム
US6189140B1 (en) Debug interface including logic generating handshake signals between a processor, an input/output port, and a trace logic
US6145123A (en) Trace on/off with breakpoint register
US6009270A (en) Trace synchronization in a processor
US6145100A (en) Debug interface including timing synchronization logic
EP0084431A2 (en) Monitoring computer systems
US7636870B2 (en) Semiconductor integrated circuit device, and debugging system and method for the semiconductor integrated circuit device
US6154856A (en) Debug interface including state machines for timing synchronization and communication
JP4335999B2 (ja) プロセッサ内蔵半導体集積回路装置
US6430727B1 (en) Diagnostic procedures in an integrated circuit device
US7533302B2 (en) Trace and debug method and system for a processor
JP2001154876A (ja) マイクロコンピュータデバッグアーキテクチャ及び方法
JP2008507025A (ja) 集積回路テスト用エミュレーション及びデバッグインターフェイス
JP2001154875A (ja) マイクロコンピュータデバッグアーキテクチャ及び方法
EP0869434A2 (en) Method for outputting trace information of a microprocessor
JP3397230B2 (ja) デバッグシステム
JP6981920B2 (ja) 半導体装置、およびデバッグ方法
EP0530816A2 (en) Microprocessor with cache memory and trace analyzer therefor
JPH11110255A (ja) ソフトウェアをデバッグするための装置および方法
EP1184790B1 (en) Trace cache for a microprocessor-based device
JPH1124959A (ja) マイクロプロセッサのトレース情報出力方法
JPH10254738A (ja) エミュレータ装置及びエミュレーション方法

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030506