AnsweredAssumed Answered

eDMA Flexbus bus error

Question asked by Martin Dusek on May 23, 2018
Latest reply on May 24, 2018 by Martin Dusek

Hi,

this is my DMA configuration for reading from flexbus (external SRAM) on K22:

 

DMA0->TCD[0].ATTR = DMA_ATTR_DSIZE(1) | DMA_ATTR_SSIZE(1);
DMA0->TCD[0].DOFF = 2;
DMA0->TCD[0].SOFF = 2;
DMA0->TCD[0].NBYTES_MLNO = 32;
DMA0->TCD[0].CITER_ELINKNO = 1;
DMA0->TCD[0].SADDR = flexbusAddress; // 0x08000000
DMA0->TCD[0].DADDR = mybuffer;
DMA0->TCD[0].CSR = DMA_CSR_START_MASK | DMA_CSR_INTMAJOR_MASK;

 

flexbusAddress variable is address pointing to flexbus memory space. I can read from flexbus using cpu anytime:

int *flex = flexbusAddress;
mybuffer[0] = flex[0];

 

However, as soon as I launch DMA transfer I immediatelly get Source Bus Error in DMA0->ES register set.

 

Can you please help me with this issue?

Outcomes