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.

RTOS/EK-TM4C1294XL: Possible solutions for connecting a TM4C via USB to a Cross-Plattform PC-application

Part Number: EK-TM4C1294XL

Tool/software: TI-RTOS

Hi everyone,

the thread title says it all. I have a JUCE-based cross platform (Windows, Mac, Linux) application written in C++ and I'd like to build a hardware controller to that application, connected via USB. As I've got a bunch of EK-TM4C1294XL Launchpads here that have the "Target USB connection" beneath the debug Interface, I'd like to use them as a prototyping platform for that. I've never worked with USB, neither on the PC-application end nor at the microcontroller end, so for me it is not completely clear what would be the best way to implement this. As I said, it should be fully cross-platform compatible at the PC end, plug&play would be great but installing a driver would also be okay. The data rate will be fairly low, so USB 1.1 should be enough. I plan using TI-RTOS on the TM4C, I've read a bit about the USB-library coming with that framework, but until now to me it's not completely clear which (or if any) approach suits the best for my application. A last possibility I could also think of would be that the device is recognized as a generic MIDI Interface by the PC and all communication will take place via MIDI SysEx Messages, which is perfectly supported by the JUCE framework.

So, what do you think is the best or easiest approach?

  • If you are comfortable implementing MIDI over USB, go for it. Unfortunately I don't have any examples to help with that protocol. Perhaps another user on the forum might have some suggestion. If you are feeling less ambitious, you might configure the EK-TM4C129XL to act as a USB virtual serial port. There is an example in TivaWare: C:\ti\TivaWare_C_Series-2.1.4.178\examples\boards\ek-tm4c1294xl\usb_dev_cserial