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.

TMS320VC5410A: IEEE 1149.1 JTAG/Emulation - Cannot Operate

Part Number: TMS320VC5410A
Other Parts Discussed in Thread: CODECOMPOSER

We’ve confirmed our board is functional because we have pre-existing code downloading via HPI that runs and works as-intended.

We’ve confirmed the Spectrum Digital XDS200 debug pod is functional because we tested it against a BeagleBone.

We’ve confirmed that the Spectrum Digital XDS200 debug pod is loaded with the latest 1.0.0.8 firmware.

We’ve confirmed the JTAG signal integrity between the pod and the DSP using an oscilloscope.

We’ve confirmed that our JTAG circuitry matches the TI reference designs we can find, where the various designs aren’t contradictory.

We’re using the latest version of CodeComposer Studio supported by our DSP (v5.5.0).

We’ve tried using a Win7 computer and a separate Win10 computer.

 

Our steps to reproduce are:

  • Connect XDS200 USB debug pod to host computer
  • With power OFF, connect XDS200 pod to target system
  • Create a new Target Configuration in CCS
  • Set the Connection to “Texas Instruments XDS2xx USB Debug Probe”
  • Set the Board or Device to “TMS320C5410A.”
  • Apply power to the target system
  • Press the “Test Connection” button in CCS.

We observe on the oscilloscope that nTRST is driven low for a duration of roughly 600usec. During that time, just after nTRST is driven low, there are 100 TCK cycles. Then TCK doesn't toggle for about 520 usec. Then TCK toggles for another 10 cycles. Then nTRST is driven high.

We never see any change on TDI or TDO.

CodeComposer then reports a -233 error that the IR and DR registers cannot circulate bits and that the scan-path appears to be stuck-at-ones or stuck-at-zeroes.

We’ve confirmed that we do not have a low-resistance connection between either TDI or TDO and ground or Vcc.

 

Everything appears to be configured properly, cleanly driven, and functioning as-intended, but we’ve never been able to establish a connection between CCS and the DSP.

With clean signals, known-good target systems, and known-good debug pods, where else might we look for JTAG communications problems?

  • Hi Thomas,

    I've forwarded your query to the experts. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • Hi Thomas,

    In the target configuration configuration window, can you try slowing the JTAG TCLK frequency way down to see if the circulate bits error goes away at slower frequencies?

    Double check that the JTAG pins are routed correctly on your custom board. Are the expected signals are connected to the JTAG female header correctly? If using through holes, ensure the header is not mounted on the wrong side of the board...

    Confirm that you have a pull-down resistor on TRST, and pull-ups on EMU1/0.

    XDS200 is a newer emulator than the VC5410A. I have not paired them together before...Can you try any other emulator?

    You are correct in choosing CCSv5.5 - the latest version of CCS that supported C54x.

    Refer to these resources:
    http://processors.wiki.ti.com/index.php/Debugging_JTAG_Connectivity_Problems_legacy

    XDS560 Emulator Technical Reference - http://www.ti.com/lit/ug/spru589a/spru589a.pdf

    Hope this helps,
    Mark

  • Hello Mark. Thanks for your reply. Still no success for us, however.

    1. Slowed the clock down to 1 MHz. No change in results
    2. Connector is mounted correctly, and verified connectivity from to the intended pins on the C5410A
    3. Regarding the pull-down on the TRST. We have an external 470 ohm pull-down, per the DSP datasheet. We did read in some online forums that the XDS200 uses open-collector outputs, and will therefore not be able to pull TRST high. This seems to be confirmed because we did not observe TRST going high. So we removed the 470 ohm pull-down, and put a 1kohm pull up on the emulator TRST output. When we did this, TRST would start out high, then be pulled low, then go high again. Before TRST went high, we observed ~10 clock cycles, and after TRST went high again, there were ~100 clock cycles. Last, with the external 1kohm pull up on the pod TRST output, we again added the 470ohm pull-down, and observed that TRST would never go high. With all of these variations, the original error still continued.
    4. What other emulator would you suggest? BTW - we do have C54xx drivers installed in Code Composer that support this the XDX2xx USB emulator pod.

    -Thomas Shafer