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.

uart tx with edma event trigger

Other Parts Discussed in Thread: AM3358

hi all

    there is a problem when i use the uart tx the data by edma event trigger.the code is as below

unsigned char welcome[] = "Sta";

while(1)

{

    CacheDataCleanBuff((unsigned int)(welcome), sizeof(welcome));

    Uart_EDMATx(welcome,
                            sizeof(welcome),
                            UART_DMA_Tx_CHANNEL_NUM,
                            UART_DMA_Tx_L_CHANNEL_NUM);


   Mercury_Uart_Dma_Wait(UART_DMA_Tx_CHANNEL_NUM);

   EDMA3ClrIntr(SOC_EDMA30CC_0_REGS, UART_DMA_Tx_CHANNEL_NUM);

}

the func"Uart_EDMATx" is my own function do the edma paramset config ,edma event trggier and "UARTDMAEnable";

the func"Uart_Dma_Wait" is also my own function do the IPR check indicate the dma complete but not trigger the interrupt to the Cortex,and then EDMA3DisableTransfer and UARTDMADisable;

the problem is when i set the welcome char array is 1 character the uart console can indicate the character only one time;

but if the length of character array is other than length(not 1 character) the uart console can continue tx the character array ;

I use the fifo on in uart and        tx_level:1          tx_threhold:1