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.

TM4C1294NCPDT: TM4C1294

Part Number: TM4C1294NCPDT
Other Parts Discussed in Thread: EK-TM4C1294XL

I want to use an instrument having USB Device port. The vendor specifies the data transfer is in bulk streaming mode. Can someone guide me on how to build C code for the same using Code Composer Studio?

I need understand all steps required for execution for two major functions - Initialization and data transfer.

Will appreciate someone's urgent help.

  • Hello Satish,

    Are you needing to use the TM4C in Host mode or Device mode for this?

    If you need Host Bulk mode, that is not functionality currently included in UsbLib, so you would need to create driver support for that. At this time, we are not planning to develop Host Bulk mode drivers or examples and are not in position to support that beyond general guidance.

    We do have a number of USB examples already available in TivaWare, you may want to start by reviewing these. And if you need the TM4C to be Device Bulk mode, there are drivers, an example project, and even a demonstration program available for Device Bulk mode.

    You can view them under [Install Path]\TivaWare_C_Series-2.1.4.178\examples\boards\ek-tm4c1294xl

    The USB Library is under [Install Path]\TivaWare_C_Series-2.1.4.178\usblib

    For Host Bulk mode, you would need to create and add new host bulk files under the host folder, similar to usbhmsc.c/.h.

  • Hello Ralph

    Thanks for the reply. The application needs code to be written for USB Host in bulk mode. And your reply is much in line with my understanding that there are no examples or drivers presently available for USB Host Bulk mode. And I needed to write my own driver. Thanks for making it me more clear.

    I am a novice for USB. Hence I would like to know if you or someone else can provide me general guidance for writing my own driver for the USB Host Bulk mode application.

    Thanks & best regards

    Satish Khire

  • Satish Khire said:
    Hence I would like to know if you or someone else can provide me general guidance for writing my own driver for the USB Host Bulk mode application.

    Greetings,

    Vendor has provided you a 'fair answer' - in such circumstances does it not pay to, 'Cast a Wider Net?'

    • Might (non 'Other') MCUs - from this vendor - provide that capability?     If so - that may serve as a, 'Guiding Model' for you and/or others.
    • Same as above - yet w/the 'Net cast FAR' from these shores.    (i.e. Search the offerings of similar ARM MCU vendors - again you are seeking general, 'Considerations & Methods' - which would have to be adapted (massaged) to your use - here.   (should you be 'locked-in' to these 'Other' MCUs.)
    • Surely there exist 'commercial products' - which well achieve the functionality you seek.    'Tear-Down reports' are almost certain to reveal the MCU employed - armed w/that input - you can focus upon, 'How that MCU managed & achieved your objective.'
    • And - there is 'likely' to exist such, 'regional expertise' in/around your location!     As you grow - & needs expand - it 'never hurts' to, 'Make such a talent survey.'
    • Finally, Is it realistic to expect - that 'one & only one' source - at all times - has the ability to fulfill, 'ALL Needs?'

    Your opening post here noted, "Will appreciate someone's urgent help."     That 'sense of urgency' may have been avoided - by 'better matching (existing capabilities) to the (potential) project's demands' - is that not so?     Sometimes - 'No business proves better than bad (or overly difficult) business!'    A more 'Achievable Alternative' results when one focuses (instead) upon the, 'Low Hanging (i.e. easily reachable) Fruit'!'

    TAG: WIDE Net trumps a severely narrowed one..

  • Satish Khire said:

    I am a novice for USB. Hence I would like to know if you or someone else can provide me general guidance for writing my own driver for the USB Host Bulk mode application.

    What I mean general guidance is related to using Tiwaware USB Host library functions. And not at all a very general to USB. Thanks.

  • Satish Khire said:
    And not at all a very general to USB. Thanks.

    Proposed were 'highly specific' suggestions - aimed (precisely) at your, "USB Host in bulk mode."    Such proves NOT - "very general to USB."

    When the 'Well runs dry' - it is 'normal/customary' to 'Drill anew - in a, 'more productive' location.'

  • Hello Satish,

    Making the driver for a host bulk application is very involved and requires a lot of USB knowledge. I would not recommend doing this if you are a novice. You may need to look elsewhere for a solution that already provides these drivers.

    You would need to setup:

    • Structures for bulk instances
    • Structures for the class driver
    • Open and Close APIs for the Bulk port
      • Handle device descriptors and provide USB application info based on descriptor information
      • Map out all endpoints to handlers
      • Allocate USB pipe space for each endpoint
    • Callback functions for the interrupt endpoints
    • Read and Write data APIs
    • Any bulk specific additional APIs

    Hopefully that gives you an idea of the scope here.

  • Hello Ralph

    Thanks for your reply. That gives me a clarity.

    Yes, new to USB, but I can manage. I needed a broader view which is well described.

    Thanks again. I appreciate a lot for your help.

    Best regards

    Satish