新しいS32K144に書き込めません


新しい基板が届きましたが、今回は書き込みができません。以下がログです。
SEGGER J-Link GDB Server V9.72 Command Line Version

JLinkARM.dll V9.72 (DLL compiled Aug 26 2026 14:38:37)

WARNING: Unknown command line parameter -RestoreRAMOnDownload found.
WARNING: Unknown command line parameter 0 found.
Command line: -if swd -device S32K144 -endian little -speed 500 -port 2331 -swoport 2332 -telnetport 2333 -vd -ir -localhostonly 1 -singlerun -timeout 0 -nogui -RestoreRAMOnDownload 0
-----GDB Server start settings-----
GDBInit file: none
GDB Server Listening port: 2331
SWO raw output listening port: 2332
Terminal I/O port: 2333
Accept remote connection: localhost only
Generate logfile: off
Verify download: on
Init regs on start: on
Silent mode: off
Single run mode: on
Target connection timeout: 0 ms
------J-Link related settings------
J-Link Host interface: USB
J-Link script: none
J-Link settings file: none
------Target related settings------
Target device: S32K144
Target device parameters: none
Target interface: SWD
Target interface speed: 500kHz
Target endian: little

Connecting to J-Link…
J-Link is connected.
Firmware: J-Link LPCXpresso V2 compiled May 2 2023 17:39:56
Hardware: V1.00
S/N: 724304970
Checking target voltage…
Target voltage: 3.30 V
Listening on TCP/IP port 2331
Connecting to target…
ERROR: J-Link script file function InitTarget() returned with error code -1

ERROR: Could not connect to target.
Target connection failed. GDBServer will be closed…Restoring target state and closing J-Link connection…
Shutting down…
Could not connect to target.
Please check power, connection and settings.

チップにも接続できません。RESETは対地0Vです。

SEGGER J-Link Commander V9.72 (Compiled Aug 26 2026 14:39:38)
DLL version V9.72, compiled Aug 26 2026 14:38:37

Connecting to J-Link …O.K.
Firmware: J-Link LPCXpresso V2 compiled May 2 2023 17:39:56
Hardware version: V1.00
J-Link uptime (since boot): 0d 00h 20m 46s
S/N: 724304970
VTref=3.300V

Type “connect” to establish a target connection, ‘?’ for help
J-Link>connect
Please specify device / core. : S32K144
Type ‘?’ for selection dialog
Device>
Please specify target interface:
J) JTAG (Default)
S) SWD
T) cJTAG
TIF>S
Specify target interface speed [kHz]. : 4000 kHz
Speed>
Device “S32K144” selected.

Connecting to target via SWD
ConfigTargetSettings() start
ConfigTargetSettings() end - Took 15us
InitTarget() start
SWD selected. Executing JTAG → SWD switching sequence.
Connect Under Reset
SWD selected. Executing JTAG → SWD switching sequence.
Communication error while accessing MDM-AP.
Connect Under Reset
InitTarget() end - Took 409ms
Connect failed. Resetting via Reset pin and trying again.
ConfigTargetSettings() start
ConfigTargetSettings() end - Took 13us
InitTarget() start
SWD selected. Executing JTAG → SWD switching sequence.
Connect Under Reset
SWD selected. Executing JTAG → SWD switching sequence.
Communication error while accessing MDM-AP.
Connect Under Reset
InitTarget() end - Took 406ms

****** Error: J-Link script file function InitTarget() returned with error code -1

Error occurred: Could not connect to the target device.
For troubleshooting steps visit: https://kb.segger.com/J-Link_Troubleshooting

まず、今回のログは前回の2件と比べて質的に変化しています——前回の2件ではまだ通信でき、レジスタも読み出せていましたが、今回は MDM-AP 自体にアクセスできず、デバッガがチップの入り口で遮断されています。

1つずつ読み解きます。

  1. Communication error while accessing MDM-AP —— S32K1 シリーズの SWD デバッグプロトコルでは、MDM-AP(Memory Debug Access Port)を介してハンドシェイクを行います。この AP へのアクセスがデバッグ通信の最初のステップです。MDM-AP へのアクセス失敗 = チップが SWD バス上でまったく応答していないということです。つまり、チップがデッドロックしているか、物理リンクがつながっていないか、デバッグポートのタイミングが崩れているかのいずれかです。

  2. Connect Under Reset が2回とも失敗 —— J-Link はすでにリセット状態で接続を試み、実行中コードの干渉を避けようとしています。それでも失敗しているということは、問題は「プログラムが暴走してデバッガが制御を失った」ことではなく、チップとデバッガの間で物理/プロトコル層の接続そのものが成立していないということです。

  3. RESET が対地 0V —— 今回は411番の投稿の1Vとは異なります。1Vは分圧異常でしたが、0Vは RESET が外部回路によってグラウンドへ引き込まれているということです。あなたの回路図では、TP65 NTRST は R86 100Ω + C76 0.22μF + R85 4.7k のプルアップで D3V3_MCU へつながるリセット経路になっています。Connect Under Reset 時に J-Link は NTRST をローに引き下げます。もしあなたの基板で NTRST と RESET が PCB 上で同じノードに接続されている場合(またはチップ内部に NTRST→RESET の経路がある場合)、RESET が現在ローに引き込まれていることは説明がつきます。

  4. J-Link LPCXpresso V2 —— 注意すべき点として、使っているのは標準的な J-Link ではなく、LPCXpresso 搭載の V2 ファームウェアです。LPCXpresso は NXP 自社チップとの互換性が最も良いですが、S32K144 はその「ネイティブサポート」リストには入っておらず、デバッグスクリプトが不完全な可能性があります。

推奨する調査順:

  1. デバッガの USB を抜き、基板だけに給電して RESET 電圧を測定します(3.3V であるべきで、0V ではありません)。それでも 0V なら、リセットボタン/R86/C76 周辺を確認してください。

  2. SWDIO/SWCLK の配線から MCU ピンまでの導通を測定します(特に ESD ダイオード D11-D15 が逆向きに実装されていないか——JEB240P0603 は逆実装すると直接ショートします)。

  3. J-Link Commander で 100kHz に下げて試します。

  4. まだ connect できるなら unlock Kinetis + mass erase を試します。

ご返信ありがとうございます。この問題については翌日に原因が分かりました。電源チップの出力が対地短絡していたため、後段の3V3が出なくなっていたことが原因でした。