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.

CDC USB Host Application for TM4C129

Hii,

Can anyone provide me help on how to configure TIVA C Series TM4C129 as a CDC USB Host so that I can power up the remote device through USB and communicate with it?  Is there any source application existing on USB CDC Host for Tiva C Series TM4C129?? I have an application for CDC Device and have also gone though the USB CDC Device Application DCDC macros but I wanted to ensure that can TM4C129 be configured as CDC Host and can power up and communicate with the remote devices configured as CDC Device.  If this is possible on TM4C129, kindly provide me help on this and the path how it can be achieved...

Thank You.

  • Yes it is possible to configure and work as cdc usb device on TIVA. TIVA Ware provides exmples for the same which works out of the box. You can try demo example.
  • Hii Ravikiran,

    Yes I know that it can work as CDC device. But I want to know whether it can work as CDC host as well. There is demo example provided in tiva ware on CDC Device but there is no such example on CDC Host provided in tiva ware. There are some keywords and macros too which provide DCDC initializations and configurations which point to Device CDC again but I cant find any kind of CDC Host macros neither examples. Kindly provide me help with respect to this if possible.
  • Hi Akhilesh,

    Current version (2.1.0.12573) of TivaWare doesn't have CDC(-ACM) host driver, but you may make it up over other class driver. I believe Mass-Storage class (MSC) gives a good staring point.
    \Tivaware\TivaWare_C_Series-2.1.0.12573\usblib\host\usbhmsc.c

    Before starting coding, examine your target CDC device well. It's because you could significantly reduce your coding, if the target would require just a part of CDC spec.

    CDC(-ACM) spec defines these features over each endpoint (just popular ones)
    a) Default endpoint (class-specific requests)
    - Set_/Get_Line_Coding   - set/get baudrate, etc.
    - Set_Control_Line_State - flip RTS/DTR

    b) interrupt IN endpoint
    - Serial_State notification - pass the state of DSR/DCD, errors (parity, overrun..)

    c) bulk IN/OUT endpoints
    - exchange communication data

    If your CDC device would just exchange data over the bulk endpoints, without setting the baudrate, the host coding should be deadly easy.
    How about?

    Tsuneo

  • Hi Tsuneo,

    Thanks for your reply, I understood what u meant, but the thing is making a host class driver over MSC will consume time. If I had a similar application of CDC Host even of different version of TIVA Series it would have been better. Any idea from where I can get the application for CDC Host for other versions so that I can atleast modify the way with current version of macros and create host CDC application for current version of TIVA C Series. Also the CDC device which I am using just has to receive commands so that it can be controlled by CDC Host.
  • Hi, Akhilesh,

    I am curious whether you ever found an answer to your question. I am in the same situation, needing to be able to support CDC host mode. I am rather disappointed that TivaWare does not provide such capability.

    I am a total novice at USB, so having to create my own CDC host driver is not something that is going to be cost effective for me. I am starting to think that I may need to scrap the TivaWare USB library and go with a commercial package.

    Regards,

    Dave