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.

CCS/TMS320F28035: DPS Workshop EVM Debugger Issue

Part Number: TMS320F28035
Other Parts Discussed in Thread: TMS320F28069M, TMDSCNCD28035, TMDSCNCD28335

Tool/software: Code Composer Studio

My CCS keeps crashing when using DPS Workshop EVM in debug mode (TMS320F28035 card inserted). To make things worse I have to restart my PC every time as when I try to close and reopen the CCS the message "workspace in use or cannot be created" pops up.

I'm having no such issues with LaunchPadXL (TMS320F28069M).

I did notice that when I try to test the connection from "Target Configuration" window the LaunchPadXL returns all the proper responses while the DPS Workshop EVM doesn't. It still works fine for a while (10 mins to an hour) before freezing and crashing.

Tried comparing the USB-to-JTAG schematics of the two above mentioned modules: they are similar yet different enough. 

Here's the test connection log window :

[Start: Texas Instruments XDS100v1 USB Debug Probe_0]

Execute the command:

%ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity

[Result]


-----[Print the board config pathname(s)]------------------------------------

C:\Users\ie\AppData\Local\TEXASI~1\
CCS\ti\0\0\BrdDat\testBoard.dat

-----[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 'Apr 27 2016'.
The library build time was '23:27:56'.
The library package version is '6.0.228.0'.
The library component version is '35.35.0.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 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).

An error occurred while hard opening the controller.

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

This error is generated by TI's USCIF driver or utilities.

The value is '-150' (0xffffff6a).
The title is 'SC_ERR_FTDI_FAIL'.

The explanation is:
One of the FTDI driver functions used during
configuration returned a invalid status or an error.

[End: Texas Instruments XDS100v1 USB Debug Probe_0]

  • Hi Ivan,

    Sometimes jumping to a new workspace tends to take care of such issues. Try doing the same and let us know.

    Regards,
    Gautam
  • Yes, I tried that and still couldn't go back to the original workspace without restarting the PC.

    But this is not addressing the source of the problem anyway, what I'd like to understand is why the CCS crashes in first place and why the "Test Connection" doesn't work with this board.

  • Ivan,

    It sounds like the on-board emulator might be malfunctioning. Can you make sure that J1 (TRSTn) is populated in the main area, and that J5 (FT2232 RST) is not populated in the M2 zone?

    If you have a stand-alone emulator, you can unplug the USB cable from the board and use the JTAG header with the external emulator instead.

    -Tommy
  • tlee said:
    Ivan,

    It sounds like the on-board emulator might be malfunctioning. Can you make sure that J1 (TRSTn) is populated in the main area, and that J5 (FT2232 RST) is not populated in the M2 zone?

    If you have a stand-alone emulator, you can unplug the USB cable from the board and use the JTAG header with the external emulator instead.

    -Tommy

    Yes, I had those exact jumper settings.

    I also tried the standalone emulator (Spectrum Digital XDS510LC) and I can't even connect to the target.

    Error connecting to the target:
    (Error -151 @ 0x0)
    One of the FTDI driver functions used during the connect
    returned bad status or an error. The cause may be one or
    more of: no XDS100 is plugged in, invalid XDS100 serial number,
    blank XDS100 EEPROM, missing FTDI drivers, faulty USB cable.
    Use the xds100serial command-line utility in the 'common/uscif'
    folder to verify the XDS100 can be located.
    (Emulation package 6.0.228.0)

  • Ivan,

    Did you create a new target configuration for the XDS510LC + F28035 combination? The errors that you have shared are for XDS100, which is no longer valid if you are using an external XDS510LC.

    -Tommy
  • I did, but I forgot to set it as active. That's been fixed now and here's the error I'm getting.
    Of course I tried reseting etc ... it didn't work

    Error connecting to the target:
    Error 0x80000200/-2082
    Fatal Error during: OCS,
    Device driver: Emulation Connection Loss Detected on Target CPU.
    It is recommended to RESET EMULATOR. This will disconnect each
    target from the emulator. The targets should then be power cycled
    or hard reset followed by an emureset and reconnect to each target.
  • Ivan,

    Are the LEDs lighting up on the controlCARD when you power on the board?

    Is there a mini-USB port on your controlCARD? If so, that is the emulator to use.

    Can you set DIP switch SW2[0:1] = 0b01 so that the boot mode is WAIT? It can sometimes be difficult to connect when the device is executing out of flash.

    -Tommy
  • I guess we are back to USB not JTAG:

    Yes, the LEDs are lighting up.
    There is no mini-USB on the controlCARD, however there is a USB type B on the EVM - processors.wiki.ti.com/.../C2000_DPSWorkshop.
    DIP Switch SW2 was set to 0b01
  • Hi Ivan, Tommy,

    I'd recommend sticking with the use of the on-board emulator (vs an external emulator).  Unfortunately, I don't have a board to check - but I believe the isolator chips used on this design are either ISO722xB or ISO722xC.  These are fast enough for the on-board xds100v1, but we've seen that only the -M class isolators are fast enough to meet the timings required by some of the faster external emulators such as the XDS510.  You could slow down the emulator via the CCS target configuration settings, but I'd prefer us first focus on the on-board emulator.

    When the USB cable is connected up, do you see any xds100 entries in Device Manager?  This should help to split the potential issues in half, by telling us whether Windows is finding the right drivers.


    Thank you,
    Brett

  • I do see TI XDS100 Channel A and Channel B in Device manager..

    ISO 7240C is the isolator chip.

  • Ivan,

    I think we should continue using the external emulator that is known to be good.  For the mini-USB question, I was trying to confirm that you are not using the ISO version of the F28035 controlCARD -- the JTAG pins are not routed to the DIMM headers on that version.

    Are you able to connect to your same controlCARD using a DOCK?  This will eliminate the possibility of hardware damage on the controlCARD.

    Did the boot selection switches help?  We can also populate the J1 and J3 boot jumpers in the M2 zone to make the WAIT boot mode complete.

    If you still cannot connect, I would suspect a fault in the isolation path.  Perhaps the U5 and U6 devices.

    -Tommy

  • I don't have a DOCK, I only have the Workshop EVM.

    The external emulator I use is Spectrum Digital XDS510LC which works fine on my own designs.

    I will populate the J1 and J3 (Boot) on the EVM.

    To summarize the rest of settings:
    EVM:
    J5 is OUT.
    J1 is IN.
    J4 is IN (but probably irrelevant).

    283035 control card TMDSCNCD28035 release 1.2:
    SW2 Boot: 0b01 (pos 1 is ON, pos 2 is OFF)
    SW1: ON
    SW3: (irrelevant)


    I also have a 28335 control card TMDSCNCD28335 R elease 2.2 that I will try:
    What should SW1 and SW2 (4 pos) setting be on that one?
    Currently all ON.
  • Ivan,

    The jumpers look right to me.  I am in the same situation as Brett in that I do not have access to hardware and am working from schematics only.

    The WAIT boot mode is selected when:

    TDO/GPIO37 = High (TMDSCNCD28035 SW2-POS2)
    GPIO34 = Low (TMDSCNCD28035 SW2-POS1 and optional M2-J1 populated)
    TRST = Low (Emulator controlled through Main-J1 and pulled-down on TMDSCNCD28035)

    -Tommy

  • From what I can tell schematics appear to resemble the hardware.

    SW2-POS1 is GPIO34
    SW2-POS2 is TDO

    When ON it's high (820R pull up), when OFF it's low (3k3 pulldown).

    So there appears to have been some confusion as to which position should be ON and which OFF. Either way I tried both combinations, still doesn't work.

    Can you specify what should be the difference in jumper settings when on board emulator (EVM) is used versus external USB to JTAG?
  • Ivan,

    I believe that the only difference would be whether the USB-B cable is plugged in or not. When plugged in, the on-board XDS100 FT2232D is powered up and tries to control the JTAG signals.

    When unplugged, the on-board XDS100 FT2232D is powered off and an external emulator can be used to drive the signals. It would probably be good to populate M2-J5 when using an external emulator to make sure that the FT2232D is held in reset.

    -Tommy
  • I ordered a new EVM - apparently the last one anybody had in stock as this product is discontinued. Should be here on Fri. If it still doesn't work I'd gladly ship you one so you can check why.

    Thanks,

    Ivan