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.

JTAG + CCS4 + XDS510USB + C5505 -> connection problem

Other Parts Discussed in Thread: TMS320C5505

Hello,

we have developed a new board with C5505 processor and I have problem to make a connection through JTAG with XDS510USB emulator. When I have tried it with the evaluation module EVM5505, the connection was successfuly established. Then I have made some configuration changes and suddenly I am not able to connect nor to EVM5505. I have revert back the configuration to the default one, but still no success. When I use the SdConfixEx utility and run the Emulator Test it finds 1 device but it detects instruction register (IR) length 4. Before it shows IR length 38 and this is the right value for C5505 processor.

My question is: Is the IR length detected automatically or should I set it somewhere? How can i set the IR length?

Thank you very much for any help.

Jiri Babka

  • Jiri,

    Can you describe the configuration changes you made.  It seems as though this is at least part of the difference in operation of the TI EVM and your board.  Since the EVM is working correctly it seems your setup is correct. 

    The IR length of 4 suggests that the DSP is no longer in the scan chain because as you noted the IR length should be 38 and not 4.  The IR length is detected automatically as well as the number of device on the scan chain.

    Regards.

  •  Hi Jiri,

    You could try reducing the TCK clock frequency before running the scan test. Using slower TCK clocks could result in IR length getting detected successfully. This could be a signal integrity issue due to which higher frequency of TCK is not working out.

    Regards,

    Sid

  • Hello Tommy and Sid,

    thank you for your advices but I still have not my problem solved. Last week the communication with EVM5505 worked correctly but today SdConfigEx reports IR length 4 and it is not possible to connect to EVM5505. I have tried to change almost all settings in SdConfigEx but I have set it back to the default values. I have also reinstalled the CCS4 including the XDS510USB driver but it didn't help.

    I have tried to reduce the TCK clock frequency. The default value is 13 MHz. I have set it to different values from 100 kHz to 10 MHz (and I have verified it by osciloscope) but the result is always the same: IR length is reported 4.

    Best regards

    Jiri

  • Check your emu0/1 pins. I think the device is being released from reset, sampling emu0/1 and the test tap is selected not the JTAG tap used for debugging.

  •  What level should be on EMU0/1 pins? There are pull-up resistors which hold the EMU0/1 pins at 3.3V level. Is it right?

  • EMU 0/1 recommendations are here: http://processors.wiki.ti.com/index.php/XDS_Target_Connection_Guide#EMU_pin_Considerations 

    Might be useful to get the ccxml file from http://processors.wiki.ti.com/index.php/Troubleshooting_CCS and SDconfig output and sdopts:

    1. Setup Configuration .CCXML file for configuration being used (found in the "<user name>\user\CCSTargetConfigurations" directory):
    2. Setup Configuration ccBoard0.dat file (found in \ccsv4\DebugServer\bin\win32\BrdDat)(Please make sure it is saved after failure.) (optional):
      1. If using Spectrum Digital emulators, “sdopts.cfg” file located in Windows\System32 and is generated by sdconfig:

    Main thing is to concentrate on why we can't see the 38-bit tap and why the 4 bit one is there instead. Sid and Tommy are right, if this was working before, and we are scanning 4 bits, CCS just can't access the core.

  • Steve,

     I am also facing the same issue on EVM5505 with XDS510 USB. I am not able to connect using CCS4 and i get the following error.

    Error connecting to the target:
    Error 0x80001240/-1135
    Fatal Error during: Initialization, OCS, Target,
    Unrecoverable emulation error

    Using the same XDS510, i can connect to C2000 processors.

    Emulator test from SdConfigEx gave the following.

    ** Emulator Test **

     $$ EmuProductName=XDS510USB

     $$ EmuPortAddr=0x510

     $$ EmuPortMode=USB

     $$ ProductId=510

     $$ ProductVersion=84

     ** Emulator Scan Test

       -- Found JTAG IR length of 6

       -- Found 1 JTAG device(s) in the scan chain

    Tried to reduce JTAG clock by increasing TCK delay, tried 10Mhz TCK frequency but result is same.

    Any suggestion? I had tried to connect the same XDS510 to ARM9 (DM355) and could succeed only once or twice in say 20-30 trials. But every time it connects to C2000 processors with out an issue

    regards,

    Tony

  • Steve, thank you but nothing helps. I have tried to make a new install of CCS on the new computer, but I still have the same problems. I think my XDS510 emulator is broken...

    I have tried Bilkon XDS100 JTAG adapter and I am able to load program with CCS3.3 to the C5505 processor (both on EVM5505 board and on my board too). I am also able to debug program but when I call NAND_checkCommandStatus function from Chip Support Library 2.01 it never returns from that function. But it only does that if I am connected to EVM5505 via XDS100 JTAG adapter. If I connect directly via USB connector (internal EVM5505 emulator?) it works correctly. What is the difference between this 2 connections? Is there any problem with CCS settings? In CCS setup I have selected TI Simulator Connection and TMS320C55x Processor Type.

    Jiri

  • Jiri,

    Not sure if this helps, but I was having a similar problem with an OMAP3 board that could never connect using my XDS510USB emulator, although being able to use XDS100 and others. In my case the JTAG operating voltage was too low for the XDS510USB (1.8V versus the emulator minimum of 3.3V).

    By looking at the C5505 datasheet it seems the maximum voltage in the JTAG pins is DVDDIO. The EVM schematics indicate the I/O voltage can be adjusted between 1.73V and 3.63V via R59 and R68. If I am not missing any details, this may be a detail to be investigated.

    Hope this helps,

    Rafael

  • Rafael,

    thank you for your answer. I use 3.3V so it should be ok.

    I have tried Blackhawk USB560 JTAG Emulator yet. With EVM5505 it works correctly. But there is some problem with my board. When I try to connect from CCS3.3 and CCS4 it writes Connecting... but it never ends. In my board I have JTAG connector connected the same way as it is on EVM5505 board. The difference is in the type of the processor: there is TMX320VC5505 on the EVM5505 board and I have board with TMS320C5505. All tests with dbgjtag utility pass successfuly:

    dbgjtag -f brddat\ccbrd0.dat -rv -S pathlength

    -----[Select and reset the controller]---------------------------------------

    This utility has selected an XDS560 class product.
    This utility will load the program 'bh560usbM.out'.
    This utility will operate on port address '0x0'.
    The controller does use a programmable FPGA.
    The old VHDL code has a version number of '1544' (0x0608).
    The new VHDL code has a version number of '1544' (0x0608).
    The emulator program is named 'bh560usbM.out'.
    The emulator program is version '35.23.10.4'.
    The controller has a version number of '4' (0x0004).
    The controller has an insertion length of '0' (0x0000).
    The cable+pod has a version number of '6' (0x0006).
    The cable+pod has a capability number of '8' (0x0008).
    The local memory has a base address of '0' (0x000000).
    The local memory has a word capacity of '32768' (0x008000).
    This utility will attempt to reset the controller.
    This utility has successfully reset the controller.

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

    The scan-path will be reset by toggling the JTAG TRST signal.
    The software is configured to use all Nano-TBC VHDL features.
    The controller type is the Nano-TBC VHDL.
    The connection type is a 560-class revision-D multi-purpose cable.
    The controller will be software reset via its configure register.
    The controller will use falling-edge timing on output pins.
    The controller may use rising edge timing on input pins.
    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 scan-path link-delay has been set to exactly '2' (0x0002).
    The support logic has not previously detected a power-loss.

    -----[Perform the scan-path length test on the JTAG IR and DR]---------------

    This scan-path length test uses blocks of 512 32-bit words.

    -----[The results of the scan-path length test on the JTAG IR and DR]--------

    The test for the JTAG IR instruction scan-path length succeeded.
    The JTAG IR instruction scan-path length is 38 bits.

    The test for the JTAG DR bypass scan-path length succeeded.
    The JTAG DR bypass scan-path length is 1 bits.

    -----------------------------------------------------------------------------------------------------

    dbgjtag -f brddat\ccbrd0.dat -S brokenpath

    -----[Select the controller]-------------------------------------------------

    This utility has selected an XDS560 class product.
    This utility will load the program 'bh560usbM.out'.
    This utility will operate on port address '0x0'.
    The emulator program is named 'bh560usbM.out'.
    The emulator program is version '35.23.10.4'.
    The controller has a version number of '4' (0x0004).
    The controller has an insertion length of '0' (0x0000).
    The cable+pod has a version number of '6' (0x0006).
    The cable+pod has a capability number of '8' (0x0008).
    The local memory has a base address of '0' (0x000000).
    The local memory has a word capacity of '32768' (0x008000).

    -----[Perform the scan-path break test on the JTAG IR]-----------------------

    This scan-path test uses blocks of 512 32-bit words.

    Starting a Broken Path Test using 0x00000000.
    All of the 32-bit data values were scanned correctly.
    Finished that Broken Path Test.
    Starting a Broken Path Test using 0xFFFFFFFF.
    All of the 32-bit data values were scanned correctly.
    Finished that Broken Path Test.
    The JTAG IR scan-path break test has succeeded.

    -----[Perform the scan-path break test on the JTAG DR]-----------------------

    This scan-path test uses blocks of 512 32-bit words.

    Starting a Broken Path Test using 0x00000000.
    All of the 32-bit data values were scanned correctly.
    Finished that Broken Path Test.
    Starting a Broken Path Test using 0xFFFFFFFF.
    All of the 32-bit data values were scanned correctly.
    Finished that Broken Path Test.
    The JTAG DR scan-path break test has succeeded.

    -----------------------------------------------------------------------------------------------------

    dbgjtag -f brddat\ccbrd0.dat -S integrity

    -----[Select the controller]-------------------------------------------------

    This utility has selected an XDS560 class product.
    This utility will load the program 'bh560usbM.out'.
    This utility will operate on port address '0x0'.
    The emulator program is named 'bh560usbM.out'.
    The emulator program is version '35.23.10.4'.
    The controller has a version number of '4' (0x0004).
    The controller has an insertion length of '0' (0x0000).
    The cable+pod has a version number of '6' (0x0006).
    The cable+pod has a capability number of '8' (0x0008).
    The local memory has a base address of '0' (0x000000).
    The local memory has a word capacity of '32768' (0x008000).

    -----[Perform the scan-path integrity test on the JTAG IR]-------------------

    This scan-path test uses blocks of 512 32-bit words.

    Starting an Integrity Test using 0xFFFFFFFF.
    All of the 32-bit data values were scanned correctly.
    Finished that Integrity Test.
    Starting an Integrity Test using 0x00000000.
    All of the 32-bit data values were scanned correctly.
    Finished that Integrity Test.
    Starting an Integrity Test using 0xFE03E0E2.
    All of the 32-bit data values were scanned correctly.
    Finished that Integrity Test.
    Starting an Integrity Test using 0x01FC1F1D.
    All of the 32-bit data values were scanned correctly.
    Finished that Integrity Test.
    Starting an Integrity Test using 0x5533CCAA.
    All of the 32-bit data values were scanned correctly.
    Finished that Integrity Test.
    Starting an Integrity Test using 0xAACC3355.
    All of the 32-bit data values were scanned correctly.
    Finished that Integrity Test.
    The JTAG IR integrity test has succeeded.

    -----[Perform the scan-path integrity test on the JTAG DR]-------------------

    This scan-path test uses blocks of 512 32-bit words.

    Starting an Integrity Test using 0xFFFFFFFF.
    All of the 32-bit data values were scanned correctly.
    Finished that Integrity Test.
    Starting an Integrity Test using 0x00000000.
    All of the 32-bit data values were scanned correctly.
    Finished that Integrity Test.
    Starting an Integrity Test using 0xFE03E0E2.
    All of the 32-bit data values were scanned correctly.
    Finished that Integrity Test.
    Starting an Integrity Test using 0x01FC1F1D.
    All of the 32-bit data values were scanned correctly.
    Finished that Integrity Test.
    Starting an Integrity Test using 0x5533CCAA.
    All of the 32-bit data values were scanned correctly.
    Finished that Integrity Test.
    Starting an Integrity Test using 0xAACC3355.
    All of the 32-bit data values were scanned correctly.
    Finished that Integrity Test.
    The JTAG DR integrity test has succeeded.

    -----------------------------------------------------------------------------------------------------

    dbgjtag -f brddat\ccbrd0.dat -S givendata,repeat=100

    -----[Select the controller]-------------------------------------------------

    This utility has selected an XDS560 class product.
    This utility will load the program 'bh560usbM.out'.
    This utility will operate on port address '0x0'.
    The emulator program is named 'bh560usbM.out'.
    The emulator program is version '35.23.10.4'.
    The controller has a version number of '4' (0x0004).
    The controller has an insertion length of '0' (0x0000).
    The cable+pod has a version number of '6' (0x0006).
    The cable+pod has a capability number of '8' (0x0008).
    The local memory has a base address of '0' (0x000000).
    The local memory has a word capacity of '32768' (0x008000).

    -----[Perform the scan-path given data test on the JTAG IR]------------------

    This scan-path test uses blocks of 512 32-bit
    words that repeat the data pattern 0x5533CCAA.

    This scan-path test will be applied 100 times.
    using all of the 10 different test-cases.

    Test suites performed: 100, skipped: 0, failed: 0
    All of the 32-bit data values were scanned correctly.
    The JTAG IR given data test has succeeded.

    -----[Perform the scan-path given data test on the JTAG DR]------------------

    This scan-path test uses blocks of 512 32-bit
    words that repeat the data pattern 0x5533CCAA.

    This scan-path test will be applied 100 times.
    using all of the 10 different test-cases.

    Test suites performed: 100, skipped: 0, failed: 0
    All of the 32-bit data values were scanned correctly.
    The JTAG DR given data test has succeeded.

    -----------------------------------------------------------------------------------------------------

     

    It all seems to be ok. But CCS writes "Connecting" until I unplug the emulator USB cable. What could be wrong?

    It does not depend which emulator I will use. I only want to be able to load the program and to debug it. With XDS100 JTAG Adapter I can load program but there is some problem with debugging as I wrote earlier. Can anybody help me?

    Jiri

  • I am sorry, I have written wrong informations about XDS100 JTAG Adapter. It is not true I am able to connect and to load program to C5505 processor on my board. I have selected the TI Simulator in CCS so it was simulation only.

    So I cannot connect to processor on my board with no emulator. I can connect to EVM5505. I have found 2 differences between EVM5505 and my board. When the JTAG cable is unpluged there are these voltages on JTAG connector on EVM5505 board: TDO 3.3V, TCK 0V. But on my board there are oposite values (TDO 0V, TCK 3.3V). Signals are connected directly to processor. There is pull-up resistor 1k on TCK.

    Are these differencies a problem? What is wrong? What conditions have to be observed to JTAG gone right? I have measured: CVDDRTC 1.3V, CVDD 1.3V, DVDDIO 3.3V. The crystal seems to be oscillating. What else?

    Thanks. Have a nice day.

    Jiri

  • Hello,

    I cannot still found, why CCS don't want communicate with my processor TMX320C5505. I have logged the beginning of the communication of proccesors TMX320C5505 (my board) and TMX320VC5505 (EVM5505 board) with emulator in 2 cases (hexadecimal):

     

    1. CCS4, XDS100 Adapter

    a) EVM5505

    From XDS100 (TDI):     AA

    From VC5505 (TDO):   81 3D 1F 03 C4

     

    b) my board

    From XDS100 (TDI):     AA

    From C5505 (TDO):     81 05 5F 03 C4

     

    2. CCS3.3, USB560m Emulator

    TMS and TDI fall to 0

    a) EVM5505

    From VC5505 (TDO):    81 2D 5F 03 C4

     

    b) my board

    From C5505 (TDO):     81 05 5F 03 C4

     

    Do you know what these answers mean?

    With VC5505 on EVM5505 board CCS can successfuly connect. With C5505 on my board the connection can't be established. CCS writes "Connecting" and communication is repeated until I unplug USB cable.

    Where can be a problem?

    Jiri

  •  Jiri,

    Have you seen this Wiki page describing how to implement JTAG connection here: http://processors.wiki.ti.com/index.php/XDS_Target_Connection_Guide.  I think Sections 5 & 6 would be most interesting to you.

    Regards.

  • I have solved my problem. There was missing one part on my board and there was no supply voltage for PLL on C5505 device. Stupid fault. It seemed to me that processor is somehow communicating so I didn't expect these kind of problem.

    Thanks to all for your answers.

    Jiri