トレースとロジックアナライザ


【トレース機能】

MPLAB IDEのシミュレータにはトレース機能があります。これは指定した範囲
または全範囲の命令を実行した順に記録してメモリに保存し、ブレークポイント
などで停止したとき、それまでの命令の実行内容が追いかけられる機能です。
 このトレース機能は記憶メモリが32kステップ分しかありませんので、それ以上
になると古いものに上書きします。

 またこのトレースを有効にすると、ロジックアナライザ機能により、ポートのピン
の出力状態をグラフで表示させることができます。
この場合も32kサイクル分しかメモリに保存されませんので、それ以上の範囲の
変化はグラフにすることはできません。

【トレースの指定】

 まずトレース結果を表示するダイアログは、View → Simulator Traceで開くことが
でき、下図のようなダイアログとなります。




次にトレースする範囲の指定はエディタのソースファイルで行います。
下図のようにソースファイルでトレースしたい範囲を選択してから右クリックすると図のような
ポップアップメニューが表示されますので、ここで「Add Filter-in Trace」とすれば、指定範囲
がトレースの対象となります。対象となった範囲には行の左端の空欄に□マークが付きます。




【トレースの実行】

これでシミュレータでRunとすれば、この指定範囲を通過する度にトレースが実行され
メモリに保存されていきます。そして次にブレークポイントで停止した場合や、HALTで
停止させたときに、下図のようにトレースダイアログにトレース結果が表示されます。
この保存と表示は32kステップ分しかありませんので、それ以上になると古い物から
順に上書きされていきます。
トレース結果には、実行された命令のアドレスや命令情報の他に、アクセスしたデータに
関する情報も一緒に表示されます。
  SA:元データのアドレス     SD:元データの内容
  DA:相手データのアドレス   DD:相手データの内容





【ロジックアナライザ】

トレースを有効にすると、保存されたトレースメモリからポートへの入出力をグラフとして
表示することが可能になります。この機能を「Logic Analizar」と呼びます。
ダイアログの表示は、View → Logic Analizar で下図のようなダイアログが表示されます。
ここで、まずChannelsボタンをクリックして表示させるピンを指定することから始めます。




Channlesボタンをクリックすると下図のようなピン選択ダイアログが表示されます。
ここで左側にあるピン番号一覧からグラフ表示するピンを選択してAddボタンをクリック
するか、ピン番号をダブルクリックすれば左側の欄に追加されていきます。
表示する順番を変更したいときには、Move Up か Move Downボタンで入れ替えます。
これでOKボタンを押せばグラフ表示されます。




実際にグラフ表示させた例が下図のようになります。注意が必要なことは表示は
サイクル単位で行われることと、32kサイクル以上は表示できないので、これ以上に
長い時間の変化は表示されないことになります。
つまり例えば20MHzのクロックであれば、0.2μsec×32k=約65msec 以上の変化
は表示されないことになります。




上記の表示を拡大縮小することもできますし、縦軸、横軸ともスクロールで拡大縮小
もできます。
さらに範囲を指定して拡大縮小もできます。これらは左上のアイコンで選択して
行います。




   目次ページへ