**** Advance Notice ****

This site will be closed on 31 December 2015,

Important Information for users of NXP LPCXpresso

This site is for users of Code Red branded products.

NXP LPCXpresso users should visit the LPCXpresso FAQ's for up-to-date information relevant to that product.

Revision 8 as of 2011-12-02 21:51:11

Clear message

hash acl All:read

SWD / JTAG Connectors and Pinout

JTAG was the traditional mechanism for debug connections for ARM parts, but with the Cortex-M family, ARM introduced the Serial Wire Debug (SWD) Interface. SWD is designed to reduce the pin count required for debug from the 5 used by JTAG (including GND) down to 3. In addition, one of the pins freed up by this can be used for Single Wire Viewing (SWV), which is a low cost tracing technology (which is used by the "Red State" functionality within Red Suite).

The SWD/SWV pins are overlaid on top of the JTAG pins as follows:

JTAG Mode

SWV Mode

Signal

Notes

TCK

SWCLK

Clock into the core

Use 10K or 100K Ohm pull-down resistor to GND

TDI

-

JTAG Test Data Input

Use 10K or 100K Ohm pull-up resistor to VCC

TDO

SWV

JTAG Test Data Output / SWV trace data output

TMS

SWDIO

JTAG Test Mode Select / SWD data in/out

Use 10K or 100K Ohm pull-up resistor to VCC

GND

GND

Other signals to note

20-pin 0.1" JTAG/SWD Connector Pinout

20pin.png

The 10 pin Cortex debug connector

10-pin 0.05" JTAG/SWD Connector Pinout

10pin.png

Part number for the 10-pin 0.05" pitch connectors for target PCB

Detecting that debug probe is connected

Use pin 9.

Switching between JTAG and SWD modes of debug

Some Cortex-M based MCUs support both SWD and JTAG, others support only SWD (such as NXP LPC11xx and LPC13xx). Where both are supported, there are special sequences defined to switch from JTAG mode (default) and SWD mode that can sent to the core through just the SWD pins.

Normally where both modes are supported, Red Suite will default to using SWD mode. However this can be modified by editing the launch configuration for a project.

Other stuff

Red Probe+ attempts to adjust logic levels based on the voltage it sees on Vtref referenced to whatever GND it has to work with. That's why you need a good GND, shared with your target hardware. The voltage at Vtref is coming from your hardware.


Note that some MCUs (such as NXP LPC13xx) only support debugging via SWD.

Cortex-M0 also implements the Serial Wire Debug interface, but not JTAG. It also does not provide support for the SWV low cost tracing technology.