2380922_en-US

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

2380922_en-US

2380922_en-US

JTAG on FRDM iMX95

Hi all, 

I just bought FRDM iMX95 recently, i am curious about how to use JTAG to debug this board 

As check in schematic it has JTAG exposed at 6 test point pin here 

Zk47T_0-1781286344908.png

At board layout it here 

Zk47T_1-1781286419335.png

How should i connect jtag to it, do i need any rework ? And does this JTAG support to debug all A55, M33, and M7 core ? 

Which device should i use here, it seem we have 6 pin needle but it 2x3 not 1x6 

I would appreciate any guide or docment to set up JTAG 

Thank you !!  


LinuxRe: JTAG on FRDM iMX95

Hello,

Your understanding is correct.

As you can see in schematic is needed to add the DNP resistors and a connector for the debugger.

Best regards.

Re: JTAG on FRDM iMX95

Hello,
Thank you for your confirmation @JorgeCas 

Summary : Please help with JTAG problem ""DAP: Could not power-up system power domain.""

I have done the rework for 3 resistor and measure the pin, it successfully pull up.

One note that to enable JTAG, i need to disable LPUART5 in device tree  because it use the same pin (i follow the same modify as imx95-19x19-jtag.dtb ) or else TMS (Test point 49) will always LOW)

diff --git a/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts b/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts
index c45f28efb568..598e16af0ebd 100644
--- a/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts
+++ b/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts
@@ -520,7 +520,7 @@ &lpuart5 {
        /* BT */
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart5>;
-       status = "okay";
+       status = "disabled";
 
        bluetooth {
                compatible = "nxp,88w8987-bt";

After this i need to find the connector with 1.27mm pin. It take me some time to find this pcb test by pogo pin, it has 6 pin, perfectly fit. 

Zk47T_0-1782485750558.png

Here is my current setup 

95a82f536c8bedd5b49a.jpg

It seem a mess but the connection is not problem, i check the HWStatus and it look good 

J-Link>ShowHWStatus
VTref=3.324V
ITarget=0mA
TCK=1 TDI=1 TDO=0 TMS=0 TRES=1 TRST=1
Supported target interface speeds:
 - 120 MHz/n, (n>=8). => 15000kHz, 13333kHz, 12000kHz, ...
 - Adaptive clocking

I try connect it by these 2 command for A55 and M33 but same issue show is "DAP: Could not power-up system power domain."

zk47@ltu:~$ JLinkExe -device MIMX9516_M33 -if JTAG -speed 200
SEGGER J-Link Commander V9.42 (Compiled May  6 2026 12:36:02)
DLL version V9.42, compiled May  6 2026 12:35:00

zk47@ltu:~$ JLinkExe -device MIMX9516_A55 -if JTAG -speed 200

What could i do wrong here ?

Maybe it fall to my JLink device is not good, can MCU-Link Pro replace it ? Can MCU-Link Pro debug both A55 and M core ? 

I would still prefer do the debug through JTAG because i already had it. Please help 


If you guy plan to add document guide for JTAG on FRDM iMX95, please update it soon like FRDM iMX93.  

Re: JTAG on FRDM iMX95

Dear @JorgeCas 

Any update ? Can i use MCU-Link Pro to debug all core A55, M33 and M7 core ? 

Re: JTAG on FRDM iMX95

Hello,

I apologize for the delay.

We suggest you any debugger from MACRAIGOR Systems, Wind River or any of ARM.

NXP team uses Lauterbach Trace32 as debugger tool for Cortex-A cores, J-link is for Cortex-M cores.

In the case of i.MX95, as prerequisite to use the CM7 or CA55 scripts the SM should be already running on the i.MX device. it has the CM33 for resource management and security reasons, it's open source, it's compliant to a HW resource management standard by ARM, and its code it's meant (between a lot of them) to partition hardware, assign resources to either Cortex-A or Cortex-M7.

You can use this document as reference.

Debugging Cortex-M with VS Code on i.MX 8M, i.MX 8ULP, and i.MX 9

If you still having issues after this considerations, please look for hardware issues in your adapter.

Best regards. 

Tags (1)
No ratings
Version history
Last update:
12 hours ago
Updated by: