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.

TM4C1230H6PM, Data transfer using uDMA

Hello,

I  want to use uDMA in my project. Since I am new to the concept of uDMA, I am having problems understanding the same.

I want to receive data from UART (UART0), store it in memory and again send them using another UART (UART6). Is it possible to do so?? If yes, how to do it?

Any help would be greatly appreciated. 

Thanks in advance.

  • Hi Yukthi,

    Yes it is possible.
    First you have to get familiar with the DMA itself of course.

    I advise you consulting in the datasheet "14.3.11 DMA Operation"
    The udma_demo examples from Tivaware
    and this: https://sites.google.com/site/luiselectronicprojects/tutorials/tiva-tutorials/tiva-dma


    Also, can you provide more description in what you want to do?
    From what I understand you want to:
    Receive data from the UART0, on receive trigger the DMA to get data from the receive FIFO into the RAM.
    Then with an unknown trigger (please describe which one) you want the DMA to transfer from memory that info into UART6 transmit FIFO.


    Now if that is the case I ask you, why is the DMA needed for this? Are you trying to receive and send a lot of that? That data wont be altered or used in anyway by the Tiva? Are you just using the Tiva as a bridge or some sort?

  • Yukthi Simha said:
    I  want to use uDMA in my project.

    Good that - perhaps you'd care to explain, "Why?"

    You do realize that adding uDMA will add great time, effort & complexity to your project.   Does that make sense?

    Complexity is not (necessarily) wrong - but it proves - almost universally - a very bad, 'Starting Point!"

    Some here believe highly in "KISS" and uDMA never/ever enters that description.

    Might it make sense to break your project into smaller, more easily manageable parts - such as:

    a) UART0 RX and TX

    b) storage to RAM of data input to UART0

    c) UART6 RX and TX

    d) read of RAM and data output via UART6

    Only (and after) a-d are achieved would I venture into uDMA.   And - if you measure the execution time required for those tasks - you'll develop some basis for any advantages which uDMA may offer - which justify your "slog" thru the (very) incomplete MCU manual's "rush job" write up...