JTAG (MSP430)

From Texas Instruments Wiki
Jump to: navigation, search

All MSP430 devices have a JTAG interface for debugging, program development and Flash programming only.

This User's Guide SLAU265 describes the functions that are required to erase, program, and verify the memory module of the MSP430 flash-based microcontroller family using the JTAG communication port.

However this JTAG interface is not 100% IEEE 1149.1 (JTAG) compatible. For example none of the MSP430 devices has Boundary Scan Cells. We only support the required command BYPASS, but don’t support the other required commands for example EXTEST and SAMPLE/PRELOAD.

Therefore there is no BSDL file for any MSP430 devices. In addition you can not put a MSP430 into a JTAG chain together with other devices.


MSP430 JTAG Programmers

The following tools from TI can be used to program any MSP430 devices:

  1. MSP-FET430UIF
    • Can be used to program any MSP430 devices in Spy Bi-Wire and JTAG mode
  2. MSP-GANG430 Production Programmer
    • Can be used to program any MSP430 devices in Spy Bi-Wire and JTAG mode
    • Up to 8 devices can be programmed simultaneously
  3. eZ430 Development Tools
    • Can only be used to program devices with Spy Bi-Wire

MSP430 JTAG Design Pin-Outs

The following 2 images display the pin-outs of 2 different ways of connecting to the MSP430 JTAG header interface.

Spy Bi-Wire (2 Wire JTAG) for MSP430F2xx, MSP430G2xx, and MSP430F4xx

MSP430 JTAG 2 Wire Pin-Out used by MSP430F2xx, MSP430G2xx and MSP430F4xx Devices

Spy Bi-Wire (2 Wire JTAG) for MSP430F5xx and MSP430F6xx

MSP430 JTAG 2 Wire Pin-Out used by MSP430F5xx and MSP430F6xx Devices

4 Wire JTAG

MSP430 JTAG 4 Wire Pin-Out

The 4-wire JTAG is commonly seen with the 14-pin male header. The 2 wire JTAG is also know as Spy-Bi-Wire interface which only requires SBWTDIO, SBWTCK, GND, and VCC to program. The following images were taken from CCE and IAR User's Guide (SLAU138 and SLAU157. Please refer to those documents for updated information.

The list of MSP430 devices with supported JTAG pin-out can be found in the SLAU320 MSP430 Programming via JTAG User's Guide, Table 1-14. "JTAG Features Across Device Families".

The difference between the "VCC TOOL" and "VCC TARGET" above is as follows:

  • "VCC TOOL" is basically an output line from the debugger/programmer tool which is used when the target MSP430 is to be powered from the debugger/progammer tool
  • "VCC TARGET" is an input line for the debugger/programmer tool which is used when the target MSP430 is to be powered by an independent on-board power supply. This line is then used by the programmer/debugger tool for sensing and then adjusting the voltage level of the JTAG lines (TDO, TDI, etc.) so it will not violate the specification of voltage range which can be applied to any pin (usually specified as -0.3V to VCC+0.3V)

For devices other than MSP430, please see JTAG Connectors

Note on Devices with TEST pins (taken from tidoc:slau320)

On some Spy-Bi-Wire capable MSP430 devices, TEST/SBWTCK is very sensitive to rising signal edges that can cause the test logic to enter a state where an entry sequence (either 2-wire or 4-wire) is not recognized correctly and JTAG access stays disabled. Unintentional edges on SBWTCK can occur when the JTAG connector is connected to the target device.

There are two possibilities to work around this problem and ensure a stable JTAG access initialization:

  • Actively drive SBWTCK low before powering up the device or while plugging in the connector to avoid unintentional rising signal edges.
  • Run the initialization sequence multiple times (two to three repeats are typically sufficient to establish a stable connection).

On the other hand, this could sometime avoid the device to execute the application correctly after reset. Some practical experiences show that by adding an external pull-down resistor (e.g. 4.7 kOhm) at the TEST/SBWTCK pin will help to eliminate this problem.


14-pin Header Information