2
\$\begingroup\$

I am learning how to do USB communication with the MSP430F5529 Launchpad and trying to upload the CDC 1 LEDonOff Example from the MSP430 USB Developers Package provided by TI.

I am also following this guide specifically section 2.5.3 but when I plug in my launchpad I see the MSP Application UART and MSP Debug Interface but the third (MSP430-USB Example) doesn't show up under Other Devices with the yellow "bang", instead it shows up as "Unknown Device" under the USB Controllers Tab of device manager.

I tried right clicking it and manually installing the drivers by navigating to the USB_Config folder of the example I was on, but it doesn't install, instead windows says it already has installed the most up-to-date drivers.

This makes it impossible to use any USB communication examples because this occurs on every example I have tried.

How do I force the computer to install the right drivers and recolonize the device as the USB Example device?

EDIT: I discovered a strange symptom, the drivers install properly (manually) when I flash the device and try to run it outside of a debug session (just connected to the PC from USB) and the program runs as intended connected to my terminal program on my computer, but when I try to run it inside a debug session it will not install the device properly (even if I never set any breaks, just open debug session and hit run), it always shows up as "unknown device" in debug session, even now - after I have installed the drivers and windows remembers it outside debug session - it only works outside of debug session and shows up as "unknown device" inside a session.

\$\endgroup\$
5
  • \$\begingroup\$ You need manually install the USB driver or you failed to flash your device, these are the main possibillities. \$\endgroup\$
    – MathieuL
    Commented Aug 19, 2015 at 16:10
  • \$\begingroup\$ i discovered a symptom, the drivers install properly (manually) when I flash the device and try to run it outside of a debug session (just connected to the PC from USB), but when i try to run it inside a debug session it will not install the device properly (even if i never set any breaks, just open debug session and hit run. \$\endgroup\$
    – Aaron
    Commented Aug 19, 2015 at 16:19
  • \$\begingroup\$ When you're in a debug session, is the code actually running? \$\endgroup\$
    – CL.
    Commented Aug 19, 2015 at 17:08
  • \$\begingroup\$ i step through it, it seems to be running, i put in some LED toggle statements in it and those work in debug. \$\endgroup\$
    – Aaron
    Commented Aug 19, 2015 at 17:10
  • \$\begingroup\$ @Aaron Sure the LED will blink, but your USB will not be working \$\endgroup\$
    – MathieuL
    Commented Aug 19, 2015 at 18:31

1 Answer 1

1
\$\begingroup\$

From your comment, I got what your problem. Your launchpad only have 1 USB connector compare to a Launchpad like this. When you are running a debug session, the bus is converted to UART to talk with the FTDI chip and the programming MCU therefore you cannot run a USB application at the same time with the example TI give you. When you just connect your launchpad, Window do a enumaration of your board and therefore the LP is detected as USB device and the application work fine. So in fact the example are working. If you want to debug & use the usb bus at the same time, it will require a lot of work, because you will have to develop code that share the bus alternatively between code composer and the USB application.

\$\endgroup\$
5
  • \$\begingroup\$ this makes so much sense. Thanks for the explanation, i guess im going to have to use the good ol' 'print statements to screen' debugging method when i need to debug applications that use the usb port. \$\endgroup\$
    – Aaron
    Commented Aug 19, 2015 at 19:42
  • \$\begingroup\$ i've discovered that if i start the debugger and hit the run button immediately without any breakpoints it will occasionally work, but if i ever hit hault or make a break point or anything it stops working (even if i remove the breakpoint or resume from hault). is this because the debugger isn't activated until there is a break or command? \$\endgroup\$
    – Aaron
    Commented Aug 19, 2015 at 19:54
  • \$\begingroup\$ @Aaron For that kind of precise on the internal function of code composer, I would recommend you visit TI forums in the code composer section \$\endgroup\$
    – MathieuL
    Commented Aug 20, 2015 at 0:27
  • \$\begingroup\$ @Aaron The simplest option right now is to "manually" check and debug your board more than using the debugger. \$\endgroup\$
    – MathieuL
    Commented Aug 20, 2015 at 12:59
  • \$\begingroup\$ yes i think thats the only option i have really \$\endgroup\$
    – Aaron
    Commented Aug 20, 2015 at 15:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.