I-jet — Trace
[トレース]オプションは、I-jet のトレース動作を指定します。

モード
電力測定(プローブまたは I-scope による TrgPwr)は特定のトレースモードには依存せず、常に使用可能です(プローブでサポートされている場合)。
[デバッグログ] ウィンドウには、現在使用されているトレースモードについてのメッセージが含まれます。プローブやボード / デバイスの制限によって特定のモードが使用できない場合、トレースは無効になって [デバッグログ]ウィンドウにワーニングが表示されます。特定のトレース モードのサポートは次のように確認します。
プローブが特定のモードをサポートしている必要がある。
プローブが特定のコアで特定のモードをサポートしている必要がある。たとえば、Arm9上のETMはI-jet Traceプローブではサポートされていません。
特定のコアが特定のモードをサポートしている必要がある。たとえば、Cortex-M0はSWO/ETM/ETBをサポートしておらず、Arm9はSWOをサポートしていません。
使用されているアダプタが指定のモードをサポートしている必要がある。たとえば、Arm20アダプタがI-jet Traceと併用されている場合にはETMトレースは使用できません。
特定のデバイスが特定のモードをサポートしている必要がある。たとえば、ETMトレースはETMのないCortex-M3では使用できず、これはオンチップのTPIU設定レジスタを読み込むまでは検出できません。
[モード]オプションは、トレースデータ収集のメカニズムとインターフェースを指定します。以下から選択します:
- 自動
プローブとボード / デバイスの機能に応じて、最適なメカニズムとインターフェースを自動的に選択します。
基本モードはプローブに依存する順序で実行されます。
I-jet は最初に SWO、次に ETB の順に実行(ETM はサポートされていません)。
I-jet Trace: 最初に ETM、次に SWO、続いて ETB の順。
これらのモードのいずれも使用できない場合は、トレースは無効になります([なし]を選択したときと同じです)。[自動]モードでは、トレースに関連したオンチップのリソースへの初期アクセスがさらに行われることがあります。このため、特定のプローブとモードを使用する場合は、C-SPY がトレースのリソースをより効率的に初期化 / 構成できるようにモードを明示的に設定した方が便利です。
- なし
トレースを無効にします。このモードでは、C-SPY はトレース関連のオンチップのリソースには一切アクセスしません。このモードは以下の場合に使用できます。
接続に問題があります。トレースのリソース初期化からの干渉がない状態で接続の問題を診断する方が簡単です。
トレースによって内部のクロックおよび / または GPIO mux 設定が変わることがあり、結果として一部のアプリケーションが特定のトレースモードで正しく機能しない可能性があります。
低消費電力モードで実行してください。内部のオンチップトレースロジックとトレースピンの切替えには、追加の電流が必要なことがあり、低消費電力測定に干渉する恐れがあります。極端な場合には、トレース /GPIO でクロックを有効にすると、CPU 内部の一部のクロックがアクティブな状態のままになるため、CPU が実際に低消費電力モードに入るのを妨げることがあります。
- シリアル (SWO)
シリアル (SWO) インターフェースを通じてトレースデータを収集します。
- パラレル (ETM)
パラレル (ETM) インターフェースを通じてトレースデータを収集します。
- オンチップ (ETB/MTB)
オンチップ (ETB/MTB) インターフェースを通じてトレースデータを収集します。
バッファの制限
プローブメモリの使用を制限します。このオプションは、パラレル (ETM)モードの使用時([パラレル (ETM)]または[自動]により暗示的に)にのみ利用できます。
収集されたトレースデータはプローブメモリに保存されます。
大量のトレースデータの読取りとデコードには時間がかかるため、トレースデータの収集が停止したときに(CPU の停止またはバッファがフルになったときなど)、ETM メモリのどの部分を C-SPY で読み取るかを制限することが可能です。[バッファ制限]オプションを使用して、メモリの豪合計サイズの割合に対して使用するバッファを制限します。プローブ メモリを多く使用すると、生成されるトレース データも多くなりますが、結果が表示されるまでに時間がかかり、ホスト メモリの消費量も増加します。C-SPY はトレースプローブから最も新しいサンプルを取得し、収集されたトレースデータの残りは破棄されます。
ETM のローサンプル数と[ETM トレース]ウィンドウで表示される PC サンプル数に単純な相関関係はありません。ETM プロトコル自体は高度に圧縮されており、プローブによって ETM アイドルサイクルがさらに圧縮されます。したがって、トレースプローブにより収集された特定の数の ETM ローサンプルからどれだけの命令をデコードできるかを推測することは不可能です。アプリケーションで PC が頻繁に変わる場合、ETM はより多くの PC ビットを送るためにさらに多くのサンプルを必要とします。このため、トレースデータは十分に圧縮されません。特定のアプリケーションプロファイルの場合、この値は通常は定数(各ビットサンプルに対して 0.5 から 2 の命令)です。このため、デコードされたデータと C-SPY のパフォーマンスのバランスを良好に保つバッファ制限を自分で判断する必要があります。
SWO プロトコル
SWO チャンネルの通信プロトコルを指定します。以下から選択します:
- 自動
使用するデバイスに応じて、最適なプロトコルと速度を自動的に選択します。
- Manchester
Manchester プロトコルを指定します。
- UART
UART プロトコルを指定します。
CPU クロック
内部プロセッサクロックで使用される正確なクロック周波数を HCLK で指定します (MHz)。この値には小数点も使用できます。この値は、SWO の通信速度の設定およびタイムスタンプの計算に使用します。
SWO プリスケーラ
SWO 通信チャンネルのクロックプリスケーラ (KHz) を指定します。プリスケーラによって、SWO クロック周波数が決まります。
[自動]を選択すると、I-jet または I-jet Trace デバッグプローブで処理が可能な最高の周波数が自動的に使用されます。この設定は、データパケットが送信中に失われる場合に使用してください。
[SWO クロック設定]オプションをオーバライドするには、[SWO 設定]ダイアログボックスで[プロジェクトのデフォルト設定をオーバライド]オプションを使用します([SWO 設定]ダイアログボックスを参照)。