適用範囲:Arm Development Studio, CoreSight SoC-400, CoreSight SoC-600
概要
トレースのタイムスタンプを有効にするには、最初にSystem on Chip (SoC)でタイムスタンプジェネレータを有効にする必要があります。タイムスタンプジェネレータを有効にした後、トレースフローにタイムスタンプを挿入するように関連するコアにおいてETM を設定する必要があります。
タイムスタンプジェネレータの有効化
複数のプロセッサとトレース情報の連携に使用されるその他のCoreSightコンポーネントの時間に関して一致したビューを提供するタイムスタンプ値を生成するためにタイムスタンプジェネレータは使用されます。タイムスタンプジェネレータに関するさらなる情報は、以下の場所にあります:
- Timestamp generator - ARM CoreSight SoC-400 Technical Reference Manual
- Timestamp generator - Arm CoreSight System-on-Chip SoC-600 Technical Reference Manual
タイムスタンプジェネレータには制御領域があります。この領域のレジスタについてのアドレスオフセット、タイプ、および説明が以下の場所にあります:
- Timestamp generator register summary - ARM CoreSight SoC-400 Technical Reference Manual
- Timestamp generator register summary - Arm CoreSight System-on-Chip SoC-600 Technical Reference Manual
制御領域の最初のレジスタ(アドレスオフセット0x000) は、Counter Control Register(CNTCR) です。
CNTCRのイネーブルビット(EN) を1に設定し、カウンタを有効にしてインクリメントを行う必要があります。EN ビットはCNTCRレジスタのビット0です。
タイムスタンプジェネレータは製造元によって実装されており、ベースアドレスは使用しているSoCによって異なります。ベースアドレスを見つけるには、SoCのリファレンスマニュアルで"Timestamp generator" または"TSGEN" を検索してみてください。
タイムスタンプを有効化するためのETM設定
トレースにタイムスタンプを挿入するには、トレースを行っているコアでETM トレースソースを設定し、タイムスタンプを有効にする必要があります。タイムスタンプジェネレータを必ず有効にする必要があることに注意してください。
Arm Development Studio(Arm DS) では、DTSL Configuration Editor ダイアログボックスを使用して、コアのETMタイムスタンプを有効にできます。 DTSL configuration で、トレースを行うコアに対応するタブをクリックし、"Enable core trace" および"Enable ETM Timestamps" にチェックマークを付けます。
以下の例では、Cortex-M4コアトレースでETMタイムスタンプを有効にしています。