Spracf 0 C
Spracf 0 C
Spracf 0 C
Application Note
C2000™ MCU JTAG Connectivity Debug
Table of Contents
1 What Is JTAG?.........................................................................................................................................................................2
2 Common JTAG Debug Probes...............................................................................................................................................2
3 Debug Steps for LaunchPad™ Development Kits and controlCARDs..............................................................................3
3.1 LaunchPad™ Development Kits........................................................................................................................................ 3
3.2 controlCARDs.....................................................................................................................................................................3
4 Common Error Codes.............................................................................................................................................................5
4.1 Common Error Codes........................................................................................................................................................ 5
5 Multiple Devices in JTAG Chain............................................................................................................................................ 8
6 JTAG Connectivity Debug Flows...........................................................................................................................................8
6.1 Overall Debug Flow............................................................................................................................................................9
6.2 High-Voltage Isolation Check Flow.................................................................................................................................... 9
6.3 Main JTAG Debug Flow................................................................................................................................................... 10
7 Detailed Flow Step Information........................................................................................................................................... 11
7.1 Isolation Pre-Check Flow..................................................................................................................................................11
7.2 JTAG Debug Flow............................................................................................................................................................ 11
8 References............................................................................................................................................................................ 15
9 Revision History................................................................................................................................................................... 15
Trademarks
C2000™, LaunchPad™, Code Composer Studio™, E2E™, BoosterPack™, and Piccolo™ are trademarks of Texas
Instruments.
Microsoft® and Windows® are registered trademarks of Microsoft Corporation.
All trademarks are the property of their respective owners.
SPRACF0C – MAY 2018 – REVISED AUGUST 2024 C2000™ MCU JTAG Connectivity Debug 1
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
What Is JTAG? www.ti.com
1 What Is JTAG?
JTAG is named after the group that formed the industry standard for boundary scan testing of printed circuit
boards (PCBs). The results of the JTAG effort were later codified in the Institute of Electrical and Electronics
Engineers (IEEE) standard: IEEE Std 1149.1. Soon after introduction, the standard became very widely used,
which resulted in several additional standards, including the implementation of the on-chip Test Access Port
(TAP). This made JTAG the most adapted means for embedded systems development, debug, and testing.
JTAG uses a 5-pin implementation in most systems:
• Test Data In (TDI)
• Test Data Out (TDO)
• Test Clock (TCK)
• Test Mode Select (TMS)
• Test Reset (TRSTn)
The necessary biasing of these pins on custom board designs is found in the device-specific data sheet or from
reference designs from TI.
2 Common JTAG Debug Probes
Table 2-1 lists some common debug probes for the C2000 ecosystem.
Table 2-1. Common JTAG Debug Probes Used With C2000™ MCUs
XDS100v1 and
XDS100v2 XDS110 XDS200 XDS560
Price/Speed + + ++ +++
• USB Interface
• USB Interface
• Flash Programming • USB Interface
• Flash Programming • USB Interface
Features • Built in Debug Probe • Flash Programming
• Built in Debug Probe • Flash Programming
for many new TI • Code Trace Options
on many C2000 EVMs
C2000 EVMs
2 C2000™ MCU JTAG Connectivity Debug SPRACF0C – MAY 2018 – REVISED AUGUST 2024
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
www.ti.com Debug Steps for LaunchPad™ Development Kits and controlCARDs
SPRACF0C – MAY 2018 – REVISED AUGUST 2024 C2000™ MCU JTAG Connectivity Debug 3
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
Debug Steps for LaunchPad™ Development Kits and controlCARDs www.ti.com
2. If the Test Connection log indicates that communication with the debug probe is still not established, try the
following steps if you are using a standalone debug probe:
a. Try changing the USB cable to the debug probe.
b. If the Test Connection log still indicates that communication with the debug probe is not established,
there is a possibility that the debug probe is damaged.
3. If the log from the Test Connection indicates that the debug probe cannot circulate bits or that the IR or DR
paths are broken, try the following steps:
a. Check the hardware switches on the controlCARD to see if any disable the JTAG connection. This
information is in the controlCARD User's Guide, which is usually linked on the TI.com store page for the
controlCARD.
b. If the Test Connection log still denotes that the debug probe cannot circulate bits, there is a possibility
that the controlCARD is damaged.
4. If the log from Test Connection indicates that the test has passed, but code cannot load to the device, try the
following steps:
a. Use the switches on the controlCARD to put the device in wait boot mode. If the connection is successful
using the Manual Launch instructions, then the error was likely something in the flashed code that was
preventing the connection.
b. If the connection still cannot be established, or if the connection succeeds but code cannot be loaded,
the it is possible that the device is locked.
4 C2000™ MCU JTAG Connectivity Debug SPRACF0C – MAY 2018 – REVISED AUGUST 2024
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
www.ti.com Common Error Codes
Error connecting to the target: (Error -1015 @ 0x0) Device is 1. Verify that Test Connection in the target configuration passes. If the connection fails, follow
not responding to the request. Device may be locked, or the debug the steps for that error code.
probe connection may be unreliable. Unlock the device if possible
(e.g. use wait in reset mode, and power-cycle the board.) If 2. Set device to wait-boot mode.
error persists, confirm configuration and/or try more reliable 3. Follow the Manual Launch instructions and connect to the device.
JTAG settings (e.g. lower TCLK).
4. Verify that you are able to read PARTID in the memory browser.
5. Try again to program the device.
6. If applying these steps still fails to clear the error, check the following: Are there password
locations on the device? On-chip flash tool settings? Is it possible to program RAM only?
SPRACF0C – MAY 2018 – REVISED AUGUST 2024 C2000™ MCU JTAG Connectivity Debug 5
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
Common Error Codes www.ti.com
Trouble Reading Register PC: (Error -1156 @ 0x0) Device may be 1. Verify that Test Connection in the target configuration passes. If the connection fails, follow
operating in low-power mode. Do you want to bring it out of this the steps for that error code.
mode? Choose 'Yes' to force the device to wake up and retry the
operation. Choose 'No' to retry the operation without waking the 2. Set device to wait-boot mode.
device. 3. Follow the Manual Launch instructions and connect to the device.
4. Verify that you are able to read PARTID in the memory browser.
5. Try again to program the device.
6. If applying these steps still fails to clear the error, check the following: Are there password
locations on the device? On-chip flash tool settings? Is it possible to program RAM only?
C28xx_CPU1: Error: (Error -1044 @ 0x0) The debug probe reported Try power cycling the debug probe without power cycling the target MCU. Try more reliable
an error. Confirm debug probe configuration and connections, reset JTAG settings like lower clock frequency.
the debug probe, and retry the operation.
The value is '-230' (0xffffff1a). This error is typically reported when the JTAG signals have poor signal quality. Try lower TCK
The title is 'SC_ERR_PATH_MEASURE'. frequency and check trace lengths.
The explanation is: The measured lengths of the JTAG IR and DR See the buffered case section of the hardware design guide.
scan-paths are invalid.
This indicates that an error exists in the link-delay or scan-path.
C28xx_CPU1: Trouble Setting Breakpoint with the Action "Continue For some devices, only one breakpoint is allowed when running code from flash since
or Finish Stepping" at 0x83146: (Error -1066 @ 0x83146) Unable to hardware breakpoints must be used. Check the device data sheet for the number of hardware
set/clear requested breakpoint. Verify that the breakpoint address
is in valid memory. (Emulation package 9.13.0.00201) C28xx_CPU1: breakpoints.
Breakpoint Manager: Retrying with a AET breakpoint
Error Initializing Emulator: (Error -2083 @ 0x0) Unable 1. Check the target configuration file to make sure that the correct debug probe is selected.
to communicate with the debug probe. Confirm debug probe 2. Check to see if debug probe is visible in the PC device manager.
configuration and connections, reset the debug probe, and retry
the operation. 3. Try replacing the USB cable, or try a different debug probe to make sure the probe in use is
not damaged.
6 C2000™ MCU JTAG Connectivity Debug SPRACF0C – MAY 2018 – REVISED AUGUST 2024
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
www.ti.com Common Error Codes
This error is generated by TI's USCIF driver or utilities. 1. Check the target configuration file to make sure that the correct debug probe is selected.
The value is '-242' (0xffffff0e). 2. Check to see if the debug probe is visible in the PC device manager.
The title is 'SC_ERR_ROUTER_ACCESS_SUBPATH'. 3. Try replacing the USB cable, or try a different debug probe to make sure the probe in use is
The explanation is: A router subpath could not be accessed. not damaged.
The board configuration file is probably incorrect.
Error connecting to the target: (Error -267 @ 0x0) The controller This error message only happens if the VTREF pin on the debug probe is not connected to
could not detect valid target supply. JTAG connection and/or 3.3V. Make sure that the target board is powered on.
connection setting specifying voltage level.
C28xx: Failed CPU Reset: (Error -1137 @ 0x0) Device is held in 1. Verify that Test Connection in the target configuration passes. If the connection fails, follow
reset. Take the device out of reset, and retry the operation. the steps for that error code.
2. Set device to wait-boot mode.
3. Follow the Manual Launch instructions and connect to the device.
4. Verify that you are able to read PARTID in the memory browser.
5. Try again to program the device.
6. If applying these steps still fails to clear the error, check the following: Are there password
locations on the device? On-chip flash tool settings? Is it possible to program RAM only?
The JTAG IR Integrity scan-test has failed. This error is reported when the JTAG signals have poor signal quality. Try lower TCK
The JTAG DR Integrity scan-test has failed. frequency and check trace lengths.
See the buffered case section of the hardware design guide.
SPRACF0C – MAY 2018 – REVISED AUGUST 2024 C2000™ MCU JTAG Connectivity Debug 7
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
Multiple Devices in JTAG Chain www.ti.com
For devices without an ICEPick, this means that the XDS100, XDS110, and XDS200 debug probes can only
reliably connect up to two devices in a chain. However, up to 12 devices can be connected with an ICEPick in a
JTAG chain. The XDS560 can reliably connect to three devices without an ICEPick, and up to 18 devices with an
ICEPick. See also the TI ICEPick Module Type C Reference Guide .
6 JTAG Connectivity Debug Flows
The following flowcharts provide step-by-step guidance for isolating and performing common troubleshooting
advice to resolve JTAG connectivity issues. If at the end of the flow there are still issues, submit questions to the
TI Engineer to Engineer C2000 Support Forum for support.
8 C2000™ MCU JTAG Connectivity Debug SPRACF0C – MAY 2018 – REVISED AUGUST 2024
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
www.ti.com JTAG Connectivity Debug Flows
Yes
Go Through Follow
JTAG Issue
Start Isolation General End
solved?
Pre-Checks Debug Flow
No
Post Question on
TI Support Forum
Isolated JTAG
Debug Flow Pre
Checks
No
No No
Continue To Main
Debug Flow
SPRACF0C – MAY 2018 – REVISED AUGUST 2024 C2000™ MCU JTAG Connectivity Debug 9
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
JTAG Connectivity Debug Flows www.ti.com
Non-Isolated
JTAG Debug Flow
Check Datasheet:
No 1. XRSN Pull Value
Using On Board Debug 2. TRSTn Pull Value
Fixed?
Probe 3. JTAG Connector
Distance
No
Yes
Yes
No No
Present on Device
Reprogram Emulaon
Manager(WIN)/System Install Device Driver Fixed
Controller
Information(OSX)
Yes
Check Target
No No
Is TRSTn Signal Configuration/ Modify CCS
Fixed?
Active? Generate New One/ “On Connect” Action
Run Integrity Test
Yes
Yes
Yes
Voltages
Yes Good?
No
“Debug State Lost”
Message Yes
Check Clock
amplitude and
frequency correct
Start Return Process With
TI or Distributor
Disconnecting
During/After Run
Clock
Good?
Yes No
Yes
For Debug Post Question on Forum
No Remove Code Mention:
Check Flash Password Password All
Security Yes 1. CCS Version
Locations 0xFFFF?
Make Passwords all 2. Debug Probe
0xFFFF If secondary EVM to
checkout, does that work? 3. Custom or EVM
4. If EVM, has it ever worked
5. Is there any board that has ever
worked
No
10 C2000™ MCU JTAG Connectivity Debug SPRACF0C – MAY 2018 – REVISED AUGUST 2024
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
www.ti.com Detailed Flow Step Information
SPRACF0C – MAY 2018 – REVISED AUGUST 2024 C2000™ MCU JTAG Connectivity Debug 11
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
Detailed Flow Step Information www.ti.com
3. Replace Cables: If the Power Good LEDs are not observed, there is likely a problem with the power source
supplied to the EVM. Many TI EVMs use the USB connection not only to provide a debug path from the host
to the target, but also use the 5V from the USB to power the EVM. A simple check can be to change the
USB cable to make sure this is not the issue. If there is insufficient power from the host, a powered USB hub
can help as well.
4. Switch to an External Power Supply: If the onboard power supply of the TI-built board is not providing
power at the appropriate level and the USB cables are known to be good, try switching to an external power
supply for the EVM. To understand if this is supported, see the device-specific user's guide for your EVM. In
this case, some probing of the voltages on the board is necessary to determine if the power supply is the
issue or something on the PCB is inhibiting the voltage to the MCU.
5. Present in Device Manger: For the JTAG debug probe to communicate to the PC, the driver files need
to be installed. This typically occurs co-incident to the installation of the Code Composer Studio (CCS). To
verify that the drivers are successfully installed, connect the PC to the JTAG debug probe and power up.
Then go to Control Panel → Device Manager (Figure 7-1) and locate the associated debug probe.
Figure 7-1. Microsoft® Windows® 10 Device Manager Showing Successful Detection of XDS110 Debug
Probe
6. Reprogram Emulation Controller: This step makes sure that the device that functions as the emulation
controller has the correct firmware.
a. XDS100v1: The host device is the FTDI FT2232 following guide on re-programming
b. XDS100v2: The host device is the FTDI FT2232following guide on re-programming
c. XDS110: The host device is a TI MCU TM4C1294NCPDRI3R following guide for re-programming.
7. Install Device Driver: Another possible reason for the debug probe not showing up in the host PC/MAC
system is the driver is not installed. Typically this occurs with the installation of CCS, but consult the debug
probe product page for possible drivers.
8. Is TRSTn Signal High At the MCU: This step is checking for a certain behavior when CCS is trying to
connect to the target. One of the first actions is that Test Reset (TRSTn) goes inactive high, activating the
core debug connection to the external debug probe. If TRSTn does not change state during a CCS Connect
Target operation, then the debug probe needs to be checked for proper configuration correctly both at the
device level and inside the operating system of the host.
12 C2000™ MCU JTAG Connectivity Debug SPRACF0C – MAY 2018 – REVISED AUGUST 2024
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
www.ti.com Detailed Flow Step Information
9. Check Target Configuration: The Target Configuration File (.ccxml) contains the information necessary
to connect to your target device and the JTAG debug probe being used. To view the current target
configurations, select Target Configurations (Figure 7-2) under the "View" tab in CCS. Double click on
the .ccxml corresponding to the target that is being debugged. If the drivers for the debug probe are installed
correctly and the correct options are selected, the Test Connections button ( Figure 7-3 ) is available and
ready to execute. The datalog from this test can assist in isolating the cause for the connection issues, do
not skip this step. Many example projects are installed as part of C2000Ware or controlSuite have a target
configs folder. This has a .ccxml file pre-created based on a an assumption of a default EVM and debugger.
This file is used when the Debug icon is used to launch the debug session. If the Debug button is the desired
method to launch the debug session, the .ccxml in target configs need to be modified.
SPRACF0C – MAY 2018 – REVISED AUGUST 2024 C2000™ MCU JTAG Connectivity Debug 13
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
Detailed Flow Step Information www.ti.com
10. Modify the CCS On Connect Action: There are two ways to launch the debug session from CCS. One
way is to right click the desired target configuration from the previous step and select Launch Selected
Configuration. Once this is done the target CPU can be connected by right clicking on the CPU cores and
select "Connect Target". The other way is to use the Debug Button (Figure 7-4), which not only launches
the configuration, but also connects, loads the target program file into memory, and executes to main. These
settings can be modified but this is the default operation. The default actions can be modified by either
right clicking on the .ccxml file being used or selecting Debug Options from the arrow drop-down menu next
to the Debug button and changing the auto run and launch options in the Target sub-menu. During the
troubleshooting phase of this document, TI recommends using the former method of Connect Target. This
helps to isolate any issues that are not purely JTAG related, but caused by code execution or other system
interactions. Once the system is verified to be stable for launching and connecting the target, use the Debug
button to handle these steps.
14 C2000™ MCU JTAG Connectivity Debug SPRACF0C – MAY 2018 – REVISED AUGUST 2024
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
www.ti.com References
17. Disconnecting During\After Run: If a device is password locked, the Emulation Code Security Logic
(ECSL) in the Code Security Module (CSM) disables JTAG emulation to the device, resulting in JTAG
connection issues. This can occur before connection per above, but can also occur during debug if a secure
region of memory is accessed while the debugger is connected. While Wait Boot Mode allows connections,
this mode does not correct the issue of access to secure memory while debugging. To correct this, the CSM
must be unlocked through use of a known password. For locking and unlocking a device, see the device
specific data sheet on the CSM module and the associated steps. If the password is unknown, the device
cannot be unlocked. Debug is limited to unsecured regions.
18. Post question on E2E.ti.com: If, at the end of this flow, there are still issues connecting or maintaining
connection with the device through JTAG, questions or issues can be posted to the TI C2000 Engineer
To Engineer Forum. When posting, please provide the following information in addition to documenting the
issue:
a. Subject or Title of the Post: "JTAG Connectivity Issue - (Insert Part Number here)
b. CCS Version
c. Debug Probe Used
d. Type of target: TI made EVM or custom
e. Confirmation of which steps in this guide were taken
f. Custom board schematics of the JTAG connection, if possible, if not a TI EVM
8 References
These are specific support pages that can be helpful in either the debug of a JTAG issue or the selection of the
appropriate JTAG emulation device for the end system
• TI Guide to Debugging Common JTAG issues
• Texas Instruments, Getting Started With C2000™ Real-Time Control Microcontrollers (MCUs)
• C2000 real-time microcontrollers
9 Revision History
NOTE: Page numbers for previous revisions may differ from page numbers in the current version.
SPRACF0C – MAY 2018 – REVISED AUGUST 2024 C2000™ MCU JTAG Connectivity Debug 15
Submit Document Feedback
Copyright © 2024 Texas Instruments Incorporated
IMPORTANT NOTICE AND DISCLAIMER
TI PROVIDES TECHNICAL AND RELIABILITY DATA (INCLUDING DATA SHEETS), DESIGN RESOURCES (INCLUDING REFERENCE
DESIGNS), APPLICATION OR OTHER DESIGN ADVICE, WEB TOOLS, SAFETY INFORMATION, AND OTHER RESOURCES “AS IS”
AND WITH ALL FAULTS, AND DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION ANY
IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT OF THIRD
PARTY INTELLECTUAL PROPERTY RIGHTS.
These resources are intended for skilled developers designing with TI products. You are solely responsible for (1) selecting the appropriate
TI products for your application, (2) designing, validating and testing your application, and (3) ensuring your application meets applicable
standards, and any other safety, security, regulatory or other requirements.
These resources are subject to change without notice. TI grants you permission to use these resources only for development of an
application that uses the TI products described in the resource. Other reproduction and display of these resources is prohibited. No license
is granted to any other TI intellectual property right or to any third party intellectual property right. TI disclaims responsibility for, and you
will fully indemnify TI and its representatives against, any claims, damages, costs, losses, and liabilities arising out of your use of these
resources.
TI’s products are provided subject to TI’s Terms of Sale or other applicable terms available either on ti.com or provided in conjunction with
such TI products. TI’s provision of these resources does not expand or otherwise alter TI’s applicable warranties or warranty disclaimers for
TI products.
TI objects to and rejects any additional or different terms you may have proposed. IMPORTANT NOTICE
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2024, Texas Instruments Incorporated