TMDSEMU200-U: debugger probe error - disconnecting debug session in a minute

Part Number: TMDSEMU200-U
Other Parts Discussed in Thread: TMDSEMU110-U

environment used -> 
uC : C2000

debug tool : CodeCompose studio 

debugger : XDS200

 

after reset & run from debugger, application runs for some time but then there is below error pops up whcih indicates error detected by debugger probe;

this is causing lot of trouble in debugging the real application;image.png

  • Hi Ashish,

    The most common root cause for XDS200 debug probe errors and unexpected session disconnects is outdated emulator firmware. When the XDS200 firmware is incompatible with your CCS version, it triggers connection failures and session drops [1][2]. The target firmware should be version 1.0.0.9 — older versions (1.0.0.5, 1.0.0.8) are known to cause exactly this type of issue [3].

    How to Fix — Manual Firmware Update

    1. Open a command prompt and navigate to:

      <CCS_INSTALL_DIR>\ccs\ccs_base\common\uscif\xds2xx
    2. Check your current firmware version:

      xds2xx_conf.exe get xds2xxu 0
      Look for the swRev field in the output [2].
    3. Run the update sequence (in this exact order):

      xds2xx_conf.exe update xds2xxu 0 xds200_firmware_v1009.bin
      xds2xx_conf.exe program xds2xxu 0 xds2xx_cpld_v1009.xsvf
      xds2xx_conf.exe boot xds2xxu 0
    4. Verify the update:

      xds2xx_conf.exe get xds2xxu 0
      Confirm fwRev = 1.0.0.9

    Additional Troubleshooting (If Firmware Update Doesn't Resolve It)

    • JTAG mode configuration: Ensure your target configuration file (.ccxml) has the correct JTAG mode selected (e.g., JTAG 1149.1 4-pin mode for most C2000 setups). Open the .ccxml → Advanced tab → verify the JTAG/SWD/cJTAG Mode setting [4].

    • Application interfering with debug: If your code modifies JTAG pins, enters low-power modes, or triggers a watchdog reset during runtime, the debug connection will drop. Test with a minimal blink-LED program to isolate whether the issue is probe-related or application-related.

    • USB connection quality: Try a shorter, high-quality USB cable and connect directly to the PC (no hubs).


    To Help Refine This Recommendation, It Would Be Helpful to Know:

    • Whether the issue reproduces with a simple test program or only with your full application
    • Whether you're using a custom board or TI evaluation board
    • Whether the application code enters low-power modes or reconfigures GPIO pins shared with JTAG
    • The USB connection path (direct to PC vs. through a hub)

    Resources:

    1. TMDSEMU200-U: Firmware Update Failure - TI E2E
    2. FAQ: TMDSEMU200-U: Update firmware in XDS200 emulator - TI E2E
    3. FAQ: How to update firmware of inbuilt XDS emulator on C6657 EVM - TI E2E
    4. F28P65x LaunchPad User's Guide (SPRUJ71)

    Best Regards,

    Zackary Fleenor

  • hello Fleenor,

    thanks for the reply;

    we will try with firmware updates soon;

    answers to your counter questions ->

    1. we are using full application -> issue visible with it; never tried with sample code since we are using custom board;

    2. not using evaluation board;

    3. application itself not directly accessing JTAG pins;

    4. USB cable used directly without hub;  -> we will try with another USB cable as well;

  • we see this similar issue also with XDS110 -> so this similar firmware update step will be applicable there also? are the step's similar you described earlier?

  • Hi Ashish,

    Yes, the XDS110 can experience the same firmware-related debug session disconnects, and a firmware update is the right approach. However, the process uses a different utility and is simpler than the XDS200 procedure.

    XDS110 Firmware Update Steps

    1. Open a command prompt and navigate to:

      \ccs\ccs_base\common\uscif\xds110
    2. Check your current firmware version:

      xdsdfu -e

      Note the version number in the output [1][2].

    3. Switch to DFU (update) mode:

      xdsdfu -m
    4. Flash the firmware:

      xdsdfu -f firmware.bin -r
    5. Power cycle the probe, then verify:

      xdsdfu -e

      Confirm the version has updated [1][2].

    Key Differences from XDS200

    XDS200
    XDS110
    Utility
    xds2xx_conf.exe
    xdsdfu
    Directory
    uscif\xds2xx
    uscif\xds110
    Files needed
    Separate firmware .bin + CPLD .xsvf
    Single firmware.bin
    Steps
    3-command sequence (update/program/boot)
    2-command sequence (-m then -f)

    Important Version Notes

    • Avoid firmware version 3.0.0.33 — it is known to cause USB enumeration failures and connection drops. Version 3.0.0.34 is the fix [3].
    • Avoid firmware version 2.3.0.16 — it breaks cJTAG connections specifically with C2000 devices [4].
    • If you're on CCS 20.0.1, stay on that version with firmware 3.0.0.34 until CCS 20.1.0 is released [3].

    If the xdsdfu -e command doesn't detect your probe at all, try holding the reset button (S1) while plugging in the USB cable, then release after connection — this forces the probe into a recoverable state [3].


    To help refine this recommendation, it would be helpful to know:

    • Your current XDS110 firmware version (output of xdsdfu -e)
    • Which CCS version you're running
    • Whether the XDS110 is a standalone probe (TMDSEMU110-U) or integrated into a LaunchPad/EVM
    • Whether the disconnection timing and error message are identical to what you see with XDS200

    1. XDS110 firmware update procedure - TI E2E
    2. EMUPack XDS110 firmware compatibility - TI E2E
    3. XDS110 firmware 3.0.0.33 USB connection issue - TI E2E
    4. F28004x LaunchPad User's Guide - XDS110 firmware requirements (SPRUII7B)

    Best Regards,

    Zackary Fleenor

  • hello Mr Fleenor,

    yes, below is the information you requested-> 

    1. Firmware version: 3.0.041
    2. CCS version 20.5.1
    3. XDS110 is a standalone probe
    4. it is same as that of XDS200

    Best regards,

    Ashish

  • Hi Ashish,

    Thank you for providing those details. Based on your configuration — XDS110 standalone probe with firmware 3.0.0.41 on CCS 20.5.1, experiencing the same debug session disconnects as your XDS200 — here's my assessment:

    Analysis

    Since you're seeing identical behavior with both the XDS200 and XDS110 probes, this strongly suggests the root cause is not a single faulty probe but rather one of two things:

    1. Your application code is interfering with the debug connection, or
    2. A firmware/compatibility issue affecting both probes

    The fact that both probes disconnect at roughly the same point is a critical clue. Specific XDS110 firmware versions are documented as causing connection drops with C2000 devices — notably version 2.3.0.16 broke cJTAG connections [1], and version 3.0.0.33 caused USB enumeration failures [2]. Your version 3.0.0.41 is newer than these, but the pattern of firmware-induced disconnects is well-established.

    Additionally, a resolved case with a C2000 custom board showed that application code running from flash can interfere with JTAG connectivity, causing the exact same symptoms — the debug probe loses connection after the application starts executing [2].

    Recommended Next Steps

    Step 1 — Isolate the cause (application vs. probe):

    Since you're on a custom board and have only tested with your full application, please try loading a minimal test program (e.g., a simple infinite loop or GPIO toggle) and run it for several minutes. If the debug session stays connected, your application is the root cause — not the probes.

    Step 2 — If the minimal program also disconnects:

    Update the XDS110 firmware to the version bundled with your CCS 20.5.1 installation:

    cd <CCS_install>\ccs\ccs_base\common\uscif\xds110
    xdsdfu -m
    xdsdfu -f firmware.bin -r

    Power cycle the probe, then verify with xdsdfu -e [1].

    Step 3 — If the issue is application-related:

    Check whether your application:

    • Enters low-power modes (LPM) that gate clocks to the JTAG interface
    • Triggers watchdog resets during runtime
    • Reconfigures GPIO pins that share mux options with JTAG/TDI/TDO/TCK/TMS
    • Disables peripheral clocks that affect debug subsystems

    Any of these will cause the debug connection to drop after the application reaches that code path [2].

    Why Both Probes Show the Same Issue

    This is the strongest indicator that your application is likely interfering with debug connectivity. Two different probe architectures (XDS200 and XDS110) failing identically points to the target side, not the host/probe side.


    To help refine this further, it would be helpful to know:

    • Whether the disconnection happens at a consistent time interval or during a specific application operation
    • Whether your application enters any low-power modes or reconfigures clocks
    • Whether a minimal test program (simple loop) maintains a stable debug connection on your custom board
    • Your current XDS200 firmware version (output of xds2xx_conf.exe get xds2xxu 0) to confirm it also needs updating to 1.0.0.9

    1. EMUPack XDS110 firmware incompatibility with C2000 - TI E2E
    2. XDS110 debug session disconnect due to application interference - TI E2E

    Best Regards,

    Zackary Fleenor