Expected SWD signalling when Wire Ack Fault occurs?

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

Expected SWD signalling when Wire Ack Fault occurs?

Jump to solution
802 Views
GREng
Contributor II

I am working on custom hardware based on the iMxRT1021 EVK, except for the SWD/JTAG interface.

On initial connection using MCUExpresso and a MCULink device, it fails with the well known "Wire Ack Fault".  As this is custom hardware, I am more interested in what signals and SWD packets MCUExpresso commands the MCULink to do during initial connection. 

ARM documentation on SWD, states the initial connect sequence is a 50-clock '1' assertion of SWIO, followed by a IDCODE read, which requires an "OK" from the target, followed by IDCODE data.  When MCUExpresso says "Wire ACK fault" what exactly happened (target responded with fault instead of "OK", nonsensical IDCODE response, or timeout with no response from target)?

More importantly, does the MCUlink use or expect response from of any other signal lines besides the SWDIO and SWCLK during initial connection (e.g. RST, SWO, ISPEN, DETECT)?   Is the connect sequence to the i.MXRT1021 different than what I've read from the generic ARM documentation? 

 

0 Kudos
1 Solution
756 Views
Pavel_Hernandez
NXP TechSupport
NXP TechSupport

Hello, sorry for the late response, I did on my side, but I do not have the same issue, but I do not remove every jumper.

Spoiler
Pavel_Hernandez_0-1684362634522.pngPavel_Hernandez_3-1684362683814.png

 

Pavel_Hernandez_1-1684362648880.png


Pavel_Hernandez_4-1684362869966.png

Let me know if you have more doubts.

Best regards,
Pavel

View solution in original post

0 Kudos
7 Replies
779 Views
Pavel_Hernandez
NXP TechSupport
NXP TechSupport

Hello, my name is Pavel, and I will be supporting your case, I review your information about this. 

Cuando MCUExpresso dice "Error de ACK de cable", ¿qué sucedió exactamente (el objetivo respondió con un error en lugar de "OK", una respuesta IDCODE sin sentido o un tiempo de espera sin respuesta del objetivo)?

This can be interpreted like this; the IDE has communication with the debugger, but the debugger cannot communicate with the MCU, because the MCU is in an unknowledge state, because you can get access, to recovery access you may need to do a mass erase to erase MCU that not halt, for that there are many guides.

Regaining Debug Access to NXP i.MX RT1064-EVK executing WFI | MCU on Eclipse

LPCScrypt | MCU on Eclipse

RT board recovery for debugger connect issues - NXP Community

Let me know if you have more doubts.

Best regards,
Pavel

0 Kudos
768 Views
GREng
Contributor II

I am investigating the use of a custom SWD/JTAG circuit for our final production hardware design, but that is not working, and I was looking for details on the message sequence during the MCUExpresso connection process to assist in debuggng the circuit.

I can replicate the issue with an EVK, so let me discuss it from that common point: Given a RT1021 EVK (rev A3), that MCUExpresso can connect through the onboard OpenSDA debugger.  I.e. the RT1021 is loaded with flash known to be configured in a debuggable state....

I pulled all the isolation jumpers around the onboard OpenSDA debugger, and attach an MCULInk debugger, plugged into the J16 header.   The MCULink's SWDIO goes to the JTAG_TMS; the SWCLK goes to the JTAG_TCLK, and the  RST goes to the JTAG-nRST pins.  MCUXpresso fails to attach through the MCULink with the same "Wire ACK fault" error.  What is missing?  The SWD standard only states SWCLK and SWDIO are the only required signals.

0 Kudos
800 Views
GREng
Contributor II
Forgot to add: using MCUXpresso IDE 11.7.1 with MCULink 3.108 firmware.
0 Kudos
757 Views
Pavel_Hernandez
NXP TechSupport
NXP TechSupport

Hello, sorry for the late response, I did on my side, but I do not have the same issue, but I do not remove every jumper.

Spoiler
Pavel_Hernandez_0-1684362634522.pngPavel_Hernandez_3-1684362683814.png

 

Pavel_Hernandez_1-1684362648880.png


Pavel_Hernandez_4-1684362869966.png

Let me know if you have more doubts.

Best regards,
Pavel

0 Kudos
750 Views
GREng
Contributor II

Thank you for the screenshots Pavel.

Do you have a schematic for the extender board inserted into the EVK J16?  The use of the ribbon cable implies that ALL the MCULink pins are directed somewhere into J16.  My setup has just 3 discrete wires (SWDIO, SWCLK, and RST) from MCULink to J16.   

SInce your set up works, there must be additional signals that need to be connected that is not well documented.

0 Kudos
738 Views
Pavel_Hernandez
NXP TechSupport
NXP TechSupport

Hello, sorry but I don't have that schematic, I suggest searching online this is a generic adapter.

Best regards,
Pavel

0 Kudos
685 Views
GREng
Contributor II
Thank you for verifying that the MCULink is even useable with the EVK. The issue on my implementation is that we found some noise on the SWDIO line that needed to be cleared out with some capacitance or higher quality cabling.
0 Kudos