DSPRelated.com
Forums

Help with JTAG and XDS510 Emulator

Started by Sound Consulting August 18, 2009
Can anyone suggest how I might debug a non-working XDS510 Emulator
when connected to my board?

This is my first TMS320 design, and I placed a JTAG header on the
board along with proper pull-ups and clock routing. The XDS510 is an
inexpensive third-party design XDS510-USB2.0 model. The TARGET LED
lights up in blue when my unpowered board is attached, but applying
power to the board causes the blue light to go out. No matter what I
do, CCS v3.3 says my board is not powered when I first try to
connect, and produces an error message after that (no matter whether
the board is changed or not).

To tell the truth, I don't know if this is a CCS bug, driver issue,
XDS510 issue, or my board. Seems most likely that it is my board,
but I don't know how to diagnose the problem. It might help if I
knew some local Seattle folks with experience designing boards with
TI JTAG support included.

I have measured PD (pin 5) at 3.3V, which is what the C5506 needs.
I've also measure the other signals, TMS, TDI, EMU0 and EMU1 at 3.3V
(because of the pull-ups). TRST is 0V, as is TDO, because they have
no pull-up. I have not measured the pins while connected to the
Emulator. TCK is at 3.3V, but there are no pull-ups on that line, so
it must be driven by the C5506.

Any hints? I've read a few Texas Instruments Application Notes, and
it seems like I've followed all of the requirements...

Brian Willoughby
Sound Consulting
Brian-

> Can anyone suggest how I might debug a non-working XDS510 Emulator
> when connected to my board?
>
> This is my first TMS320 design, and I placed a JTAG header on the
> board along with proper pull-ups and clock routing. The XDS510 is an
> inexpensive third-party design XDS510-USB2.0 model. The TARGET LED
> lights up in blue when my unpowered board is attached, but applying
> power to the board causes the blue light to go out. No matter what I
> do, CCS v3.3 says my board is not powered when I first try to
> connect, and produces an error message after that (no matter whether
> the board is changed or not).
>
> To tell the truth, I don't know if this is a CCS bug, driver issue,
> XDS510 issue, or my board. Seems most likely that it is my board,
> but I don't know how to diagnose the problem. It might help if I
> knew some local Seattle folks with experience designing boards with
> TI JTAG support included.

One suggestion would be to use the closest thing to a 5506 DSK board (maybe a DSK 5509?), set the user switch to use
the JTAG header (instead of the parallel port circuitry), and hook up your emulator and CCS. You could then verify
your non-board aspects: parallel port-to-emulator, emulator settings, CCS configuration, etc.

Then go back to your board... and if still not working, start going after potential hardware issues. Typical divide
and conquer debug strategy.

> I have measured PD (pin 5) at 3.3V, which is what the C5506 needs.

Pin 5 Vcc is for the emulator, not the 5506. What about your /TRST signal... you mention below it shows gnd, but did
you use a pull-down R? If the emulator can't lift this signal, then it can't get started.

> I've also measure the other signals, TMS, TDI, EMU0 and EMU1 at 3.3V
> (because of the pull-ups). TRST is 0V, as is TDO, because they have
> no pull-up. I have not measured the pins while connected to the
> Emulator. TCK is at 3.3V, but there are no pull-ups on that line, so
> it must be driven by the C5506.

TCK is driven by the emulator -- actually all JTAG signals are driven by the emulator except for:

-TDO, which "comes back" from the last
DSP device in the JTAG chain

-TCK_RET (pin 9), which is a clock return
signal that some advanced emulators can
use to adjust TDI for slight delays in
the circuit (pin 9). In your circuit
probably pins 9 and 11 are tied together,
which should be fine

> Any hints? I've read a few Texas Instruments Application Notes, and
> it seems like I've followed all of the requirements...
>
> Brian Willoughby
> Sound Consulting
For some reason, there is a delay when I post to c55x. In the
interim, I seem to have gotten CCS to connect to my board, but I may
still run into problems. The solution I found was to set CCS to use
the .cfg file for a different XDS510-USB2 board. I have no idea why
the .cfg file from the product install CD-R did not work - perhaps
some file was missing from their install. I did get a
SC_ERR_POD_NO_LIBRARY <-155> "This utility cannot find the adaptor
for a custom emulator. The adaptor can be named in a board config
file." As soon as I switched the .cfg to another XDS510 brand, and
combined that with a carefully-crafted GEL file, I was able to connect.

In case other folks are having issues, I found SPRA439D.pdf from the
TI site to be helpful. I referenced other documentation when
designing the JTAG circuits, but this one helps during the setup.

I guess perhaps my problems are due to using a $120 eBay emulator
instead of the $1,599 XDS510 from TI. I probably made up for the
dollar savings in lost time.
On Aug 18, 2009, at 12:48, Jeff Brower wrote:
> One suggestion would be to use the closest thing to a 5506 DSK
> board (maybe a DSK 5509?), set the user switch to use
> the JTAG header (instead of the parallel port circuitry), and hook
> up your emulator and CCS. You could then verify
> your non-board aspects: parallel port-to-emulator, emulator
> settings, CCS configuration, etc.
>
> Then go back to your board... and if still not working, start going
> after potential hardware issues. Typical divide
> and conquer debug strategy.

Unfortunately, I am working in isolation. My client has contacted
the local Texas Instruments rep, so perhaps I can meet some local
c55x developers who might have a lab I can visit if problems come up
again.
> Pin 5 Vcc is for the emulator, not the 5506.

According to my research, the emulator uses this voltage level to
determine the level of all the other signals. The legacy voltage is
5V, but the newer chips are 3.3V (my C5506), and some are even lower
(down to 1.2V or even 1V).

> What about your /TRST signal... you mention below it shows gnd, but
> did
> you use a pull-down R? If the emulator can't lift this signal,
> then it can't get started.

The C5506 manual says that it has an internal pull-down on /TRST.
SPRA439D says that a pull-down is needed on the board if there isn't
one inside the part.

> TCK is driven by the emulator -- actually all JTAG signals are
> driven by the emulator except for:
>
> -TDO, which "comes back" from the last
> DSP device in the JTAG chain
>
> -TCK_RET (pin 9), which is a clock return
> signal that some advanced emulators can
> use to adjust TDI for slight delays in
> the circuit (pin 9). In your circuit
> probably pins 9 and 11 are tied together,
> which should be fine

Yes, they're tied together. I'm hoping that the JTAG port can run at
a different speed than the processor, since I think my design
requires it to run from the crystal I put on the board. I guess I'll
find out soon enough.

Thanks for your help, Jeff ! I put my responses above to document
what I've learning while researching my problem.

Brian Willoughby
Sound Consulting