Hello, experts,
I use UART with EDMA3 in C6657, but it seems that the EDMA3 can't transmit data to UART.
When I use the EDMA3 to transmit data for memory to memory, it works good.
When I use UART whithout EDMA3, it works good.
But when I use UART with Edma3, it didn't work.
My code as below:
EdmaSend(5, srcBuffer, (void*)(0x2540000));//parameters: channel, source addr, dest addr(UART.THR)
int EdmaSend(uint32_t channelNum, void* srcAddr, void* dstAddr)
{
......//other code
opt |= CSL_EDMA3_OPT_MAKE(CSL_EDMA3_ITCCH_EN, \
CSL_EDMA3_TCCH_DIS, \
CSL_EDMA3_ITCINT_DIS, \
CSL_EDMA3_TCINT_EN, \
channelNum, \
CSL_EDMA3_TCC_NORMAL, \
CSL_EDMA3_FIFOWIDTH_NONE, \
CSL_EDMA3_STATIC_DIS, \
CSL_EDMA3_SYNC_AB, \
CSL_EDMA3_ADDRMODE_INCR, \
CSL_EDMA3_ADDRMODE_INCR );
}
myParamSetup.option = opt;
myParamSetup.srcAddr = (Uint32)srcAddr;
myParamSetup.dstAddr = (Uint32)dstAddr; //(Uint32)(&localUartRegs->THR)
......//other code
CSL_edma3ParamSetup(hParam,&myParamSetup);
......//other code
}