2394369_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2394369_ja-JP

2394369_ja-JP

MCXN547:SWD DP IDは読み取れるが、AP0/AP2アクセスはWIRE ACKフォルトを返す

こんにちは、NXPサポートの皆さん、

カスタムボード上のMCXN547VKLTと外部のMCU-Linkプローブを使用しています。

デバッグセッションを開始する際にSWD接続が失敗する:

Ee(42). Could not connect to core.
Et:31: No connection to chip's debug port.
Remote connection closed.

SWD-DPは正しく検出できます:

DPID = 0x6BA02477

しかし、CPU0 AHB-AP(AP0)へのアクセスは以下の場合に失敗します:

WIRE ACK FAULT

デバッグ用メールボックスのリクエストも失敗します。LinkServer のレポート:

DM-AP status: 60F93638
DM-AP: AHB_OR_ERR
DM-AP: DBG_OR_ERR

確認した内容:

  • SWD周波数は1MHzから10kHzまでテスト済み。
  • SWDIOとSWCLKの波形はオシロスコープ上で良好に見える。
  • VDD_CORE = 1.2 V
  • VDD_SYS = 1.8 V
  • VDD_DCDCおよびI/O電源 = 3.3V
  • RESET_Bは正しく動作します
  • MCU-Linkファームウェア:CMSIS-DAP V3.172
  • LinkServer バージョン: 26.5.59
  • 同じMCU-LinkはMCXN947開発ボードで動作します
  • MCXN547は新しいチップに交換されたが、問題は解決していない。

USB ISPはVID/PID 1FC9:014Fで正しく動作します。blhostを使えば、以下ができます:

  • 内部フラッシュを消す
  • 内部フラッシュのプログラムと読み取り
  • アプリケーションを正常に実行してください
  • アプリケーションのUSBコンポジットデバイスを列挙します

ROMの報告によると、

Security State = UNSECURE

USB ISP経由でPFRも読み取りました。

  • CMPAは完全に消去されました(0xFF)
  • CFPAはROMで生成されたCMACを除いて消去されます。
  • お客様向けのSOCUやデバッグ認証の設定は存在しません

何かアドバイスをいただけますか:

  1. AP0とAP2が利用可能になるには、どのような条件が必要ですか?
  2. DM-APステータス0x60F93638は、既知の電源、リセット、またはハードウェア構成の問題に関連していますか?
  3. SWDやDebug Mailboxへのアクセスに関する既知のMCXN547エラタはありますか?
  4. この症状を確認するには、どの電源信号とリセット信号をチェックすればよいでしょうか?
MCX NRe: MCXN547: SWD DP ID is readable, but AP0/AP2 access returns WIRE ACK FAULT

こんにちは、ルイスさん。

SPSDKデバッグメールボックスツールを使用して、SWDデバッグ接続を確立することができました。

私たちが用いた手順は以下のとおりです。

1. デバッグメールボックスを通じてMCUをリセットする:

NXPDEBUGMBOX -i MCU-link -s NBTF0IZ0B3DCX \
-o enable_recovery_reset=真 \
--オペレーションタイムアウト 5000 \
ツールリセット -f mcxn547

2. デバッグメールボックスからデバッグセッションを開始します。

NXPDEBUGMBOX -i MCU-link -s NBTF0IZ0B3DCX \
-o enable_recovery_reset=真 \
--オペレーションタイムアウト 5000 \
cmd -f mcxn547 start-debug-session

3. デバッグセッションが開かれた後、SWD経由でLinkServerを使ってCortex-M33コアに接続します。

認証キー、パスワード、デバッグ認証情報、一括消去コマンドは一切使用しませんでした。「start-debug-session」コマンドは、常時アクセス可能なAP2デバッグメールボックスを介して、一時的にAP0を有効にするようです。

デバッグセッションを開いた後、NXP LS_preconnect_MCXN5XX.scpスクリプトからGDETレジスタシーケンスも使用しました。このシーケンスは、デバッグ中にaGDETおよびdGDETのリセットルーティングを無効にし、SPCグリッチ検出を無効にします。

電源装置に関して:

- VDD_VBATはVDDに直接接続されており、どちらも3.3Vです。
- VDD_P4はVDDに直接接続されており、どちらも3.3Vです。
- VDD_ANAはフェライトビーズを介してVDDに接続されています。
- VDDは3.3Vです。

しかし、今度は別のデバッグ問題が発生しました。

SWDデバッグリセットを行わずにボードを通常通り電源投入した場合、ファームウェアは正しく動作します。しかし、上記のデバッグメールボックスリセット手順を使用してデバッグセッションに入ると、ファームウェアが正しく起動しません。

以下のSDK関数をシングルステップで実行するとデバッグ接続が失われます。

static inline void SPC_SetActiveModeDCDCRegulatorVoltageLevel(
SPC_タイプ *ベース、
spc_dcdc_voltage_level_t voltageLevel)
ヤージュ
base->ACTIVE_CFG =
(base->ACTIVE_CFG & (~SPC_ACTIVE_CFG_DCDC_VDD_LVL_MASK)) |
SPC_ACTIVE_CFG_DCDC_VDD_LVL(voltageLevel);
}

より具体的に言うと、アクティブモードのDCDC電圧レベルを変更するためにACTIVE_CFGが書き込まれると、接続が失われます。

したがって、以下の2つの場合で挙動が異なります。

1. 電源投入時の冷間状態:
ファームウェアは正常に起動し、正常に動作します。

2. デバッグ:メールボックスリセット、続いて開始・デバッグセッションおよびSWD接続:
ファームウェアはSPC DCDC構成に到達しますが、ACTIVE_CFGが書き込まれるとデバッガはターゲットを失い、アプリケーションは通常起動できません。

デバッグメールボックスのリセットが、完全な電源オンリセットと異なる状態にしてしまいますか?

デバッグメールボックスのデバッグセッションを開始した後、SPC ACTIVE_CFGを変更する前に、必要な手順はありますか?例えば:

- SPC_SC[BUSY]がクリアされるのを待っています。
- SPCまたはGDETステータスフラグをクリアする。
- グリッチ検出のロック解除または無効化。
- 特定のリセットタイプを使用する。
- デバッグセッション開始後のソフトリセットを回避する。
または、LS_preconnect_MCXN5XX.scp シーケンス全体を適用する?

デバッグ中にDCDC電圧レベルを書き込むと、GDETイベント、DCDC保護イベント、ブラウンアウトリセット、または別のシステムリセットがトリガーされる可能性はありますか?

ACTIVE_CFG書き込みの直前に取得すべきレジスタについてもご教示ください。SPC_SC、SPC_CNTRL、SPC_ACTIVE_CFG、SPC_GLITCH_DETECT_SC、CMC_SRS、CMC_SSRS、そしてデバッグメールボックスCSWなどのレジスタの値を提供できます。

よろしくお願いいたします。

Re: MCXN547: SWD DP ID is readable, but AP0/AP2 access returns WIRE ACK FAULT

これは難しい問題だ!接続問題のデバッグは特にカスタムボードの場合非常にフラストレーションが溜まります。その「WIRE ACK FAULT」は、間違いなく通信障害を示しています。異なるSWDクロック速度を試したり、デバッグセッション中にMCUの電源を確認したりしてみましたか?時には限界的な電力供給がこのような断続的な故障を引き起こすことがあります。これは Snow Rider 3D で完璧なランを狙うような感覚を少し思い出させます。ほんの小さなミスで全てが狂ってしまうこともあります!早く真相が解明されることを願っています!

Tags (1)
No ratings
Version history
Last update:
‎07-22-2026 02:30 AM
Updated by: