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.

Problems with EVMC6678L Onboard Emulator

Other Parts Discussed in Thread: TMS320C6678

Hi Everyone, 

   I have been having similar problems using the built-in xds100 emulator that came with my EVMC6678L demonstration board.  Following this thread I've verified that all the correct files are present and that the device manager recognizes the emulator (the emulator shows up in the Device Manager with channels A & B).  As with Bernd, I've set my USB/UART jumpers to their appropriate positions, which places the jumpers on the two pins closest to the pcb edge.  I'm a little confused as to how to set DIP switches 3 - 6.  I've tried a couple of configurations:

           Linux Demo    Emulation Boot

DIP3:    0010                   0111

DIP4:    1111                   1111

DIP5:    1110                   1110

DIP6     1111                   1111

 

Using CCS, I configure my intended target with

 

Connection: Texas Instruments XDS100v1 USB Emulator

Board or Device: TMS320C6678

 

When I enter the debug view of CCS, and attempt to connect to the target, I receive the following error (regardless of the configurations mentioned)

IcePick_D: Error connecting to the target: (Error -183) @ 0 (0x0)

 

My configuration file is shown below:

 

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">

    









<configuration XML_version="1.2" id="Texas Instruments XDS100v1 USB Emulator_0">
        <instance XML_version="1.2" desc="Texas Instruments XDS100v1 USB Emulator_0" href="connections/TIXDS100usb_Connection.xml" id="Texas Instruments XDS100v1 USB Emulator_0" xml="TIXDS100usb_Connection.xml" xmlpath="connections"/>
        <connection XML_version="1.2" id="Texas Instruments XDS100v1 USB Emulator_0">
            <instance XML_version="1.2" href="drivers/tixds100icepick_d.xml" id="drivers" xml="tixds100icepick_d.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds100c66xx.xml" id="drivers" xml="tixds100c66xx.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds100cs_dap.xml" id="drivers" xml="tixds100cs_dap.xml" xmlpath="drivers"/>
            <platform XML_version="1.2" id="platform_0">
                <instance XML_version="1.2" desc="TMS320C6678_0" href="devices/C6678.xml" id="TMS320C6678_0" xml="C6678.xml" xmlpath="devices"/>
            </platform>
        </connection>
    </configuration>
</configurations>

 

So, I'm completely stuck and incredibly frustrated with this device. I would feel very accomplished to load, run and profile a 'Helloworld' type application on my demo board.  If anyone has any further insight as to how I might resolve this issue, it would be greatly appreciated.

 

-Brant

 

PS: I've tried using the dbgjtag utility to verify that the emulator is functional.  I cannot figure out how to use this function and it does not appear to have any usable documention.  Here's what I've tried (on both a linux machine running Ubuntu 10.10 and a WinXP machine).

dbgjtag -f  "D:\factory_images\configs\evms6678l\xds100evmc6678l_linux.ccxml" -rv -S pathlength

 

The utility responds by saying that it needs an emulator program or adaptor file.  I have no idea where I would get either one of these, I thought the config files that came with the eval board would provide them.

  • I had originally posted this question continuing a thread on the same topic by another person and was informed that I should start a new thread.  Here is a part of the reponse to my original post:

     

     

    Brant,

    Your .ccxml file seems fine.  I was able to bring up my board with it. 

    I also tested (on windows) with your DIP settings, they work too. 

    The file you are pointing to with the -f command to dbgjtag is not the correct one.  This file essentially contains the same information as the .ccxml file, but in a compiled form.

     The board config file is found at:  C:\Documents and Settings\<user account>\Local Settings\Application Data\.TI\<CCS instance #>\0\BrdDat\ccBoard0.dat

     

    I know this might sound like a dumb question, but is there anything connected to the 60-pin header on board?  i.e. another emulator cable, or an emulation adapter?  If there is, please remove it.

    Please let me know what the output of the dbgjtag command is.


    Regards,

    Dan

  • And one more followup from the same person:

     

    One more FYI...if this issue is not resolved, please open up another thread to track it, rather than replying to this existing one.  This thread was already marked as "Answered." because the initial person who reported solved their issue.  I can't tell if this could possibly be a hardware issue with a specific set of boards, because it's not possible for me to track which solutions resolve which issues when they are all in the same thread.  Just a rule of thumb when these issues come up.

    Regards,
    Dan

  • So, I attempted to use the dbgjtag utility with the compiled .dat file. I cannot find the compiled .dat file in the specified folder, in fact that folder does not exist on my system.  Performing a search of my "C:\Documents and Settings" directory returns no relevant .dat files for this project.  Could there be an issue with compiling the .dat file, or perhaps a different location for the specified file?

     

    Furthermore, if Dan sees this post, which DIP setting did you test with?  I'd like to try and replicate what you're doing ...

    Thanks, 

    -Brant

  • Brant,

    I tested with your Windows DIP settings.

    Yes, not having that file be created would definitely cause an issue.  Essentially, this gets created from the target configuration when you launch your debug session and if it's not there when you try to connect, it's going to fail. 

    I've attached mine.  You should be able to run the dbgjtag with it.  I don't know how to tell you the exact place to put it for CCS because I'm not sure how the magic directory name is created.  But I think this may be the issue.  Is that directory read only or something?

    Regards,

    Dan

    4863.ccBoard0.dat

     

  • Hi Dan,

       Firstly, thank you for your help, this has been incredibly frustrating.  The directory you asked about does not exist, was not created.  Here is the output of the dbgjtag utility when used with the provided .dat file:

     


    C:\Program Files\Texas Instruments\ccsv5\ccs_base_5.0.3.00023\common\uscif>dbgjt
    ag.exe -f "C:\Documents and Settings\Brant\My Documents\Downloads\4863.ccBoard0.
    dat" -rv -S pathlength

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

    This utility has selected a 100- or 510-class product.
    This utility will load the adapter 'jioserdesusb.dll'.
    The library build date was 'Jan  3 2011'.
    The library build time was '22:22:34'.
    The library package version is '5.0.281.0'.
    The library component version is '35.34.29.0'.
    The controller does not use a programmable FPGA.
    The controller has a version number of '4' (0x00000004).
    The controller has an insertion length of '0' (0x00000000).
    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 FTDI FT2232 with USB interface.
    The link from controller to target is direct (without cable).
    The software is configured for FTDI FT2232 features.
    The controller cannot monitor the value on the EMU[0] pin.
    The controller cannot monitor the value on the EMU[1] pin.
    The controller cannot control the timing on output pins.
    The controller cannot control the timing on input pins.
    The scan-path link-delay has been set to exactly '0' (0x0000).

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

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

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

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

     

    So, it looks like the emulator and driver are working, otherwise I'm assuming the test would not have succeeded. This appears to be a CCS issue.  Is there a patch or upgraded version of CCS that I should try?

    Thanks,

    -Brant

  • Brant,

    No problem.  These issues have been quite frustrating for me, also.  We've seen a number of customers get the error that you are getting, but this is the first time I've tracked it to not being able to create the board.dat file.

    You're using CCS 5.0.3, right?  That's the most recent version, and that's the one that I'm using.  It should work out of the box, without any patches, etc. If you need 5.0.3, you can get it here

    Windows: http://software-dl.ti.com/dsps/forms/self_cert_export.html?prod_no=setup_CCS_5.0.3.00028.zip&ref_url=http://software-dl.ti.com/dsps/dsps_public_sw/sdo_ccstudio/CCSv5/CCS_5_0_3/

    Linux: http://software-dl.ti.com/dsps/forms/self_cert_export.html?prod_no=setup_CCS_5.0.3.00028.tar.gz&ref_url=http://software-dl.ti.com/dsps/dsps_public_sw/sdo_ccstudio/CCSv5/CCS_5_0_3/

    Yes, your test results are exactly what I would have expected for a working board.

    Can you check/try try a few things....

    FYI, these are assuming WIndows XP, which I believe you said you were using....

    At what point of the following path does the directory not exist?  I've got to assume that up to the "Application Data" folder does exist.  Is the .TI folder there?  If it's not, can you create it, and then try to re-launch?  Also, try creating a directory inside the .TI folder, just to make sure you can.

    C:\Documents and Settings\<user account>\Local Settings\Application Data\.TI\<CCS instance #>\0\BrdDat\ccBoard0.dat

    Another thing you might do is delete the existing target configuration and then create it again. 

    Please let me know the results and we'll go from there. 

    Regards,
    Dan


  • Hi Brant,

    please make sure nothing is connected to the 60 pin JTAG Header next to the DSP when using the on-board emulation.

    Kind regards,

    one and zero

  • Hi Dan, 

       Thanks once again for helping me troubleshoot this issue.   Originally it did not look like the path to the .dat file existed, I only found it once I enabled the viewing of hidden folders.  Secondly, the entire directory was set to read only.  I unhid the directory and reset the permissions for reading and writing and I can now connect to my eval board via the onboard emulator.  To answer your other questions:

       No there is nothing connected to the 60 pin JTAG header.

       I installed the version of CCS that came with the DVD accompanying the evaluation board.  It is CCS 5.0.3

       I am going to attempt to debug/profile a simple fibonacci sequence on the DSP and I'll let you know if I have any further problems.  Thanks again for your help. 

    -Brant

  • Brant,

    That's great news.  Just curious...I know you said you had problems on Linux also.  Not sure what the analogous path is on Linux.  Do you think this was a similar issue there?

    Regards,
    Dan

     

  • Hi,

    It is quite possible, I haven't been able to connect to the emulator from either device, although I know I can re-program the flash using the built in command line utilities, which supposedly make use of the xds100.  If anyone could help me troubleshoot the Linux system that would be fantastic.  We've done the majority of our development in a Linux environment and now we're working on a port to the C6678, so using our current WindowsXP setup is sub-optimal.  I have to migrate our project to the new OS and then test the build environment, which appears to need a number of additional utilities installed.

    I tried using the dbgjtag utility on my Linux machine with the provided .dat file, but the utility does not recognize the file as a valid configuration file.

    Thanks, 

    -Brant

  • It makes sense that this .dat file would not work on Linux.  It points to a windows .dll.  you might try editing the Board.dat file and changing line 3 from

      pod_drvr=jioserdesusb.dll

    to

      pod_drvr=jioserdesusb.so

    And then trying the dbgjtag utility again. I'm not 100% sure that this will work, but it might.

    When you launch the debug session on Linux CCS, does it create this file anywhere on your file system? Let's pursue this initally as if it's the same as on windows.

    Regards,

    Dan

  • Hi Dan, 

       Gave your suggested fix a try to no avail.  The dbgjtag utility does not appear to recognize the .dat contents.  Here's the output:

     

    $ ./dbgjtag -f ./4863.ccBoard0.dat  -rv -S pathlength 

     

    The [-d/-F] or [-X] options were not used.

    This utility requires an emulator program or adapter file.

    The board configuration file either did not name it at all,

    or the named file was not found or lacked read permission.

     

    The features of this utility are explained in the

    [-h] option's brief help and the documentation.

    So, still no idea if the Linux system will connect to the emulator properly, although I can reflash the system using the provided nand.bin images that came with the system.  I'm going to mark this thread as answered and open another thread regarding the Linux issues.  Thanks for your help Dan. 
    -Brant