Other Parts Discussed in Thread: EK-TM4C1294XL
Hi,
Can i know which API of how to configure uDMA receive interrupt to be generated once the data is copied from UART RX to memory.
Regards,
Bharath
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.
Hi,
Can i know which API of how to configure uDMA receive interrupt to be generated once the data is copied from UART RX to memory.
Regards,
Bharath
Hello Bharath,
The udma_demo in TivaWare for the EK-TM4C1294XL LaunchPad shows setting up the uDMA for UART operation, please reference that example and let us know if you have any follow-up questions. The project can be found at: [Install Path]\TivaWare_C_Series-2.1.4.178\examples\boards\ek-tm4c1294xl\udma_demo
Hi,
The example given is for Ping Pong. Some more info: I am using Scatter Gather and UART5Rx. I need a UART5 interrupt to be generated once the data is copied from UART to memory. So it will be helpful if someone tells me which configuration API or hardware reg to be configured to get the interrupter.
Hi,
In continuation for the above
in uDMAChannelScatterGatherSet api what is the first argument in case of UART5RX? (ui32ChannelNum uDMA channel number)
Regards,
Bharath
Hello Bharath,
To use a channel like UART5RX, you need to use the uDMAChannelAssign API.
From there, then you would want to make your own defines for the DMA channels you are using in your C file, for example
//***************************************************************************** // // SSI2 uDMA channel numbers must be configured with calls to: // uDMAChannelAssign(). // //***************************************************************************** #define UDMA_CHANNEL_SSI2RX 12 #define UDMA_CHANNEL_SSI2TX 13
And then when using the API like uDMAChannelScatterGatherSet, you would use the defined uDMA channel number to pass as the first argument.
You can see a full example of how this is done for an SSI example with this project: 7848.udma-ssi2_demo.zip
Unfortunately I don't have a Scatter Gather project to share, though we are planning to develop one in the near future. If you want some more guidance, can you share what you have already done in terms of the configuration?
Hi,
I have already tried with the below
#define UDMA_CHANNEL_UART5RX 6
(Note: UDMA_CHANNEL_ETH0RX is already defined as 6 but UART5RX is also at channel 6)
uDMAChannelAssign(UDMA_CH6_UART5RX);
uDMAChannelScatterGatherSet(UDMA_CHANNEL_UART5RX , 3, Table, 1);
ROM_IntEnable(INT_UART5);
ROM_IntEnable(INT_UDMA);
i am enabling the DMA for reading the data form the UART every 1ms and even I am transmitting some UART data from other device periodically. But i am not able to get the UART interrupt. How to configure it to read the data. as far as i knw the DMA will tell the UART that the data is copied from peripheral to memory and later the UART interrupt will be generated. from this interrupt handler i will copy the data from the memory to my local variable.
Please help me with this.
Regards,
Bharath
HI,
I also need to know will DMA triggers or makes the UART5 peripheral to generate Interrupt? because i worked on LM3 board with UDMA_CHANNEL_UART0RX which has generated me UART0 interrupt. But i am not able to get UART5 interrupt in TM4C1294.
Regards,
bharath
Hello Bharath,
I was actually discussing this today with a colleague of mine, and we are questioning the use of Scatter Gather mode over Ping Pong mode for this application. Can you elaborate further what you are trying to achieve here? Because right now your descriptions so far indicate you should use Ping Pong mode.
In any case, I will need to see more code than what you posted to know what is missing, partial code like that leaves too incomplete a picture to work from. All your configuration for the UART, uDMA, and interrupts would be needed including the relevant GPIO's.