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.

USB 3.0 Stellaris ICDI Compatibility issues?

Other Parts Discussed in Thread: TM4C123GH6PM, LM3S1918

Hello,

I've recently been evaluating the Tiva Cortex M4 parts. I've downloaded the following during my installation (Windows 7 64 bit): CCS5.5.0.00077_win32.zip, SW-DK-TM4C123G-1.1.exe, TM4C123GLaunchPadWorkshopSetup.exe.

I had been going through the workshop on my home machine and ran into only a few minor issues (qs-rgb example doesn't exist, tm4c123gh6pm.h doesn't exist, USB dev bulk example fails to enumerate). Overall the workshop was very helpful.

I had one final lab (15 PWM) to go through and tried to perform it on my work machine. I noticed the following error messages kept on popping up while downloading/debugging (which was slow and barely functional): 

CORTEX_M4_0: Trouble Reading Register PC: Timed out while waiting for target powerup/polling a hardware resource.
CORTEX_M4_0: Trouble Writing Memory Block at 0x400fd0fc on Page 0 of Length 0x4: Timed out while waiting for target powerup/polling a hardware resource.
CORTEX_M4_0: Trouble Reading Register SP: Timed out while waiting for target powerup/polling a hardware resource.
CORTEX_M4_0: Error: Timed out while waiting for target powerup/polling a hardware resource.

CORTEX_M4_0: Can't Single Step Target Program: Timed out while waiting for target powerup/polling a hardware resource.

I did a full reinstall of the 3 programs listed above (CCS, TivaWare and the workshop) on my work machine with no success.

On a whim, I tried switching the launchpad from the USB 3.0 port to the USB 2.0 port. It worked! As an aside, I'd only been using the USB cable supplied with the launchpad, so it shouldn't be an issue with USB extension cables.

This is interesting as the launchpad worked just fine from my home machine through a USB 3.0 port.

Anyways I thought I would make a note so that the dev team can hopefully take a look to see if they have any USB 3.0 compatibility issues with the Stellaris ICDI Drivers.

On my work machine, in USB View, the USB 3.0 is listed as "ASMedia XHCI Controller" with no other devices attached. The USB 2.0 is listed as Intel(R) C600/X79 series chipset USB2 Enhanced Host Controller" with many other devices attached. Both are root hubs on the motherboard.

Thanks

jgros

  • Probably is the power or current your Usb Port is able to deliver.... check it out!!

  • I am not an expert on USB. My understanding is the following:

    1. USB 2.0 allows 500 mA for each port on the hub. USB 3.0 allows 900 mA for each port on the hub.

    2. The amount of power delivered is determined during enumeration (or during certain events such as suspend).

    While I thought it would be unlikely that USB 2.0, with lower available power, would work, while USB 3.0 would not, I thought it was interesting to take a look anyway.

    I did a quick search and found this link: http://www.techrepublic.com/blog/10things/10-things-you-should-know-about-usb-20-and-30/1265

    According to this link, there are different power configurations for power in USB 3.0: suspended (150 mA), unconfigured (150 mA), configured Low power (150 mA), configured high power (900 mA).

    In USBView, if I plug the launchpad into the USB 2.0 port and then the USB 3.0 port, the descriptor information is the same, they are configured as bus powered, and have a max power listed as 250 mA.

    I know from following the hibernation lab that the micro doesn't use more than 30 mA running full tilt. The debug section of the launchpad has another Tiva, so we could round up to 100 mA total for the entire launchpad. We shouldn't ever exceed the 250 mA limit.

    Perhaps the hub puts the device into suspend and the device doesn't listen? Perhaps my USB 3.0 hub was poorly implemented? Who knows?

  • Hi,

    I am experiencing a similar issue with the Tiva TM4C1294 launchpad. I was struggling to get it to program another processor (the LM3S1918) via the JTAG port using the LM Flash program. It would program about 7-50% of the code and then give me a programming error 0x1. I found that it was only my USB 3.0 ports that did this. My 2.0 ports work just fine. Any chance you were using a Dell Latitude E6530 laptop like I am? My co-worker has the same computer and it does the same thing to him. Here is the post I put up on the forum if you are interested...

    LMFlash Error 0x1 using TM4C1294 to program LM3s1918

    -re

  • I don't know much about TI's USB implementation but I do understand the USB 3.0 specification pretty well.

    When one of these boards is plugged into a USB 3.0 port, the XHCI chip in the laptop is operating in USB 2.0 compatibility mode. One side effect of this is that the max power it will supply is the max according to the USB 2.0 standard (500 mA).

    Another essential bit to understanding USB 3.0 is that the XHCI has an internal microcontroller running its own firmware. When comparing results from one laptop to another, it's important to know that because even if they have identical XHCI chips they most likely have different firmware.

    I can't count the number of times I've seen XHCI firmware bugs. It seems I'm cursed, but I have about a 10% success rate on computers I've used with USB 3.0 ports - I'm only ever connecting USB 2.0 and USB 1.0 devices to it, for what it's worth.