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: New XDS110 unable to update firmware

Other Parts Discussed in Thread: TMDSEMU110-U, UNIFLASH

Tool/software: Code Composer Studio

I purchased a new XDS110 (TMDSEMU110-U) for a friend. After connecting it to the target board and try to upload code through CCS, CCS prompts to update firmware for XDS110. So, I clicked "Update" button to proceed. But the dialog hangs. I found I have to unplug the USB cable to release it. Then, I try to update firmware on console, but got error DFU_ERR_UNSUPPORTED (-5). I have tried many times under both Windows and macOS. The result is the same. Here is the console output. Does anyone have idea?

xdsdfu -m

USB Device Firmware Upgrade Utility

Copyright (c) 2008-2015 Texas Instruments Incorporated.  All rights reserved.

Scanning USB buses for supported XDS110 devices...

<<<< Device 0 >>>>

VID: 0x0451    PID: 0xbef3

Device Name:   XDS110 Probe with CMSIS-DAP

Version:       2.3.0.5

Manufacturer:  Texas Instruments

Serial Num:    00000000

Mode:          Runtime

Switching device into DFU mode.

xdsdfu -f firmware.bin -r

USB Device Firmware Upgrade Utility

Copyright (c) 2008-2015 Texas Instruments Incorporated.  All rights reserved.

Scanning USB buses for supported XDS110 devices...

Downloading boot_loader.bin to device...

Error DFU_ERR_UNSUPPORTED (-5) reported during file download

  • Hello Robert,
    Sorry for the delay. he have brought this thread to the attention of our emulation expert.

    Thanks
    ki
  • Thanks ki,

    I just find a way to fix it.

    I have tried the following methods:
    (1) xdsdfu can't work as described above.
    (2) Use XDS100v3 JTAG + LM Flash Utility. I download the utility from TI website. I open the XDS110 housing and connect XDS100v3 probe to the inside JTAG connector. But LM Flash Utility can not recognize XDS100v3. So, this method is failed.
    (3) Use CCS to update. XDS100v3 probe is connected as in (2). It can connect to target TM4C. boot_loader.afx can be downloaded to TM4C. Then, I disconnect XDS100v3 and unplug/plung USB again. Nothing changed... it is still failed.

    I know the hardware should be fine since it can be identified when USB is connected. But there must be something wrong with the firmware. So, I must find a way to update both the boot loader and firmware together. I remember TI has provided other flash programmer. So, I search and find UniFlash.

    I download UniFlash and connect XDS100v3 to the JTAG header inside XDS110. On the UniFlash UI, I choose files boot_loader.bin with address 0x0000 and firmware.bin with address 0x4000. Execute it, then disconnect XDS100v3 JTAG, then unplug/plug USB. This time it works. That's great!

    *** Since this XDS110 is newly purchased but DOA, I think the production quality is not well controlled. I would like to suggest TI to ensure the XDS110 can be updated before shipping.

    *** I also have a suggestion about the back channel UART port. So far, it is connected to the AUX port. Honestly speaking, this is not good because I have to jump wires for it to work. The actual boards using SimpleLink MCU are usually very small. It is not feasible to put two connectors (one for JTAG and one for AUX) on the board. For XDS100v3 or XDS200, the UART port is allocated on the EMUx pins. I think it will be better if the next version of XDS110 can also connect UART to the EMUx pins by. This can be done by 0R resisters for user to choose. After fixing this XDS110, I also jump wires (inside XDS110) from AUX.GPIOIN0 to AUX.UARTRX and AUX.GPIOIN1 to AUX.UARTTX. GPIOIN0 and GPIOIN1 are also connected to EMU2/3 on JTAG port. So, now I can use UART port with the JTAG connector.
  • Robert,

    I am sorry to hear about the issues and thank you for sharing the procedure you followed. A few comments:

    Robert Chen said:
    *** Since this XDS110 is newly purchased but DOA, I think the production quality is not well controlled. I would like to suggest TI to ensure the XDS110 can be updated before shipping.

    Which version of CCS are you using? The reason I am asking is because the TI emulators component that is supplied with release 7.x is fully compatible with the standalone XDS110 debug probe. For CCSv6.x, you need to update this component under penalty of bricking it.

    In your case, if you are using CCSv7.x then this scenario is rather unusual; we haven't seen any other reports of units bricked by this version, but defects can exist and therefore you can always issue a RMA to replace the unit. 

    Regarding the firmware, the units are stocked in batches that host the most up-to-date firmware available at the time of manufacturing - unfortunately it is impossible to keep the firmware updated at the time of the sale.

    Robert Chen said:
    *** I also have a suggestion about the back channel UART port. So far, it is connected to the AUX port. Honestly speaking, this is not good because I have to jump wires for it to work. The actual boards using SimpleLink MCU are usually very small. It is not feasible to put two connectors (one for JTAG and one for AUX) on the board. For XDS100v3 or XDS200, the UART port is allocated on the EMUx pins. I think it will be better if the next version of XDS110 can also connect UART to the EMUx pins by. This can be done by 0R resisters for user to choose. After fixing this XDS110, I also jump wires (inside XDS110) from AUX.GPIOIN0 to AUX.UARTRX and AUX.GPIOIN1 to AUX.UARTTX. GPIOIN0 and GPIOIN1 are also connected to EMU2/3 on JTAG port. So, now I can use UART port with the JTAG connector.

    Thanks for the suggestion. We understand the space constraints of an extra connector, but our option is to maintain the compatibility with the existing JTAG connector standard as most as possible (we can't speak for the design modifications done by the third party XDS100v3 or XDS200). Taking this into consideration, we opted to instead provide the Aux breakout board so customers can use flying wires to their board and have the complete set of auxiliary functions available. 

    One additional detail is that, if in the future we opt to incorporate the change you proposed, we would need to gather a few additional changes to go through the process of re-certification of the XDS110.

    All in all, thanks again for your comments. They are always appreciated. 

    Regards,

    Rafael