- IAR Embedded Workbench for Arm 9.70.x
- C-SPY デバッグ
- トレース
- トレースについてのリファレンス情報
- [SWO 設定]ダイアログボックス
[SWO 設定]ダイアログボックス
[SWO 設定]ダイアログボックスは、C-SPY ドライバのメニュー、または[SWO トレースウィンドウの設定]ダイアログボックスから使用できます。

この図は C-SPY I-jet ドライバを示します。
このダイアログボックスは、SWO 通信チャンネルおよびハードウェアによるトレースデータの生成を設定するときに使用します。
SWOトレースを開始するにはを参照してください。
要件
以下のいずれかが必要です。
C-SPY I-jetドライバおよびI-jetまたはI-jet Traceインサーキットデバッグプローブ
C-SPY J-Link/J-TraceドライバおよびJ-Link/J-トレースJTAG/SWDプローブ
C-SPY ST-LinkドライバおよびST-Link JTAG/SWDプローブ
C-SPY TI XDSドライバおよびTI XDSプローブ
PC サンプリング
プログラムカウンタのサンプリング動作を制御します。以下を指定できます。
- 以下により使用中
PC サンプリングでトレースデータを使用可能な C-SPY の機能を一覧表示します。ON は、現在トレースデータを使用中の機能を示します。OFF は、現在トレースデータを使用中でない機能を示します。
- レート
サンプリングレート(1 秒あたりのサンプル数)をドロップダウンリストから選択します。最大可能サンプリングレートは、SWO クロック値と、SWO 通信チャンネル経由で送信される他のデータ量により決まります。SWO 通信チャンネルが大量のデータを処理できるほど高速でない場合、リストで最大値を指定すると適切に機能しません。
このオプションは I-jet には適用されません。
- 分周
CPU クロックのスピードに適用されて PC サンプルのレートを決定する除算を選択します。最大可能サンプリングレートは、SWO クロック値と、SWO 通信チャンネル経由で送信される他のデータ量により決まります。SWO 通信チャンネルが大量のデータを処理できるほど高速でない場合、リストで小さい値を指定すると適切に機能しません。
このオプションは I-jet のみに適用されます。
データログイベント
データログブレークポイントがトリガされたときにログに記録する対象を指定します。以下の項目を選択できます。
- 以下により使用中
データログイベントでトレースデータを使用可能な C-SPY の機能を一覧表示します。ON は、現在トレースデータを使用中の機能を示します。OFF は、現在トレースデータを使用中でない機能を示します。
- PC のみ
プログラムカウンタの値をロギングします。
- PC + データ値 + ベースアドレス
プログラムカウンタの値、データオブジェクトの値、およびそのベースアドレスをロギングします。
- データ値 + 正確なアドレス
データオブジェクトの値、およびアクセスされたデータオブジェクトの正確なアドレスを記録します。
割り込みログ
割り込みログでトレースデータを使用可能な C-SPY の機能を一覧表示します。ON は、現在トレースデータを使用中の機能を示します。OFF は、現在トレースデータを使用中でない機能を示します。
割り込みログの詳細については、割り込みを参照してください。
プロジェクトデフォルトのオーバライド
[プロジェクト]>[オプション]>[J-Link/J-Trace]>[設定]ページ、[プロジェクト]>[オプション]>[ST-Link]>[通信]ページ、[プロジェクト]>[オプション]>[TI XDS]>[通信]ページの[CPU クロック]および[SWO クロック]のデフォルト値を上書きします。
このオプションは I-jet には適用されません。
プロジェクト設定のオーバライド
[プロジェクト]>[オプション]>[I-jet]>[設定]ページの [CPU クロック]と[SWO プリスケーラ]のデフォルト値をオーバライドします。
このオプションは I-jet のみに適用されます。
CPU クロック
内部プロセッサクロック HCLK の正確なクロック周波数を指定します (MHz)。この値には小数点も使用できます。
この値は、SWO の通信速度を設定するときに使用します。
J-Link、ST-LINK、および TI XDS の場合、この値はタイムスタンプの計算にも使用されます。
SWO クロック
SWO 通信チャンネルのクロック周波数を指定します (kHz)。以下から選択します:
- 自動検出
J-Link デバッグプローブで使用できる最大可能周波数を自動的に使用します。選択された場合、[指定](最大)テキストボックスにその周波数が表示されます。
- 指定
[自動検出]が選択されていない場合に、使用する周波数を手動で選択します。この値には小数点も使用できます。このオプションは、伝送中にデータパケットが失われる場合に使用します。
- 実際
実際に使用される周波数を表示します。最大周波数とは微妙に異なる場合があります。
このオプションは I-jet には適用されません。
SWO プリスケーラ
SWO 通信チャンネルのクロックプリスケーラを指定します。プリスケーラによって、SWO クロック周波数が決まります。通信中にデータパケットが失われる場合、より大きいプリスケーラの値を使用してみてください。以下から選択します:
- 自動
I-jet デバッグプローブで使用できる最大可能周波数を自動的に使用します。
- 1, 2, 5, 10, 20, 50, 100
プリスケーラの値。
このオプションは I-jet のみに適用されます。
タイムスタンプ
タイムスタンプ値の分解能を選択します。たとえば、1 サイクルごとにカウントする場合は 1 を、16 サイクルごとにカウントする場合は 16 を選択します。最小値は、各イベントパケットの間隔が十分に長い場合にのみ有益であることに注意してください。
このオプションは I-jet には適用されません。
ITM 事象ポート
リダイレクトするポートと転送先を選択します。ITM 事象ポートは、アプリケーションからデバッガホストに、プログラムの実行を停止せずにデータを送信するときに使用されます。32 個のポートがあります。以下から選択します:
- ポートの有効化
使用するポートを有効にします。有効にしたポートのみが、SWO 通信チャンネル経由でデバッガにデータを送信します。
ポート 0 はターミナル I/O のライブラリ関数で使用されます。
ポート 1 から 4 は、[イベントログ]の ITM マクロによって使用されます。
ポート 5 は、ITM マクロに追加されるオプションの PC 値に使用されます。
- 転送先の[ターミナル I/O]ウィンドウ
[ターミナル I/O]ウィンドウへのデータルーティングに使用するポートを指定します。
- 転送先ログファイル
ログファイルへのデータルーティングに使用するポートを指定します。デフォルトのログファイル以外を使用する場合は、参照ボタンを使用して指定します。
ヒント
アプリケーションの stdout と stderr は、セミホスティングではなく、SWO経由で C-SPY の[ターミナル I/O]ウィンドウにルートすることができます。これには、[プロジェクト]>[オプション]>[一般オプション]>[ライブラリ構成]>[低レベルインターフェースのライブラリ実装]>[stdout/stderr]>[SWO 経由]を選択します。こうすることで、セミホスティングを使用した場合に比べて、stdout/stderr のパフォーマンスが格段に向上します。
これは、[ポートの有効化]および[転送先ターミナル I/O]オプションでポート設定の選択を解除すると無効になります。