Hello everybody,
I have new board phyCore5485. Now I'm trying to send and receive data to/from UART via Multichannel DMA. Sending data is working well, but I have trouble with reception. Whenever I launch the MCD_startDma function (from freescale API), the DMA interrupt is invoked immediately and RX buffer contains only one received byte.
Here is part of my code:
MCD_initDma ((dmaRegs*)(MBAR_ADDRESS+0x8000),(void *)(MCDAPI_ADDRESS), MCD_COMM_PREFETCH_EN | MCD_RELOC_TASKS);
dma_irq_enable(UART_DMA_INTERRUPT_LEVEL,UART_DMA_INTERRUPT_PRIORITY);
MCD_startDma(
0, // channel
(u8*)&MCF_PSC_RB(portNumber), // source addr
0, // source increment
_buff, /destination addr
1, // destination increment
(u32)(_size), // size
1, // Xfer size
4, // initiator PSC0 Rx
6, // priority
MCD_SINGLE_DMA | MCD_INTERRUPT, // flags
MCD_NO_CSUM | MCD_NO_BYTE_SWAP | MCD_NO_BIT_REV );
I have really no idea where could be a problem.
Can somebady help me?
Cheers Radek
Message Edited by Radek21 on 2009-01-19 01:36 PM