CTI信号 (「CPU停止」など ) をTRAVEO™ T2Gトリガマルチプレクサへルーティング – KBA235072
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Translated by: MaMi_1205306
Original KBA: Routing a CTI signal (e.g., “CPU halted”) to the TRAVEO™ T2G trigger multiplexer – KBA235072
バージョン: **
Arm® CoreSight Cross Trigger Interface(CTI)は、さまざまなCPUコア間でのデバッグ関連信号のルーティングをサポートします。さらに、汎用CTIトリガ入力信号 CTI_TR_IN[x]と汎用CTIトリガ出力信号 CTI_TR_OUT[x]があり、これらはすべてのMCUトリガ信号が利用可能なTRAVEO™ T2Gトリガマルチプレクサに接続されています。これは、特定のシステムイベントで実行を停止するようにCPUへ要求したり、CPUが現在停止している場合には周辺機器(TCPWMなど)を一時停止したりするなどのユースケースをサポートできます。後者の場合、「CPU停止」信号をTRAVEO™ T2Gトリガマルチプレクサへルーティングする必要があります。このマルチプレクサでは、さらに構成/処理が必要になります(このナレッジベースの記事の範囲には含まれません)。
TRAVEO™ T2GのArm® CoreSight デバッグインフラストラクチャは、各CPUコア(CM4_CTIなど)に1つ、共通のCTI(TRC_CTI)に1つずつ、複数のCTIで構成されています。 TRC_CTIは、CPU固有のCTIとともに、TRAVEO™ T2Gトリガマルチプレクサに接続される汎用CTIトリガ入力/出力信号を提供します。すべてのCTIのすべてのトリガ入力および出力信号の完全なリストについては、TRAVEO™ T2Gアーキテクチャリファレンスマニュアルの「EmbeddedCross-Triggering」セクションを参照してください。
すべてのCTIトリガ入力および出力信号は、トリガ入力信号とトリガ出力信号の間に接続を作成するために、使用可能な4つのクロストリガマトリックス(CTM)チャネルのいずれかに接続できます。
「CM4 halted」信号をCTI_TR_OUT[0]信号に接続するためのサンプルコード:
#define TRC_CTI_BASE 0xE0080000UL
#define TRC_CTI_REG__CTICONTROL (*((volatile uint32_t*)(TRC_CTI_BASE + 0x00)))
#define TRC_CTI_REG__CTIINEN(trigin_idx) (*((volatile uint32_t*)(TRC_CTI_BASE + 0x20 + 4*trigin_idx)))
#define TRC_CTI_REG__CTIOUTEN(trigout_idx) (*((volatile uint32_t*)(TRC_CTI_BASE + 0xa0 + 4 * trigout_idx)))
#define TRC_CTI_TRIGIN_IDX__CM0PLUS_HALTED 0
#define TRC_CTI_TRIGIN_IDX__CM4_HALTED 4
#define TRC_CTI_TRIGIN_IDX__CM7_0_HALTED 4
#define TRC_CTI_TRIGIN_IDX__CM7_1_HALTED 5
#define TRC_CTI_TRIGOUT_IDX__CTI_TR_OUT0 6
#define TRC_CTI_TRIGOUT_IDX__CTI_TR_OUT1 7
// TRC_CTIレジスタは、デバッガが接続されている場合のみアクセス可能
if(CPUSS->unDP_STATUS.stcField.u1SWJ_CONNECTED != 0)
{
// TRC_CTIを有効
TRC_CTI_REG__CTICONTROL = 1;
// 「CM4 halted」入力トリガ信号をCTMチャンネル#0へルーティング
TRC_CTI_REG__CTIINEN(TRC_CTI_TRIGIN_IDX__CM4_HALTED) = 1;
// CTMチャンネル#0を「CTI_TR_OUT[0]」出力トリガ信号へルーティング
TRC_CTI_REG__CTIOUTEN(TRC_CTI_TRIGOUT_IDX__CTI_TR_OUT0) = 1;
}
注釈:
TRC_CTIレジスタには、Cortex®-M4またはCortex®-M7#0(CM7_0)からのみそれぞれアクセスできます。ただし、これらのCPUは、他のCPUコア(Cortex®-M0+またはCortex®-M7#1)で実行されているアプリケーションソフトウェアが必要な構成を確立できます。
さらに、レジスタには、デバッガが接続されている場合にのみアクセスできます。サンプルコードに示すように、ソフトウェアはデバッガの接続状態を確認できます。
Arm® CoreSight Cross Triggerコンポーネントの詳細情報(機能やレジスタの説明など)については、Arm®のWebサイトを参照してください。