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.

Problem with Blackhawk LAN560 emulation on TMS320C6455 when JTAG chain includes TI XIO2001.

Other Parts Discussed in Thread: XIO2001

Not too sure if this is the correct forum for this thread, but as the problem is with debugging the 6455 this will do for a start.

We've recently respun our baseband board, and one of the changes was to include the XIO2001 in the JTAG chain.   The chain now consists of a Xilinx ZYNQ Device (PS & PL as far as the JTAG chain is concerned), the 6455, and the XIO2001, in that order.  With the previous spin we just had the ZYNQ and the 6455.  Previously, using CCSV5 and the Blackhawk LAN560 I could happily run the emulator to load code, debug etc.  But with the new configuration I get a "-232" error.  I've modified the .ccxml file that is in use to add a bypass entry for the XIO2001 (5 bits), it already had bypass entries for the ZYNQ (4 & 6 bits).

CCSV5 is less than helpful with details of the problem, but using the dbgjtag utility I see:

======================================8< 8< 8<=============================================================

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

This utility has selected a 560-class product.

This utility will load the program 'bh560eth.out'.

The library build date was 'Jan  3 2011'.

The library build time was '22:36:59'.

The library package version is '5.0.281.0'.

The library component version is '35.34.29.0'.

The controller does use a programmable FPGA.

The old VHDL code has a version number of '0' (0x00000000).

The new VHDL code has a version number of '386336272' (0x17070610).

The controller has a version number of '5' (0x00000005).

The controller has an insertion length of '0' (0x00000000).

The cable+pod has a version number of '6' (0x00000006).

The cable+pod has a capability number of '8' (0x00000008).

This utility will now attempt to reset the controller.

This utility has successfully reset the controller.

 

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

 

The scan-path will be reset by toggling the JTAG TRST signal.

The controller is the Nano-TBC VHDL.

The link is a 560-class version-D multi-purpose cable.

The software is configured for Nano-TBC VHDL features.

The controller will be software reset via its registers.

The controller has a logic ONE on its EMU[0] input pin.

The controller has a logic ONE on its EMU[1] input pin.

The controller will use rising-edge timing on output pins.

The controller cannot control the timing on input pins.

The scan-path link-delay has been set to exactly '3' (0x0003).

The utility logic has not previously detected a power-loss.

The utility logic is not currently detecting a power-loss.

 

-----[The log-file for the JTAG TCLK output generated from the PLL]----------

 

  Test  Size   Coord      MHz    Flag  Result       Description

  ~~~~  ~~~~  ~~~~~~~  ~~~~~~~~  ~~~~  ~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~

    1   none  - 01 00  500.0kHz   -    similar      isit internal clock

    2   none  - 01 09  570.3kHz  {-}   similar      isit internal clock

    3    512  - 01 00  500.0kHz  {#}   bad command  measure path length

 

In the first internal/external clock test:

The expect frequency was 500000Hz.

The actual frequency was 499110Hz.

The delta frequency was 890Hz.

 

In the second internal/external clock test:

The expect frequency was 570312Hz.

The actual frequency was 569214Hz.

The delta frequency was 1098Hz.

 

In the scan-path tests:

The test length was 16384 bits.

The JTAG IR length was 0 bits.

The JTAG DR length was 0 bits.

 

The IR/DR scan-path tests used 3 frequencies.

The IR/DR scan-path tests used 500.0kHz as the initial frequency.

The IR/DR scan-path tests used 570.3kHz as the highest frequency.

The IR/DR scan-path tests used 500.0kHz as the final frequency.

 

-----[Measure the source and frequency of the final JTAG TCLKR input]--------

 

The frequency of the JTAG TCLKR input is measured as 499.1kHz.

 

The frequency of the JTAG TCLKR input and TCLKO output signals are similar.

The target system likely uses the TCLKO output from the emulator PLL.

 

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

 

This error is generated by TI's USCIF driver.

 

The value is '-232' (0xffffff18).

The title is 'SC_ERR_PATH_DR_MEASURE'.

 

The explanation is:

The measured length of the JTAG DR data path is invalid.

This indicates that an error exists in the link-delay or scan-path.

======================================8< 8< 8<=============================================================

Note, that this is running at the minimum speed of 0.5 MHz.  We have tested 2 boards and have seen the problem with both.

Our design allows us to bypass the XIO2001 by connecting its TDI line to its TDO line, and isolating those lines from the device.  If we do this (and modify the ccxml file to remove its bypass entry) everything is happy, and we can run at the maximum rate of 35 MHz.  Nothing was modified on the TCK or RTCK paths.

We can use the JTAG in the original configuration (with the XIO2001 present) to run boundary scan tests with a JTAGLive pod.  Also a Xilinx Platform Cable USB II pod will quite happily load the ZYNQ PL via vivado, it sees the 4 devices (ZYNQ PS and PL, unknown device - presumably the 6455, and unknown device - presumably the XIO2001), the IR lengths that it discovers for all 4 devices being correct. 

The dbgjtag utility reports "This error is generated by TI's USCIF driver."  But I can find no information about the USCIF driver, googling for it just gives me heaps and heaps of pages of people reporting errors of various codes, no -232s though as far as I can see.

I have also tried a Blackhawk USB510L JTAG Emulator and that gives the same "-232" error.

I've talked to Blackhawk about the problem, and after running some tests for them they seem to think that we have a physical issue (signal integrity, propagation delays, impedance or wrong series resistor values).   However that doesn't feel correct to us, with the XIO2001 bypassed we can run at full rate (35 MHz), while with it in the chain it fails at a modest 0.5 MHz.  It feels to us that the XIO2001 is not responding as the TI's USCIF driver expects.

Can anyone shed any light on my problem

best regards

Paul Bray

  • Hi,

    Moving your post to right forum to be better answered.

    Thanks & regards,
    Sivaraj K
  • Paul,

    As you probably suspect, the issue is related to the XIO2001. I checked its datasheet and one detail caught my attention when comparing this document with the first paragraph of section 7.1.2 of the XDS Target Connection Guide:

    Therefore, I wonder if the pull up resistor on the XIO2001 is stronger than the other resistors on the TCK line of the scan chain (including the JTAG debugger).

    Although I can't definitely tie it to the TCK detail above, the error message you sent indicates the JTAG debugger is failing to properly detect the length of the scan chain:

    Paul Bray said:

    In the scan-path tests:

    The test length was 16384 bits.

    The JTAG IR length was 0 bits.

    The JTAG DR length was 0 bits.

    Also, the JTAG debugger is behaving according to its internal algorithm: when the clock is set to automatic (typically the default setting), it falls back to slower speeds anytime it can't properly detect a valid scan chain. It gives up at the minimum speed of 500kHz.

    This is all I am able to gather from the details you provided (by the way, thanks for sending such detailed post), but I will let you know if I can think of some additional detail that I may be relevant.

    Hope this helps,

    Rafael