TMS320F28388D: Eval board for TMS320F28388D gets unrecoverable -2131 error

Part Number: TMS320F28388D

I am using Eval boards for the TMS320F28388D and CCS v10.4. All four that I have get this -2131 error. I have gone through the process described here: https://e2e.ti.com/support/c2000-microcontrollers-forum/310311/error-connecting-target-2131-0x00-unable-to-access-device-register to no avail. Is there another way to get this target to talk to CCS again?

  • Joseph,

    The link you provided isn't working for me(get a page not found error), can you double check this?

    In terms of your debug, can you comment if this is the TMDSCNCDF28388D control CARD, or is this a custom eval board?  If we can't get the link above resolved, please attached a screen capture of your CCS error so I can see what's going on as well.

    Finally, if you could let me know which emulator you are using, and your settings in the .ccxml target file that would be helpful.

    Best,

    Matthew

  • This is a control card that I am using.

    The correct link is:

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/310311/error-connecting-target-2131-0x00-unable-to-access-device-register

    I am using the on board XDS100v2 USB/JTAG probe

    My ccxml file is:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <configurations XML_version="1.2" id="configurations_0">
        <configuration XML_version="1.2" id="configuration_0">
            <instance XML_version="1.2" desc="Texas Instruments XDS100v2 USB Debug Probe" href="connections/TIXDS100v2_Connection.xml" id="Texas Instruments XDS100v2 USB Debug Probe" xml="TIXDS100v2_Connection.xml" xmlpath="connections"/>
            <connection XML_version="1.2" id="Texas Instruments XDS100v2 USB Debug Probe">
                <instance XML_version="1.2" href="drivers/tixds100v2icepick_c.xml" id="drivers" xml="tixds100v2icepick_c.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2c28x.xml" id="drivers" xml="tixds100v2c28x.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2cla2.xml" id="drivers" xml="tixds100v2cla2.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2cs_child.xml" id="drivers" xml="tixds100v2cs_child.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2cs_dap.xml" id="drivers" xml="tixds100v2cs_dap.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2cortexM.xml" id="drivers" xml="tixds100v2cortexM.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds510ajsm.xml" id="drivers" xml="tixds510ajsm.xml" xmlpath="drivers"/>
                <platform XML_version="1.2" id="platform_0">
                    <instance XML_version="1.2" desc="TMS320F28388D" href="devices/f28388d.xml" id="TMS320F28388D" xml="f28388d.xml" xmlpath="devices"/>
                    <device HW_revision="1" XML_version="1.2" description="" id="TMS320F28388D" partnum="TMS320F28388D" simulation="no">
                        <router HW_revision="1.0" XML_version="1.2" description="ICEPick_C router" id="IcePick_C_0" isa="ICEPICK_C">
                            <subpath id="Subpath_1">
                                <property Type="numericfield" Value="0x11" desc="Port Number_0" id="Port Number"/>
                            </subpath>
                            <subpath id="CM">
                                <property Type="numericfield" Value="0x12" desc="Port Number_1" id="Port Number"/>
                            </subpath>
                        </router>
                    </device>
                </platform>
            </connection>
        </configuration>
    </configurations>

    Thanks for your help.

  • Joseph,

    I've C/P from the quick start guide(https://www.ti.com/lit/spruil8 ), I want to make sure we have made the required connections to both connect the emulator and power the control CARD.  Essentially the XDS100V2 is isolated for safety reasons, and plugging in only one USB(J1:A) to it will not power the device.  Conversely powering the board using the other USB connection(J3 or baseboard) will not give the emulation connection.

    After you confirm the below, please double click on the .ccxml to bring up its settings and then click "test connection" and attach that to your next post if there is still an issue, this will let me know if we are detecting the XDS100v2 or the issue is with communicating with the C2000 MCU

  • Thanks. I actually used both options (i.e. had all three USBs connected). I was also using a powered USB hub. I've since ordered USB isolation buffers per:

    Warnings, Notes, and Errata
    The F28388D controlCARD supports USB host/device connectivity. However, the micro-USB port, J3,
    is not isolated from the board ground. Care should be taken when this controlCARD is being used in a
    high-power application and this USB port is also being used. Note that external USB isolation buffers
    may be required for these types of applications.

    I had the same error with a Launchpad XL F280049C, which has only the USB micro.

    The Test Connection results were:

    [Start: Texas Instruments XDS100v2 USB Debug Probe]

    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\jform\AppData\Local\TEXASI~1\CCS\
        ccs1040\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 'Jun 25 2021'.
    The library build time was '11:45:30'.
    The library package version is '9.4.0.00129'.
    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).

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

    There is no hardware for programming the JTAG TCLK frequency.

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

    There is no hardware for measuring the JTAG TCLK frequency.

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

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

    The test for the JTAG IR instruction path-length failed.
    The JTAG IR instruction scan-path is stuck-at-ones.

    The test for the JTAG DR bypass path-length failed.
    The JTAG DR bypass scan-path is stuck-at-ones.

    -----[Perform the Integrity scan-test on the JTAG IR]------------------------

    This test will use blocks of 64 32-bit words.
    This test will be applied just once.

    Do a test using 0xFFFFFFFF.
    Scan tests: 1, skipped: 0, failed: 0
    Do a test using 0x00000000.
    Test 2 Word 0: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    Test 2 Word 1: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    Test 2 Word 2: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    Test 2 Word 3: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    Test 2 Word 4: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    Test 2 Word 5: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    Test 2 Word 6: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    Test 2 Word 7: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    The details of the first 8 errors have been provided.
    The utility will now report only the count of failed tests.
    Scan tests: 2, skipped: 0, failed: 1
    Do a test using 0xFE03E0E2.
    Scan tests: 3, skipped: 0, failed: 2
    Do a test using 0x01FC1F1D.
    Scan tests: 4, skipped: 0, failed: 3
    Do a test using 0x5533CCAA.
    Scan tests: 5, skipped: 0, failed: 4
    Do a test using 0xAACC3355.
    Scan tests: 6, skipped: 0, failed: 5
    Some of the values were corrupted - 83.3 percent.

    The JTAG IR Integrity scan-test has failed.

    -----[Perform the Integrity scan-test on the JTAG DR]------------------------

    This test will use blocks of 64 32-bit words.
    This test will be applied just once.

    Do a test using 0xFFFFFFFF.
    Scan tests: 1, skipped: 0, failed: 0
    Do a test using 0x00000000.
    Test 2 Word 0: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    Test 2 Word 1: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    Test 2 Word 2: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    Test 2 Word 3: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    Test 2 Word 4: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    Test 2 Word 5: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    Test 2 Word 6: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    Test 2 Word 7: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
    The details of the first 8 errors have been provided.
    The utility will now report only the count of failed tests.
    Scan tests: 2, skipped: 0, failed: 1
    Do a test using 0xFE03E0E2.
    Scan tests: 3, skipped: 0, failed: 2
    Do a test using 0x01FC1F1D.
    Scan tests: 4, skipped: 0, failed: 3
    Do a test using 0x5533CCAA.
    Scan tests: 5, skipped: 0, failed: 4
    Do a test using 0xAACC3355.
    Scan tests: 6, skipped: 0, failed: 5
    Some of the values were corrupted - 83.3 percent.

    The JTAG DR Integrity scan-test has failed.

    [End: Texas Instruments XDS100v2 USB Debug Probe]

  • It is also worth noting that in all cases, loading/debugging worked for a while (days/weeks), then I hit the error condition.

  • Joseph,

    For the LAUNCXL-F280049C, that uses a different emulator, XDS110 and also must be configured in CJTAG 2 pin advanced mode(in the advanced tab if you double click on its ccxml).  Just wanted to make sure that difference was known for the sake of the LaunchPad.

    Back to the controlCARD, this is an XDS100v2 as you've selected.  I'm not sure why the debugger would stop working after some time.  Assuming you are on a windows OS, can you bring up the device manager and with the control CARD emulation plugged into the PC, see if you observe the XDS100 enumerated in the device manager?  You should actually see 2 devices, one is the emulation bridge, the other is a UART backchannel to the C2000 SCI port.

    I want to make sure that the FTDI/EEPROM is still getting recognized as the XDS100 by the PC or not.

    Best,

    Matthew

  • Joseph, I'd advise to open a separate ticket on your LaunchPad issue. On the controlCARD, have you set the S1:A position 1 to ON to enable the JTAG connection to the MCU? 

  • Just got through one week with another of these TMS320F28388D eval boards. Yet another -2131 error. Was using a TeraTerm/SCIA serial connection. The application I have on it prints a small text menu. I got error -1135 in the debugger window. The serial port died. Powered down the USB hub to which the eval board is connected. It came back with the -2131 error. Is there a problem that can happen when using the serial port and debugger at the same time?

  • Joseph,

    There should not be any issue with using both in parallel.  Going back to my last post, have you been able to check that you see 2 enumerations in Windows device manager?  This will tell us if the FTDI device is loading its EEPROM correctly.

    Best,
    Matthew

  • Yes. In device manager it shows 2 named devices in Device Manager. I don't have the names with me this evening.

  • Joseph,

    Thanks for this, we know that they are showing up on the host PC then.  I'd like to attempt to reprogram the emulator following the instructions here https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/995663/tms320f28069m-how-to-program-eeprom-of-programmer-xds100v2

    Please use the reply with V2 instructions.  The final reply from me has process for V3.

    Best,

    Matthew

  • We have found that both 3.3v and 1.2v rails are shorted to ground. So, the failure to communicate error was not the actual problem, but rather a symptom. Do you have any insight on what would cause shorts like this?

  • Joseph,

    This sounds like EOS(Electrical Over Stress), they simplest answer is if any of the pins were overdriven above 3.3V; or if they were driven before the device had power.  There's always ESD damage, but this is less likely on the controlCARD vs a loose device, so I would doubt that here.

    Any thoughts on if the above may have occurred during your usage of the controlCARD? 

    Typically I've seen 3.3V shorted to ground in these situations, but not the 1.2V rail.  You could see if the fault is with the LDOs on the board that generate the 3.3V/1.2V from the 5V USB, this may not be very feasible, i.e. lifting pins of the LDO and supplying power externally.

    Best,
    Matthew