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 HID and CDC Examples from MSP430USBDeveloperPackage_4_00_00 NOT WORKING

Other Parts Discussed in Thread: MSP430F5510

Hello, I have some comments to make about the USB Dev Pack

  1.  The IAR parts of USB_API are NOT compilable with IAR Kickstarter 5.60.1
  2. The examples are only compilable with the absolutely newest CCS 5.5.0.00077 (thanks for NOT writing that in the driverlib html help or anywhere (except in one post in the forum))
  3. I am using the MSP430F5510 on the OLIMEXINO-5510 Board,
    1. the BSL enumerates fine on Windows 7 with the HID interface. The Dev-manager tells it is a HID-compatible input device, and the communication works fine.
    2. The RAM based BSL also uses the same PID/VID and also works fine.
    3. Next step: I want to make a main firmware with 2 CDC endpoints. I used the DevPacks USB descriptor tool to generate the descriptors, as base for the project I took the CC1 example. After almost a week of playing around bringing windows to enumerate two endpoints I gave up. It is absolutely NOT possible with the generated .inf files to have more than ONE endpoint. Also when only one endpoint is enumerated there is still a yellow triangle next to the COM port in the device manager with error code (10) reported. The port is also not accessible with hterm or any other UART tool. I also tried to generate a inf and descriptors with only 1 CDC, also NOT working. I tried several different PIDs.
    4. Next step: I tried to fall back to HID interface because it obviously works with the BSL. So I took my program and made with the descriptor tool a HID endpoint. (Base to my program was this time a HID example).
    5. The HID device does NOT get enumerated in WIN7 either. Although the BSL does?? WHY!?
    6. Next Step: I tried example H2, compiled it with CCS 5.5.0.00077 and loaded it into the flash. Also, same behaviour! NO enumeration at all, the only thing Windows tells me that it has a "unrecognized device". (also altering the PIDs)
    7. I read almost all forum entries about VDO etc. and tried them all, with enabling, disabling, you name it. 
    8. I debugged the startup of the main program with JTAG and the device is waiting approx. 1 second for enumeration-> windows tells again "Unknown device"-> msp suspends and goes to sleep mode. This also happens without the debugger connected.

Questions:

  1. Why is it NOT possible to have multiple endpionts??? I need that for my project.
  2. Why are the samples NOT working?
  3. I suggest there is a big bug in the desciptor generation or in usbISR, because the descriptor type differs in the BSL (using HID)  and the ISR is built up differently, maybe there is a timing problem or a sequence problem.
  4. Why is CDC absolutely NOT working?
  5. What is the difference between TI-BSL enumeration and enumeration with the descriptor-tool generated code. Obviously there is one, one is working,the other not. 
  6. Why does the TI BSL only fit into the BSL flash with IAR compiler set to maximum optimization and code removed? (How do YOU compile it to have all code in it that gets included when choosing FLASH based BSL?)

Please understand my frustration, I have schedules to keep, and I am wasting a lot of time debugging "examples" and they show that all the stuff concerning USB is NOT working!!! I only want to use some basic USB data transfer via HID or CDC but even this "simple" task can not be accomplished.

regards

  • Hello Martin,

    We are sorry you are frustrated.  I am looking into this for you.

    Regards,

    Arthi

     

  • Hello Martin,

    In regards to your questions:

    1. Multiple endpoints can be generated using the Descriptor Tool.  There are also examples of composite
    devices in the USB developers package.  For detailed instructions on how to create the endpoints,
    in the descriptor tool, please refer to Sections 5.5 to 5.8 in the Programmers_Guide_MSP430_USB_API.pdf.
    Can you please tell me at which step in the listed directions you are having problems.

    2. You are correct that the existing USB examples do not build with IAR kickstart.  The object code
    of the examples are more than 8K in size whereas IAR kickstart will only handle applications that are less than
    8K. So for large code size, licensed IAR can be used.

    3 - 8: I am still looking into these items.  Will have an update soon.

    Regards,

    Arthi

     

  • Hello,

    ad 1.) I do not have a problem using the descriptor tool to generate a descriptors.c/.h and UsbIsr.c and a .inf file. The problem is ( as described in my first post) that the output files seem not to work--> the device does not enumerate.

    Additional Information:

    - The Olimexino Board I use has a Revision D MSP430F5510 on it and I have seen that Revision G is the current one, can this be a problem?? In some other forum posts people seem to have problems with older revisions.

    - I think I am narrowing down the problem to the USB startup procedure in the examples (and also my program, which is based on one of the examples). I will try to completely start up the USB block as it is done in the BSL, maybe that helps.

    regards.

  • Martin Mayer said:
    What is the difference between TI-BSL enumeration and enumeration with the descriptor-tool generated code. Obviously there is one, one is working,the other not. 

    IIRC, the BSL tries to detect the available crystal frequency (limited to a few 'allowed' values) to program the USB controller properly.
    Maybe the demo code doesn't and assumes a different crystal frequency than your board has. Then the PLL of the USB controller is misconfigured and the device cannot properly communicate/enumerate.

    Just a guess :)

  • Hello Martin,

    I used the descriptor tool packaged in the USB Developers package to create two CDC endpoints for the CC1_term2term example. I was also able to enumerate and communicate between the two ports.  This test was performed on the MSP-TS430RGC64USB development board with the MSP430F5510 Rev C controller.

    As far as why you might be having problems might have to do with the OLIMEXINO-5510 Board or it might be a step that was overlooked while creating and installing the CDC driver.

    As Jens states, while creating the endpoints using the descriptor tool, if the correct crystal frequency is not selected, then enumeration problems will occur.  Also if a yellow triangle next to the COM port in the device manager is seen then it might be that the driver still needs to be installed.  If this is the case, on Windows 7, if you right click on the COM port with the yellow triangle and select to 'Update Driver Software'  and then select the folder where the newly created .inf file resides, windows should properly install the driver.

    Regards,

    Arthi

     

  • I am also experiencing problem with installation of the CDC drivers from CH1_term2hidDemo example using MSP430USBDevelopersPackage_4_00_02

    When I try to install the driver providing manually the location I receive unknown error message, when providing directly the CH1_term2hidDemo.inf I receive error message that it is not compatible, and when using the next button with the list of compatible devices I receive Code 43! (e.g. tried all three windows drive installation procedures, to see what different error message I'll receive)

    I tried to create custom descriptor with the descriptor tool, but had same error messages.

  • Hello Timo,

    Can you tell me the operating system and device you are using?   The CH1_term2hidDemo.inf file is located in the .../examples/Composite_mulitpleInterfaces/CH1_term2hidDemo/USB_config folder.  When you manually install the inf file, select to install from that location.

     

    Regards,

    Arthi

     

  • I have MSP-TS430PZ100USB board (Rev. 1.25) with X430F6638 microcontroller (Rev. A)

    Operating system is 64 bit Windows 7 Enterprise SP1

    IDE CCS v.5.5.0.00077 and library MSP430USBDevelopersPackage_4_00_02

     

    I know where are the config folders and tried to create those manually as already stated, but it still cannot install...

**Attention** This is a public forum