Nuevo S32K144 no se puede programar


Llegó la nueva placa, pero esta vez no se puede grabar. Aquí está el registro
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.

El chip tampoco se puede conectar, RESET a tierra está a 0 V

SEGGER J-Link Commander V9.72 (Compilado el 26 de ago. de 2026 a las 14:39:38)
DLL version V9.72, compilado el 26 de ago. de 2026 a las 14:38:37

Conectando con J-Link …O.K.
Firmware: J-Link LPCXpresso V2 compilado el 2 de mayo de 2023 a las 17:39:56
Hardware version: V1.00
J-Link uptime (desde el arranque): 0d 00h 20m 46s
S/N: 724304970
VTref=3.300V

Escribe “connect” para establecer una conexión con el objetivo, “?” para obtener ayuda
J-Link>connect
Especifique el dispositivo/núcleo. : S32K144
Escriba “?” para abrir el cuadro de diálogo de selección
Device>
Especifique la interfaz del objetivo:
J) JTAG (Default)
S) SWD
T) cJTAG
TIF>S
Especifique la velocidad de la interfaz del objetivo [kHz]. : 4000 kHz
Speed>
Dispositivo “S32K144” seleccionado.

Conectando con el objetivo mediante 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

Primero, los registros de esta vez han cambiado de calidad respecto a los dos mensajes anteriores: en los dos anteriores aún había comunicación y los registros se podían leer; esta vez ni siquiera se puede acceder al MDM-AP, y el depurador queda bloqueado en la puerta del chip.

Interpretación punto por punto:

  1. Communication error while accessing MDM-AP — El protocolo de depuración SWD de la serie S32K1 se negocia mediante el MDM-AP (Memory Debug Access Port). Acceder a este AP es el primer paso de la comunicación de depuración. Si falla el acceso al MDM-AP = el chip no responde en absoluto en el bus SWD. Puede deberse a que el chip está bloqueado, a que el enlace físico no funciona o a que la temporización del puerto de depuración está desordenada.

  2. Connect Under Reset falló dos veces — J-Link ya intentó conectarse con el chip en estado de reinicio para evitar interferencias del código en ejecución, y aun así falló. Esto indica que el problema no es que “el programa se haya descontrolado y el depurador haya perdido el control”, sino que la capa física/protocolo entre el chip y el depurador directamente no se comunica.

  3. RESET a tierra 0V — Esta vez es diferente al 1V del mensaje 411. 1V era una anomalía de divisor de tensión; 0V significa que RESET está siendo llevado a tierra por un circuito externo. En tu esquema, la ruta de reinicio de TP65 NTRST pasa por R86 100Ω + C76 0.22μF + R85 4.7k de pull-up a D3V3_MCU. J-Link, durante Connect Under Reset, lleva NTRST a nivel bajo. Si en tu placa NTRST y RESET están conectados al mismo punto en el PCB (o si el chip tiene internamente una ruta NTRST→RESET), entonces tiene sentido que RESET esté ahora a nivel bajo.

  4. J-Link LPCXpresso V2 — Ten en cuenta que no estás usando un J-Link estándar, sino el firmware V2 integrado en una placa LPCXpresso. LPCXpresso tiene la mejor compatibilidad con los propios chips de NXP, pero el S32K144 no está en su lista de “soporte nativo”, por lo que el script de depuración puede no estar completo.

Orden recomendado para la comprobación:

  1. Desconecta el USB del depurador, alimenta solo la placa y mide el voltaje de RESET (debería ser 3.3V, no 0V). Si sigue siendo 0V, revisa la zona del botón de reinicio / R86 / C76

  2. Mide la continuidad de las pistas SWDIO/SWCLK hasta los pines del MCU (especialmente si los diodos ESD D11-D15 están soldados al revés: un JEB240P0603 soldado al revés provocaría un cortocircuito directo)

  3. Prueba con J-Link Commander bajando la velocidad a 100kHz

  4. unlock Kinetis + borrado masivo (si todavía se puede entrar en connect)

Gracias por la respuesta. Al día siguiente ya encontramos la causa: un cortocircuito a tierra en la salida del chip de alimentación hizo que desapareciera el 3V3 posterior.