Hi all,
I have recently started developing with a FRDM i.MX 93 and purchased an MCU-Link Pro for Cortex-M33 debugging. I am trying to set up M33 debugging using the MCU-Link Pro connected via a SWD adapter to the external debug pin header on the board.
Setup:
Problem:
After doing a firmware update on the probe, it is being recognised correctly by LinkServer, but when I try connecting to the M33 core it fails with Ee(42). Could not connect to core.
What I've done:
{
"configurations": [
{
"type": "mcuxpresso-debug",
"name": "Debug",
"request": "launch",
"cwd": "${workspaceFolder}",
"executable": {
"elf": "${workspaceFolder}/debug/mcimx93evk_hello_world_cm33.elf"
},
"stopAtSymbol": "main",
"probeSerialNumber": "WWCHLV4PL2JZX",
"isAttach": true,
"skipBuildBeforeDebug": false,
"gdbInitCommands": [
"set remotetimeout 600",
"set debug-file-directory",
"set non-stop off"
],
"gdbServerConfigs": {
"linkserver": {
"device": "MIMX9352:MCIMX93-EVK"
},
"segger": {},
"pemicro": {}
},
"showDevDebugOutput": "none"
}
]
}
Ran the LinkServer GDB server from the command line and got the following output (key lines highlighted below):
INFO: Selected device MIMX9352xxxxM:MCIMX93-EVK
INFO: Selected probe #1 WWCHLV4PL2JZX (MCU-LINK Pro (r1CF) CMSIS-DAP V3.172)
INFO: Firmware update: not required
GDB server listening on port 2332 in debug mode (core cm33)
INFO: Connected to core cm33
...
Wc: DpID = 00000000 <-- SWD DP ID reading as zero
Wc: Error: Wire not connected <-- repeated throughout
Wc: Error: Wire not connected
Wc: Error: Wire not connected
...
Wc: ... send a request to EdgeLock secure enclave to release the Cortex-M33 TROUT
Wc: Resp1 : 0x000000C8
Wc: Resp2 : 0x000000C8
Wc: SCR = 0x000000C8
Wc: M33 kicked off
Wc: Error: Could not read registers (0xA5)
...
Ed:02: Failed on connect: Ee(42). Could not connect to core.
Et:31: No connection to chip's debug port
INFO: Disconnected from core cm33
The full repeated Error: Wire not connected and DpID = 00000000 suggest the SWD physical connection is not working, even though the ELE (EdgeLock enclave) responses appear non-zero.
Tried different boot mode switch settings on the board.
Tried this guide and got to the Flash the Binary using UUU Tool step, but when I tried starting fastboot I got the following error:
Failed to configure default pinctrl
This stopped progress on that path as well.
Questions:
References & resources I consulted:
Before posting I went through the following resources, which shaped the steps I tried:
Any guidance or a working configuration example would be greatly appreciated.
Thanks in advance!
Hi @AndreeaPascu,
Thank you for contacting NXP Support!
To debug the i.MX93 FRDM, you must first remove two resistors that interfere with the SWD signals. Without this modification, the debugger may not be able to communicate properly with the target device.
Another important point is that, by default, the MCU-Link Pro must be flashed with the Segger firmware before it can be used to debug the i.MX93. Once the Segger firmware is installed, the MCU-Link Pro can be used as a standard J-Link debug probe.
I published the following guide describing all the required hardware modifications and software setup steps needed to debug the i.MX93 using the MCU-Link Pro. I hope you find it useful:
Getting Started with FRDM-IMX93 and MCU-LINK Pro for M Core Debugging
Best regards,
Chavira