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.

For the TI Starterware USB team

Other Parts Discussed in Thread: OMAP-L138

I hear there's a new version of Starterware to be released mid-June.  I'm delighted to hear that, (as I've been struggling to get the USB working on the C6748/OMAP-L138 for two years!)

I wanted to convey my hopes for the new Starterware USB package.

1)  Hide the tedious details about USB.  I don't want to know about USB!  I don't want to do a three month research project into USB.  I've read the International USB spec till I'm cross-eyed, (and it didn't help.....).  At this point, I want to know about USB as little as possible.  I need to do signal-processing, and the USB has turned into a big obstacle to what I really need to get done.  It's been a huge, two-year headache!

2)  Expose and document more of what I really need to know about the Starterware USB package, because the USB peripheral is one of the most complex peripherals to use. One problem with the existing Starterware USB documentation is that it focuses intensely (almost exclusively) on the function calls -- as if interfacing with the function calls is all we need to know.  It fails to give any meta-understanding, or overview, into how those functions are to work together. For example, there are "devices" and "hosts", plus various "classes", plus "composite devices", plus the capacity for "multiple USB controllers" in the same system. It forms a bewildering array of possibilities, and the documentation gives little insight into how to handle it.  My own application intends to use the HID class (Human Interface Device), which is the simplest class to use. Yet the documentation gives little information on how to accomplish that simple goal.  I am left to read through gobs of TI source code, and deeper subroutines, trying to figure out how the various functions are interacting. I am overwhelmed.

3) Of special importance is error handling.  A Starterware USB function will signal when an "error" has occurred, but there is no discussion of what I'm supposed to do about it!  Or how I'm supposed to handle it.  I'm left completely in the dark.  And I have no confidence that my guesses at error handling will be sufficient. I have no confidence that the Starterware USB system will properly recover from my handling of the error.  I need TI guidance in the matter.  Something like this:  "If error Q occurs, you can choose to handle it with X, and the Starterware USB is guaranteed to recover. Or, there are options Y, and Z...." etcetera.  We need more insight into how we are to properly use the Starterware USB package.

4) I hear that deep down in the bowels of the Starterware USB package is the ability to DMA data in-and-out of memory -- to-and-from the USB port. While not absolutely essential to my project, DMA is a useful possibility.  But once again, the Starterware USB documentation is mute on the matter.  The information seems buried in the function calls somewhere, but I can't make any sense of it.

5) Debugging -- Debugging USB is different from other kinds of debugging.  Or so I hear. I need some insight or reassurances from TI on the matter. Insight such as, "To debug, remember to do this....." Or, "Don't try this......."  Or reassurances, such as, "You won't have to worry about debugging X, because the Starterware USB package already works for that. But you might need to worry about Y and Z, and whether you've set those up properly...."

6) The existing Starterware USB examples are nearly useless. Who in their right mind will use their high-tech 300 Mega-Hertz DSP board to monitor mouse clicks and keyboards?  Or as a file server?  (Those are the existing examples!) Hardly anyone will do that. The whole point is to process DSP data, so we need a way of getting DSP data in-and-out at high speeds.  Thus the USB port!  Like many people here, I need to move a delimited block of memory (say, a delimited block of 200 bytes), to-and-fro across the USB port.  There's hardly anything simpler to do with a USB port.  How about supplying that kind of example -- a useful example?

7) Errata -- The existing Starterware USB software contains many software bugs. So many, I eventually lost confidence with it.  Hopefully the next Starterware package will be error-free!  But perhaps that's hoping too much...  Perhaps this next time around, there's a central place where TI can post the Starterware's known errata.  ??  That way, we users won't be left waiting in the dark for the "next version" to come out.  Rather, if centrally posted somewhere, we user's could make the recommended patches to our software, and continue onward without having to wait for the next version.

  • Hi Walter,

                 Thanks for the feedback. Just to keep you informed, the StarterWare release in June is planned for AM335x and not for OMAP-L138. You comments are still applicable for new AM335x. We address your commnets one by one. Currently we are working on error handling part.

                Also we are updating the known issues (atleast the issues we are aware of) in release notes.

    Regards

    Baskaran