:FX3 SDKで提供されるSEGGER J-Linkデバッガで“Bad JTAG communication: Write to IR: Expected 0x1, got 0x0 (TAP Command : 2) @ Off 0x5”エラーを修正 - KBA229087 - Community Translated (JA)

Version 1

    Community Translated by keni_4440091 Expert          Version: **

     

    Translation - English: : Fix “Bad JTAG communication: Write to IR: Expected 0x1, got 0x0 (TAP Command : 2) @ Off 0x5” Error in SEGGER J-Link Debugging Provided with FX3 SDK - KBA229087

     

    質問:

    Segger J-Linkデバッガを使用してサイプレスのFX3 USB超高速デバイスコントローラをデバッグしている時に下記のエラーが表示されます。

     

    Bad JTAG communication: Write to IR: Expected 0x1, got 0x0 (TAP Command : 2) @ Off 0x5

     

    これは何故発生しますか?エラーはどうやって修正しますか?

     

    回答:

    このエラーは、Segger J-Linkを使用してJTAGデバッグ中にFX3ファミリーで発生します。これは動作中にFX3 CPU周波数の変化のためです。

     

    ROMブートローダーモードでは、CPU96 KHzで動作するように設定されています。アプリケーションファームウェアでは、周波数を期待する値に変更するためにCyU3PDeviceInit
    API
    が使用されます。これにより、動作時に動作クロック周波数が変更されます。標準CPU動作周波数は、CyU3PDeviceInit APINULLを渡す事により192 KHzに設定されます。

     

    FX3デバイスの動作クロック周波数が動作時に変化した場合、JLINKデバッガを使用したJTAGデバッグセッションは中断する可能性があります。

     

    JTAGの初期設定の間にFX3デバイスクロックを期待値に設定することでこの問題を回避することができます。クロックがすでに期待値に設定されている場合、FX3 APIはそれ以上変化させません。

     

    1に示すように192 KHz周波数でCPUを動作させるためにデバッグ構成設定のStartupタブに下記のコマンドを追加して下さい。

     

    # Clock input is 19.2 MHz: Value = 0x00080014

    monitor memU32 0xE0052000 = 0x00080014

    # Add a delay to let the clock stabilize.

    monitor sleep 1000

     

    1.デバッグ構成設定のStartupタブ

    19.2 MHzクロックでCPUを最高周波数(2分周された403.2 MHz)で動作させるためには、下記のコマンドを使用して下さい:

     

    # Clock input is 19.2 MHz: Value = 0x00080015

    monitor memU32 0xE0052000 = 0x00080015

    # Add a delay to let the clock stabilize.

    monitor sleep 1000

     

    0xE0052000レジスタ(PLL構成レジスタ)のより詳細な情報は、FX3テクニカルリファレンスマニュアルを参照して下さい。

     

    321 閲覧 カテゴリ: USB: SuperSpeed Peripherals タグ: なし (追加) bootloader, jtag, expected, j-link, segger, fx3, fx3 sdk, arm926ej -s, bad jtag communication, write to ir, tap command, cyu3pdeviceinit