こんにちは、
Debug.SetConnectMode(CM_ATTACH_HALT) を使用して、Ozone (J-Link) を電源オフまたはディープ電源オフモードの LPC5528 または LPC55S28 に接続すると、SWD アタッチ動作が不安定になるという問題が発生しています。私たちは、LPC5528を実行している2つの「同一」なカスタムボードと、すべてリビジョン1BでLPC55S28動作するNXP評価ボードで異なる結果を再現しました。今後、Debug Mailboxの復旧フローについて明確にしたいと思います。
設定
MCU:LPC5528とLPC55S28
デバッグプローブ:J-Link
ツール:Ozone、Debug.SetConnectMode(CM_ATTACH_HALT)
テストした電源モード:電源停止および深電源停止(POWER_EnterPowerDown() / POWER_EnterDeepPowerDown()で入力)
観察1 — ボードA、カスタムボード、LPC5528、パワーダウンとディープパワーダウンの両方
DM-AP IDCODEが解決されず、4回の再試行後もアタッチが完全に失敗し、リセットも発生しません。
InitTarget() start
ERROR: Wrong DM-AP IDCODE detected: 0xFFFFFFFF
InitTarget() end - Took 101msConnection failed.観察2 — ボードB、カスタムボード、LPC5528、パワーダウンとディープパワーダウンの両方
DM-AP IDCODEの読み取り値 0x00000000 最初の試行では失敗し、2回目の試行では明示的なデバッグメールボックス回復メッセージが報告され、成功します。
InitTarget() start
ERROR: Wrong DM-AP IDCODE detected: 0x00000000
InitTarget() end - Took 101ms
ConfigTargetSettings() start
InitTarget() start
CPU halted successfully after enabling debug access
InitTarget() end - Took 7.40ms
Found SW-DP with ID 0x6BA02477
...
Connected to target device.観察3 — NXP評価ボード、LPC55S28、Power DownとDeep Power Downの両方
DM-AP IDCODEは 0x00000000 最初の試みで読み取られますが、2回目の試みでは成功 「Enable Debug アクセス」メッセージは 表示 されません — 通常のAPスキャンに直接進みます:
InitTarget() start
ERROR: Wrong DM-AP IDCODE detected: 0x00000000
InitTarget() end - Took 112ms
ConfigTargetSettings() start
InitTarget() start
InitTarget() end - Took 3.93ms
Found SW-DP with ID 0x6BA02477
Scanning AP map to find all available APs
AP[0]: AHB-AP (IDR: 0x84770001, ADDR: 0x00000000)
...
Connected to target device.ターゲットに到達可能な場合、デバイスは接続の観察可能な副作用としてリセットされ、デバイスは電源ダウン/ディープパワーダウンを終了します。
追加情報
質問
よろしくお願いいたします。
ポーラ
Hello
デバッグモードはスリープ、ディープスリープ、電源ダウン、ディープ電源ダウンモードではサポートされていません。この情報はLPC552xユーザーマニュアル第13.3.1章からのものです。
LPC55S28にデバッガを接続するには、まず電源オフ状態の場合はリセットを使用してウェイクアップする必要があります。デバイスが電源オフ状態の間は、デバッグセッションを接続することはできません。
DM-AP IDレジスタが0xFFFFFFFFを読み取るか0x00000000かの違いは、0x00000000がコマンド成功、返却を示す応答であり、 UM11126 章50.5.7.2.1の表1064に記載されているように、0xFFFFFFFFは検出されない応答であることにある可能性があります。
観察1は奇妙に思えます。デバイスがまだ電源オフモードにあるため応答がない可能性もありますし、DM-APに正しく入れずデバッグできない可能性があります。選択肢として、ボードAのハードウェア問題でなければ相談してみるのも良いでしょう。ボードBは正常に接続可能です。
敬具、ルイス