カスタマーサポートセンター

FAQ~よくある質問~ | FAQマスタ詳細表示

FAQ詳細情報

ID 10810682
FAQカテゴリ(大) ICE(エミュレータ)
最終更新日 2014-02-23

質問内容

TN17681: JTAG チェーンの最初にないARMコアをデバッグする (v.5.50+)

回答内容

EWのターゲット : ARM
EWのコンポーネント : C-SPY debugger
キーワード : JTAG, TAP
更新日 : April 1, 2011

背景
JTAGチェーンの最初に置かれていないARMデバイスのデバッグも可能です。

問題
IAR のドキュメントに関わらず、 JTAGチェーンの2番目以降にある ARM コア のデバッグができません。

IARのドキュメント
この状況に役立つドキュメントが 2つあります。
\arm\doc\J-Link_J-TraceARM-2.pdf の 'multicore debugging' の章に設定の基礎が書かれています。
\arm\doc\infocenter\csarmjlink.JPN.htm の 'Miscellaneous' のヘッダーの下に、JTAG チェーンをどのように構築してデバッグできるようにするか、分かる図があります。

問題を解決する高度な設定
正しいTAP 番号と正しい数の先行ビットを設定する必要があります。

手順
• J-Linkをボードに接続詞、J-Linkを PC に接続します。
• arm\bin\jlink.exe ユーティリティを起動し、JTAG デバイスの情報が表示されるまで、画面をスクロールします。
2つのSTM32デバイスを持ったボードの例では、
Found 4 JTAG devices, Total IRLen = 18:
#0 Id: 0x3BA00477, IRLen: 4, IRPrint: 0x1 Cortex-M3 Core
#1 Id: 0x06412041, IRLen: 5, IRPrint: 0x1 STM32 Boundary Scan
#2 Id: 0x3BA00477, IRLen: 4, IRPrint: 0x1 Cortex-M3 Core
#3 Id: 0x06412041, IRLen: 5, IRPrint: 0x1 STM32 Boundary Scan
Cortex-M3 identified.

• 接続したいユニットは、'Coresight JTAG-DP at #2' です。
先行ビット、4 for #1 (CoreSight JTAG-DP for 1:st device) and 5 for #2 (STM32 Boundary Scan for first device)
• プロジェクト > オプション > J-Link/J-Trace > 接続タブ
でオプションを設定します。
• 'JTAG スキャンチェーン(マルチターゲット)' オプションを有効にします。
• TAP番号オプションを 2に設定します。
• 'スキャンチェーンに ARMでないデバイスが含まれる' オプションを有効にします。
• デバッグする ARM デバイスの前の IR ビットの数を指定するため、先行ビットのテキストフィールドに 9 を設定します。 ( TAP 0 に 4ビット、TAP 1に. 5ビットとリストされているのを加える)


JTAG デバイスの数、TAP 番号、先行ビットの例

以下、それぞれ1つのARM デバイスをスキャンした、4つの例を示します。
すなわち、ARMデバイスには ARM コアと JTAG デバイスである他の部品 (ここでは 0 から 2) が接続されています。
Found 3 JTAG devices, Total IRLen = 17:
 #0 Id: 0x04570041, IRLen: 08, IRPrint: 0x29, STR9 Flash
 #1 Id: 0x25966041, IRLen: 04, IRPrint: 0x1, ARM966E-S Core
 #2 Id: 0x1457F041, IRLen: 05, IRPrint: 0x1, STR9 Boundary Scan
Found ARM with core Id 0x25966041 (ARM9)

Found 1 JTAG device, Total IRLen = 4:
 #0 Id: 0x4BA00477, IRLen: 04, IRPrint: 0x1, CoreSight JTAG-DP (ARM)
Cortex-M3 identified.

Found 2 JTAG devices, Total IRLen = 9:
 #0 Id: 0x3BA00477, IRLen: 04, IRPrint: 0x1, CoreSight JTAG-DP (ARM)
 #1 Id: 0x06418041, IRLen: 05, IRPrint: 0x1, STM32 Boundary Scan
Cortex-M3 identified.

Found 1 JTAG device, Total IRLen = 4:
 #0 Id: 0x3F0F0F0F, IRLen: 04, IRPrint: 0x1, ARM7TDMI Core
Found ARM with core Id 0x3F0F0F0F (ARM7)

トラブル・シューティング
TRSTを使用しない reset strategy を選択することは重要です。TRSTは全てのコアをリセットしてしまうからです。

コア      推奨するリセット  使用してはいけないリセット
Cortex   Core reset     Normal reset
ARM 7/9  Software        all where TRST is involved


全ての製品の名前は、それぞれの所有者の商標または登録商標です。

参考資料URL