**** 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 18 as of 2011-12-02 22:28:11

Clear message

hash acl All:read

SWD / JTAG Connectors and Pinout

JTAG was the traditional mechanism for debug connections for ARM7/9 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:


SWD Mode





Clock into the core

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



JTAG Test Data Input

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



JTAG Test Data Output / SWV trace data output




JTAG Test Mode Select / SWD data in/out

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





Usually, MCUs do not include pull-up or pull-down resistors on JTAG/SWD pins. Resistors should be added externally onto the board as detailed above. You may use either 10K or 100K resistors (or any value in between) as pull-ups for these signals. This will prevent the signals from floating when they are not connected to anything.

Note that Cortex-M0 does not support SWV trace.

Other signals to note

Connector Pinouts

ARM has defined two debug connector pinouts that are in common use with Code Red's tools, a 20 pin connector and a 10 pin connector...

20-pin 0.1" JTAG/SWD Connector Pinout


10-pin 0.05" JTAG/SWD Connector Pinout


Suitable connector headers include :

The 10-pin Samtec FTSH-105-01 connector has the dimensions: 0.25" x 0.188" (6.35mm x 4.78mm).

Some boards use un-shroudered 10-pin headers. Always ensure that you connect your cable correctly, typically by matching the "1" marked on the board to the red -stripe on the cable.

10 to 20 pin adapter

Code Red's Red Probe+ is supplied fitted with a 20-way cable. An optional adapter is available to allow this to be connected to a 10-pin header.


Alternatively the Red Probe+ does have a 10-pin header inside the case onto which you can connect a suitable 10-way cable. If you do this, then it is recommended that you remove the original 20-way cable, and certainly do not connect both cables to boards at the same time!

Detecting that debug probe is connected

Use pin 9 on the 10-pin connector.

What about 20-pin connector ????

Routing of debug signals to avoid noise

Route your debug signals on your board to avoid noise, and keep them short.

Also keep the length of cables between the probe and your header as short as possible.

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.