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/EK-TM4C1294XL: Target Configuration "Test Connection" can update TMDSEMU110-U firmware without prompting

Part Number: EK-TM4C1294XL
Other Parts Discussed in Thread: TMDSEMU110-U, TM4C1294NCPDT

Tool/software: Code Composer Studio

During the investigation into TM4C1294NCPDT: Input GPIO drives low during reprogram have been using a EK-TM4C1294XL connected to a TMDSEMU110-U, and changing between different CCS / TI Emulators versions under Ubuntu to try and identify which software versions cause the "odd" behaviour noted in the thread.

Initially I was getting confused why when switching versions that didn't always get a prompt to update the XDS110 firmware, but on subsequent investigation found that the Target Configuration "Test Connection" option updates TMDSEMU110-U firmware without prompting. E.g. the following sequence:

1. Start with CCS 9.0.1.00004 with TI Emulators 8.2.0.00004 com.ti.emulation.pack.linux.feature.group.

2. Using CCS 9.0.1 debug a TM4C1294NCPDT program using a TMDSEMU110-U. There was no dialogue about needing to change the XDS110 firmware. xdsdfu -e reports the XDS110 firmware version is 3.0.0.2.

3. Switch to CCS 9.2.0.00013 with TI Emulators 8.3.0.00003 com.ti.emulation.pack.linux.feature.group and attempt to debug a TM4C1294NCPDT program. Get the following dialogue:

Select Cancel on the dialogue. xdsdfu -e reports that the XDS110 firmware version is still 3.0.0.2.

4. On CCS 9.2.0 on the Target Configuration select "Test Connection". The Test Connection passes. There was no dialogue asking if the XDS110 firmware should be updated, but the Test Connection output contains the text "Updating the XDS110 firmware ... complete":

[Start: Texas Instruments XDS110 USB Debug Probe_0]

Execute the command:

%ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -S integrity

[Result]


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

/home/mr_halfword/.ti/ccs920/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 'libjioxds110.so'.
The library build date was 'Aug 26 2019'.
The library build time was '13:12:35'.
The library package version is '8.3.0.00003'.
The library component version is '35.35.0.0'.
The controller does not use a programmable FPGA.
Updating the XDS110 firmware ... complete.
The controller has a version number of '5' (0x00000005).
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 XDS110 with USB interface.
The link from controller to target is direct (without cable).
The software is configured for XDS110 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 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.
Scan tests: 2, skipped: 0, failed: 0
Do a test using 0xFE03E0E2.
Scan tests: 3, skipped: 0, failed: 0
Do a test using 0x01FC1F1D.
Scan tests: 4, skipped: 0, failed: 0
Do a test using 0x5533CCAA.
Scan tests: 5, skipped: 0, failed: 0
Do a test using 0xAACC3355.
Scan tests: 6, skipped: 0, failed: 0
All of the values were scanned correctly.

The JTAG IR Integrity scan-test has succeeded.

-----[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.
Scan tests: 2, skipped: 0, failed: 0
Do a test using 0xFE03E0E2.
Scan tests: 3, skipped: 0, failed: 0
Do a test using 0x01FC1F1D.
Scan tests: 4, skipped: 0, failed: 0
Do a test using 0x5533CCAA.
Scan tests: 5, skipped: 0, failed: 0
Do a test using 0xAACC3355.
Scan tests: 6, skipped: 0, failed: 0
All of the values were scanned correctly.

The JTAG DR Integrity scan-test has succeeded.

[End: Texas Instruments XDS110 USB Debug Probe_0]

After the Test Connection xdsdfu -e shows that the XDS110 firmware has been updated to version 3.0.0.5.

5. Using CCS 9.2.0 debug a TM4C1294NCPDT program using a TMDSEMU110-U. Unlike step 3 there is no dialogue to ask if the XDS110 firmware should be updated, since was done automatically by the Test Connection in step 4.

Given that when starting a debug session that the user is prompted with a dialogue asking for confirmation if the XDS110 firmware needs to updated, for consistency should the Test Connection also prompt the user rather than automatically updating the firmware?

  • Chester Gillon said:
    Given that when starting a debug session that the user is prompted with a dialogue asking for confirmation if the XDS110 firmware needs to updated, for consistency should the Test Connection also prompt the user rather than automatically updating the firmware?

    Something else is that after CCS 9.2.0.00013 with TI Emulators 8.3.0.00003 had updated the XDS110 firmware version to 3.0.0.5, if switch back to CCS 9.0.1.00004 with TI Emulators 8.2.0.00004 then the XDS110 firmware is left version 3.0.0.5 rather than being "downgraded" to version 3.0.0.2.

    Is there some logic about when the TI Emulators component considers it necessary to change the XDS110 firmware version?

  • Chester,

    Chester Gillon said:
    Is there some logic about when the TI Emulators component considers it necessary to change the XDS110 firmware version?

    Yes, I just added a snippet of text that explains the update logic to the section Updating the XDS110 firmware of the XDS110 page

    https://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_xds110.html 

    Hope this helps,

    Rafael

  • desouza said:
    Yes, I just added a snippet of text that explains the update logic to the section Updating the XDS110 firmware of the XDS110 page

    Thanks for the update.

    The Automatic update section contains:

    ...the firmware on the XDS110 is updated automatically when connecting from inside CCS

    As I tried to explain in the first post found that if:

    a. If the need for the update is detected when use the Test Connection the update is performed without first prompting the user.

    b. If the need for the update is detected when start a debug session then the user is prompted for confirmation to perform the update.

    Which doesn't seem consistent, so maybe worth also explaining that on the XDS110 page.

  • Chester,

    I added the note below to the automatic update process. 

    Regards,

    Rafael