見出し画像

【TRACE32 Tips】オンチップトレースメモリで長時間トレース

マイコンに実装されているトレース用メモリ(オンチップメモリ)は、少量であることが多いですが、LeashSTREAM トレースレコーディングモードを使うことで、小分けに採取した記録を集め、それらを全体として解析することができます。

※現時点では、RH850用JTAGデバッグツールにて利用できます。

LeashSTREAM トレースレコーディングモードの仕組み

TRACE32デバッグツールには、既に次のトレース記録モードが実装されており、これらを組み合わせることで LeashSTREAM を実現しています。

  • Leash モード:トレースメモリが満杯になりそうになったらプログラム実行を停止

  • STREAM モード:ホストパソコンへトレース情報をストリーミング

LeashSTREAM モード(RH850用デバッガ)

動作イメージとユースケース

トレースモード LeashSTREAM をアクティブな状態にすると、TRACE32デバッガは StopAndGo モードでプログラム実行を開始します。オンチップトレースメモリがほぼ満杯になりそうになると、プログラム実行は少しの間だけ中断され、トレースデータをストリーミングファイルに追加します。その後、自動的にプログラム実行が再開され、トレースデータ満杯⇒実行停止⇒データ保存⇒実行再開が自動的に繰り返されます。
 一旦、プログラム実行が停止するため、システムとしてのリアルタイム実効性は失われます。ただ、コードカバレッジ測定を目的とするような場面など実行時間を厳密に気にする必要がないような場面において活用できます。

オンチップトレースメモリ + Leashモードで連続採取

LeashSTREAM モードは、現時点ではRH850用デバッガソフトウェアに実装されていますが、デバッガソフトウェア内で利用可能なスクリプト(PRACTICEスクリプト)を利用することで、似たような動作を実現できます。
デバッガソフトウェアのインストールディレクトリに次のスクリプトファイルが用意されています。このスクリプトはRH850用デバッガソフトウェアでの使用を想定した記述になっていますが、このスクリプトをベースに他のCPUのデバッガソフトウェアの環境に転用することが可能です。

C:\T32\demo\rh850\etc\leash_accumulated\leash_accumulated.cmm