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.

Two XDS100v2 connected via USB 3.0

Other Parts Discussed in Thread: TUSB8040A, TUSB8040

Hello,

I faced into a problem when using two XDS100v2 which are connected to my PC via USB 3.0.

To be concrete, our SAFETI-HSK-RM48 kit has two XDS100v2 build in which are connected via a TUSB8040A hub (also on the board). When I connect the kit to the PC I can normally distinguish between the two XDS100v2 with their serial number (TIMON001 and TISAF001). This is working very well when the kit is connected to a USB 2.0 EHCI Controller, but not if connected to a USB 3.0 XHCI controller.

In the case the kit is connected to an XHCI controller CCS 6.0 will always connect to the XDS100v2 which is on the second port of the TUSB8040A hub (SN: TIMON001).

I couldn't find any differences in the Windows Device Manager between if the kit is connected to the EHCI or to the XHCI.

The xds100serial.exe tool shows me exactly the same output, no regards of the kit is connected to the EHCI or the XHCI:

0403/a6d0  XDS100v1/v2     TIMON001    Texas Instruments Inc.XDS100 Ver 2.0
0403/a6d0  XDS100v1/v2     TISAF001    Texas Instruments Inc.XDS100 Ver 2.0

One interesting point is, that the Windows Device Manager shows me different "Device Instance Path" and "Siblings" for the same emulator, regardless if the kit is connected via EHCI or XHCI. The following list should clarify what I mean, please compare the "Device Instance Path" and "Siblings" for the same ports. The "Device Instance Path" seems to be correct, but the "Siblings" seems to be inverted:

  • Device Instance Path
    • Port_#0001.Hub_#0009
      • USB\VID_0403&PID_A6D0\TISAF001
    • Port_#0002.Hub_#0009
      • USB\VID_0403&PID_A6D0\TIMON001
  • Siblings
    • Port_#0001.Hub_#0009
      • USB\VID_0403&PID_A6D0\TIMON001
    • Port_#0002.Hub_#0009
      • USB\VID_0403&PID_A6D0\TISAF001

Has somebody already tried such a setup with two XDS100v2 at a PC with USB 3.0?
Is there a workaround available?

Thanks,
Christian

  • Christian,

    There are some reports from customers that report a similar scenario as yours: USB3.0 and XDS100 emulators don't work well. I am not sure if a deeper analysis was already done, but I can verify tomorrow.

    Regards,

    Rafael

  • Hi Rafael,

    Thanks for looking in to this.
    A customer of mine originally reported this issue to me, it seems that newer Laptops don't have anymore external USB 2.0 connectors.

    Best Regards,
    Christian

  • Christian,

    the "Siblings" listing in the device properties dialog is correct, as it's just a list of all other devices connected to the same USB hub. So in this case, where only two devices are connected to the hub, the XDS100 with the other serial number is shown.

    Regards,
    Steve

  • Christian,

    Sorry, I was confused. Some folks reported issues between USB3.0 and XDS200 emulators, not XDS100.

    I see the TUSB8040 is a USB3.0 hub and unfortunately I don't have one here to test it myself.

    Regarding the serial numbers, I assume you are appropriately setting up the target configuration file (.ccxml) to properly discern between the two, is that so? If so, can you try to manually launch the debugger and connect to each XDS100 so you can get a more precise assessment about where in the connect/load/debug the error is occurring?

    Hope this helps,

    Rafael

     

  • Hi Rafael,

    I have simplified my setup and removed the TUSB8040. Instead of using a kit with two XDS100v2 on-board, I'm now using two independent kits (TMDSRM48USB and TMDX570LS31USB) connected to the same USB Root Hub at my PC.

    I have a program in these kits which flashes some LED's, so I can see to which kit I'm connected by simply Suspending the MCU.

    When I connect these two kits to a on-board USB 2.0 controller I can connect to the two kits independently, when I connect them to the PCIe USB 3.0 controller I'm only able to connect to one of the kits.

    So I assume my configuration is correct, as it works with USB 2.0 but not with USB 3.0.

    One additional point, as I'm not using a CCS project for these tests, but pure CCXML files, I'm always connecting manually to the targets.

    This should now be a setup which you can easily build up on your side. But please be aware, there are some Intel XHCI (USB 3.0) Controllers which have an additional EHCI (USB 2.0) Controller for the same physical USB plug at your PCI and these seem to switch to EHCI mode in case a USB 2.0 device is connected instead using the XHCI controller as my Renesas and newer Intel controller do. In the case these have switched to EHCI everything just works fine.

    Thanks,
    Christian

  • Christian,

    I filed the bug SDSCM00050444 today. You can check its status in the link SDOWP in my signature below.

    Since XDS100 emulators use FTDI's low-level device drivers (or the open source drivers in Linux hosts), it is possible the problem may be related to the way these drivers deal with USB3.0 ports - something we may or may not be able to fix.

    However my conclusions are preliminary. The developers will reach a more precise assessment.

    Regards,

    Rafael