Hello, I have some comments to make about the USB Dev Pack
- The IAR parts of USB_API are NOT compilable with IAR Kickstarter 5.60.1
- 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))
- I am using the MSP430F5510 on the OLIMEXINO-5510 Board,
- 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.
- The RAM based BSL also uses the same PID/VID and also works fine.
- 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.
- 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).
- The HID device does NOT get enumerated in WIN7 either. Although the BSL does?? WHY!?
- 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)
- I read almost all forum entries about VDO etc. and tried them all, with enabling, disabling, you name it.
- 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:
- Why is it NOT possible to have multiple endpionts??? I need that for my project.
- Why are the samples NOT working?
- 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.
- Why is CDC absolutely NOT working?
- 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.
- 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