適用先: ULINK USB-JTAG Debugger
この記事に含まれている情報の適用先:
- ULINK USB-JTAG Adapter
- ULINK2 USB-JTAG Adapter
質問
ここ数日、Keil ULINK と Philips/NXP LPC2000 ARM デバイスを問題なく使用していました。若干の修正を加えたアプリケーションをダウンロードしたところ、デバイスが応答しなくなりました。
次のエラー メッセージが返されるだけです。
JTAG Communication Error
何が原因でしょうか?
回答
アプリケーション プログラムで、プログラム実行中に JTAG ポートを無効にしている可能性が高いです。JTAG アダプタが接続されている状態でも、ARM デバイスはプログラム実行を開始します。アプリケーション ソフトウェアで JTAG ポートを無効にすると、ARM デバイスは JTAG インターフェースを介して接続できなくなります。
Embedded Systems Academy から Flash Magic Programming Tool を入手し、シリアル インターフェースを介してアプリケーション ソフトウェアを消去することで、NXP LPC2000 ARM デバイスを復旧できます。
デバイスを復旧したら、PHILIPS LPC2000 デバイスに対する RESET の動作について の説明に従って、アプリケーション プログラムのメイン エントリで while loop を使用する必要があります。この方法では、(通常、デバイス初期化時に)JTAG インターフェースを無効にした命令を解析できます。
たとえば、次の C ステートメントを実行すると、JTAG ピンは無効になります。
PINSEL2 = 0x8
基本的に、このような方法で PINSEL2 を変更すると、JTAG ポートは無効になります。
このようなプログラムで他に考えられる理由としては、ウォッチドッグ タイマが挙げられます。ウォッチドッグ タイマを有効にすると、デバッグに失敗する可能性があります。プログラムを検索して、次のようなシーケンスが含まれていないか確認してください。
WDTC = 15103; // Timer reload value 15103*4*(1/60MHz)=1.0ms
WDMOD = 3; // WDEN = WDRESET = 1
基本的に、デバッグ時には、ウォッチドッグ タイマを有効にしないでください。
詳細
- MCB2100 User's Guide の Downloading with Flash Magic を参照してください。
- MCB2103 User's Guide の Downloading with Flash Magic を参照してください。
- MCB2130 User's Guide の Downloading with Flash Magic を参照してください。
- MCB2140 User's Guide の Downloading with Flash Magic を参照してください。
- MCB2300 User's Guide の Downloading with Flash Magic を参照してください。
関連項目
- PHILIPS LPC2000 デバイスに対する RESET の動作について
- リセット時に LPC2000 のシングルステップ実行が失敗しているように見える現象について
- JTAG が無効な場合の STR71X の復旧について
- ULINK: ATMEL AT91SAM7 DEVICE DOES NOT REACT
- ULINK: JTAG Communication Failure
- ULINK: NXP/Philips LPC2000 Arm Device Does Not React