ソフトウェアのみのトレース

ソフトウェアのみのトレースソリューションで、システムの状況を把握しましょう

組み込みシステムを深く理解するためには、プログラムの流れやデータ操作に関するリアルタイムかつ非侵襲的な情報を取得する手段として、一般的にハードウェアベースのオフチップトレースが推奨されます。たとえプロセッサやボードの制限などの理由でオフチップトレースが利用できない場合でも、TRACE32 は、以下の 2 つの純粋なソフトウェアベースの手法を通じて、強力なトレース機能を提供します。 LOGGERおよびFDX(Fast Data eXchange)トレースに加え、インスツルメンテーションなしで実行時の挙動を分析できるTRACE32 SNOOPerがこれを補完します。これらにより、関数やタスクの実行時解析といったユースケースを実現できます。TRACE32のソフトウェアトレースを利用するために、追加のTRACE32トレースモジュールやTRACE32トレースライセンスは必要ありません。

トレースIPを使用せずにチップを解析する

AUTOSAR ARTI プロファイリングを有効にします

すべてのチップで最適に活用するための3つの選択肢

ニーズに合わせて「ソフトウェアトレース」を活用する

LOGGERとFDXはいずれもソフトウェアベースのトレース手法であり、ターゲットアプリケーションに修正を加える必要があります。この修正により、アプリケーションはトレース情報を予約されたメモリ領域に書き込むよう仕組まれます。 弊社では、LOGGERおよびFDXトレース用の専用ソースファイルセットを提供しており、これらはターゲットアプリケーションに組み込まれます。

LOGGER によるソフトウェアのみのトレース

LOGGERは、ローターバッハ が提供するトレース形式を用いて、ターゲットメモリ上の予約済みバッファに特定のトレース情報を書き込むために、ターゲットアプリケーションの修正を必要とするソフトウェアトレース手法です。記録が停止すると、 TRACE32 ターゲットメモリからデータを取得し、表示や分析を行います。バッファが満杯になった場合、アプリケーションは古いエントリを上書きする(FIFOモード)か、新しいデータの書き込みを停止する(スタックモード)かのいずれかを選択できます。 トレース手法であるLOGGERは、主にハードウェアベースのトレースが利用できない場合に使用されます。

AUTOSAR ARTI に対する LOGGER のサポート

当社は、AUTOSAR Run-Time Interface(ARTI)トレースフックに基づくインスツルメンテーショントレースを通じて、AUTOSAR Classic Platform(CP)システムのトレースに対する専用のサポートを提供しています。 対象となるイベントのトレースメッセージは、ARTIトレース変数への書き込みアクセスが発生した際に、ターゲットアプリケーション内のLOGGERトレース・インスツルメンテーションによって生成されます。 2つの実装が用意されています。1つはSMP用、もう1つはシングルコア用です。SMP版はスピンロックを使用していませんが、シングルコア版に比べてわずかなオーバーヘッドが生じるコア間バッファ管理を採用しています。

詳細はこちら TRACE32 AUTOSAR サポート

FDX によるソフトウェアのみのトレース

FDX (Fast Data eXchange) software trace streams trace information to the TRACE32® PowerView software on the host, typically via memory access during execution. TRACE32® is capable to interpret the FDX data stream and handle it as ordinary trace information device. The target application writes the required trace information to a small ring buffer (min. size 2 trace records). The buffer acts as a temporary FIFO, enabling longer recording sessions. If the communication channel cannot transfer data quickly enough, the FDX target code stalls execution to prevent data loss. The FDX host application ensures that the data is transferred from the target trace buffer to a large trace buffer on host computer while the program execution is running. If the chip has a built-in debug unit with Debug Communications Channel (DCC), the trace information can be streamed directly to the TRACE32® PowerView software as an alternative to the usual memory-based communication.

AUTOSAR ARTI に対する FDX のサポート

当社は、AUTOSAR Run-Time Interface(ARTI)トレースフックに基づく計測トレースを通じて、AUTOSAR Classic Platform(CP)システムのトレースに対する専用のサポートを提供しています。 対象となるイベントのトレースメッセージは、ARTIトレース変数への書き込みアクセスが発生した際に、ターゲットアプリケーション内のFDXトレース計測機能によって生成されます。 実装には、SMP用とシングルコア用の2種類があります。SMP版はスピンロックを使用するため、シングルコア版に比べてわずかな時間的オーバーヘッドが生じます。

詳細はこちら TRACE32 AUTOSAR サポート

TRACE32 SNOOPer:インスツルメンテーションなしで実行時の挙動を分析

場合によっては、例えばターゲットコードを修正できない場合など、インスツルメンテーションベースのLOGGERやFDXソフトウェアトレースが利用できないことがあります。そのような状況では、実行時の挙動を把握するための唯一の手段は、サンプルベースのプロファイリングとなります。TRACE32は、SNOOPer機能(サンプルベースのプロファイリング)を通じてこのアプローチをサポートしています。 サンプルベースのプロファイリングは、プログラムカウンタやデータ値のスナップショットを定期的に収集することで機能します。タスクのトレースについては、現在のタスク識別子を格納する変数をサンプリングすることで実現できます。このトレースは連続的な記録ではなく定期的なサンプリングに依存しているため、結果は概算であり、本質的に統計的な誤差を含みます。 したがって、サンプルベースのプロファイリングは、実行時間の全体像を把握するには有用ですが、関数やタスクの実行時間制約の検証など、高い精度が求められるシナリオには適していません。 結論として、TRACE32のサンプルベースのプロファイリング(SNOOPer)は、インストルメンテーションが実施できない場合に、軽量な代替手段となります。実行時間の全体像を把握できますが、特にピーク値については精度が低下します。

TRACE32 SNOOPer:インスツルメンテーションなしで実行時の挙動を分析

場合によっては、例えばターゲットコードを修正できない場合など、インスツルメンテーションベースのLOGGERやFDXソフトウェアトレースが利用できないことがあります。そのような状況では、実行時の挙動を把握するための唯一の手段は、サンプルベースのプロファイリングとなります。TRACE32は、SNOOPer機能(サンプルベースのプロファイリング)を通じてこのアプローチをサポートしています。 サンプルベースのプロファイリングは、プログラムカウンタやデータ値のスナップショットを定期的に収集することで機能します。タスクのトレースについては、現在のタスク識別子を格納する変数をサンプリングすることで実現できます。このトレースは連続的な記録ではなく定期的なサンプリングに依存しているため、結果は概算であり、本質的に統計的な誤差を含みます。 したがって、サンプルベースのプロファイリングは、実行時間の全体像を把握するには有用ですが、関数やタスクの実行時間制約の検証など、高い精度が求められるシナリオには適していません。 結論として、TRACE32のサンプルベースのプロファイリング(SNOOPer)は、インストルメンテーションが実施できない場合に、軽量な代替手段となります。実行時間の全体像を把握できますが、特にピーク値については精度が低下します。

ご質問は?

40年以上にわたって業界をリードしてきた当社の専門エンジニアが、お客様をサポートいたします。製品に関するアドバイスや、どの構成が最適かをお知りになりたい場合は、セールスエンジニアにお問い合わせください。 ローターバッハ システムに関するサポートが必要な場合は、当社のエンジニアリング・サポート・チームにご連絡ください。