This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Switching to XDS100v3 from XDS200

Other Parts Discussed in Thread: CC2640

I have been using an XDS200 to debug my CC2640 custom board, but my CCS evaluation license is about to expire so I purchased an XDS100v3 board (TMS320-XDS100v3+) from Olimex (since CCS should continue to work with it after the eval license expires).

I created a converter board that maps the TI-JTAG-14 cable to the 10-pin ARM cable.   Since I'm using 2-wire JTAG, I mapped the TCK, TMS, and nRESET signals along with 3.3V and GND.

I mapped:

TI-JTAG_14                              10-pin ARM

  1                       TMS                         2

  2                       TRST_N                 10

  11                      TCK                         4

  5                        3.3V                         1

  4,8,10,12         GND                         3,5,9

After reading the Olimex user manual, I removed the jumper marked ARM_JTAG_E on the XDS100v3 board.

In my CCS project, I switched from TI XDS200 to TI XDS100v3 USB Debug in the .ccxml file.

I also saw a post that suggested that the "The Converter Usage" item should be changed to "Its bypassed, use 1149.1, mimic XDS100v2".    So I changed this.   I also tried changing the Frequency from the 1.0 MHz to higher frequencies when I read other comments suggesting that this might help.

I know the custom CC2640 board works with the XDS200.

I checked the converter board connections to insure that they are good.

The error below suggests a "hard error", and that the controller has detected a "cable break".    

Are the mappings I created wrong?   Are there other pins on the TI_JTAG_14 side that must be driven?

When I perform the "Test Connection" with the XDS100v3 as configured above,  I get:

[Start: Texas Instruments XDS100v3 USB Debug Probe_0]

Execute the command:

%ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity

[Result]


-----[Print the board config pathname(s)]------------------------------------

C:\Users\hepler\AppData\Local\TEXASI~1\CCS\
ti\0\0\BrdDat\testBoard.dat

-----[Print the reset-command software log-file]-----------------------------

This utility has selected a 100- or 510-class product.
This utility will load the adapter 'jioserdesusbv3.dll'.
The library build date was 'Dec 9 2015'.
The library build time was '20:05:50'.
The library package version is '6.0.83.1'.
The library component version is '35.35.0.0'.
The controller does not use a programmable FPGA.

An error occurred while hard opening the controller.

-----[An error has occurred and this utility has aborted]--------------------

This error is generated by TI's USCIF driver or utilities.

The value is '-183' (0xffffff49).
The title is 'SC_ERR_CTL_CBL_BREAK_FAR'.

The explanation is:
The controller has detected a cable break far-from itself.
The user must connect the cable/pod to the target.

[End: Texas Instruments XDS100v3 USB Debug Probe_0]

Suggestions?

Thanks!

  • Hello Ed,
    I moved this to the tools forum hoping they will provide some insight.
  • Hi,
    If you are using 2-wire cJTAG on the custom board, I think you cannot use the converter setting you specified "Its bypassed, use 1149.1, mimic XDS100v2". This mode requires 4 JTAG pins.

    You can try converter setting "generate 1149.7 2-pin advanced modes" instead.

    For your information, here is a good reference for the different JTAG connector standards:
    processors.wiki.ti.com/.../JTAG_Connectors

    The SmartRF06EB User Guide (which has an XDS100v3 integrated) gives information about which signals is required for connecting to an external custom board. Please see this document, section 7.3:
    www.ti.com/.../swru321

    Bjørn
  • Hi Bjorn,

    Thanks for the feedback.

    Yes, I realized the converter setting was wrong right after I posted the question.

    Changing the selection to "generate 1149.7 2-pin" gives the same results though.

    The cable converter I built wires the signals listed in Figure 19 of swru321a.pdf

    However, I connect to the TI-JTAG-14 connector on the Olimex board.

    The TI-JTAG-14 connector has an additional signal TDIS that I'm tying to ground.

    The Olimex board has a jumper (ARM-JTAG-E) for this signal.

    If I leave this jumper off (no connection), the "Test Connection" routine reports:

      An error occurred while hard opening the controller.

      -----[An error has occurred and this utility has aborted]--------------------

      This error is generated by TI's USCIF driver or utilities.

      The value is '-183' (0xffffff49).
      The title is 'SC_ERR_CTL_CBL_BREAK_FAR'.

      The explanation is:
      The controller has detected a cable break far-from itself.
      The user must connect the cable/pod to the target.

      [End: Texas Instruments XDS100v3 USB Debug Probe_0]

    If I put the jumper in then the "Test Connection" routine reports:

    An error occurred while hard opening the controller.

    -----[An error has occurred and this utility has aborted]--------------------

    This error is generated by TI's USCIF driver or utilities.

    The value is '-180' (0xffffff4c).
    The title is 'SC_ERR_CTL_NO_TRG_POWER'.

    The explanation is:
    The controller has detected a target power loss.
    The user must turn-on or connect the power supply for the target.

    [End: Texas Instruments XDS100v3 USB Debug Probe_0]

    (The power was on at the target!)

    Since I don't see the source code that is invoked for the "Test Connection" action, I don't know what causes these particular reports.

    Any suggestions?

    Thanks!

  • Hi Ed,

    TI JTAG connector requires two special pins: TVD and TDIS.
    TVD must be connected to target board's VCC and TDIS must be connected target board's GND.
    If TVD is not connected to VCC, you get a "power lost" error.
    If TDIS is not connected to GND, you get a "cable break" error.