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.

RM46 LaunchPad USB questions

Other Parts Discussed in Thread: HALCOGEN

Good morning community.


I wonder if can i use the USB module in the Hercules RM46 launchpad?

and if possible someone could share a code example of using this!

  • Hi Martin,

    I'd say it's possible for someone w. your skill level, but it's a 'project'.

    The launchpads were not designed to support the on-board USB - mainly because the HDK's have USB support and the idea w. the launchpad was to make it more accessible / less expensive.

    So there are no USB transceivers on the launchpad. You would need an add-on board to add a USB transceiver for each port - that's a first step.

    The USB signals are spread across both booster pack headers, and there are a few signals on the side prototype headers. But I think you could probably just build an add on board that plugged into both booster packs and had a jumper wire or two for the remaining signals on the proto header. I think there is just one or two there.

    That's the easy part. Depending on what you want to do with USB the software is where the project really starts to get interesting.

    The USB device controller has an example project in HalCoGen that implements a USB virtual com port. This won't buy you too much if you always use a launchpad because you've got a virtual com port -> USB -> UART -> on the XDS110 connected to the LIN/SCI on the RM46. But of course if the RM46 is used on your own board, standalone, then this gets a lot more interesting. And I think you may eek out more bandwidth because of not going to a physical 'uart' link.

    The host controller is something that we (TI) don't have software for. USB host controller is a bit like a TCP/IP stack & maybe even more complicated because the host has to actually manage all the devices on the bus. So it's a big effort.

    The device does have a standard OHCI controller though - this is one where there are many implementation supporting it because it comes from the standard developed for PCs in the past (it is full speed only..)

    The OHCI controller was the 'smart' controller so you have to build a lot of structures up in RAM in a particular way .. a linked list of endpoint descriptors each with it's own linked list of transfer descriptors that point to actual data buffers. You can't really even get the port to do anything until this is setup correctly because if you have the lists wrong and turn on the controller it will follow the broken lists into the 'weeds' so to speak. So it's a bit hard to experiment with until you have a reasonably full set of low level driver code to work with.

    That much said, the host is very interesting because it allows you to connect all sorts of peripherals to the RM46. Just be aware that each peripheral type will need it's own set of drivers so working with host won't be simple compared to other projects.

    Best Regards,
    Anthony
  • wow, thank you very much for the information, it seems to work with the USB take some time.

    Best Regards
    Martin