AnsweredAssumed Answered

2D DMA DI_SEL ISR does not work

Question asked by Jan-Otto on May 10, 2017
Latest reply on Jun 2, 2017 by Jithul_Janardhanan

Hello all,

 

I am currently working on a 2D DMA transfer and I have a problem with the DI_SEL ISR. Although I activate this bit for both, source and destination configuration, only one ISR is generated when all the data is processed.

 

My question is now, what is wrong with the configuration.

 

Here a is my code:

/* Set up the source parameter -> FPGA data*/

SrcParam_st.StartAddress_u32p = (uint32_t*)source[0];

SrcParam_st.XCount_u16 = (25*2);

SrcParam_st.XModify_u16 = 2;

SrcParam_st.YCount_u16 = 4;

SrcParam_st.YModify_u16 = (0x2000 - (25*4) + 2);

SrcParam_st.Config_u16 = (DI_EN | WDSIZE_16 | DMAEN | DMA2D | DI_SEL | SYNC);

 

/* Set up the destination parameter -> structure to be sent*/

DstParam_st.StartAddress_u32p = (uint32_t*)(&dest[0])

DstParam_st.XCount_u16 = (25*2);

DstParam_st.XModify_u16 = 2;

DstParam_st.YCount_u16 = 4;

DstParam_st.YModify_u16 = 6;

DstParam_st.Config_u16 = (DI_EN | WNR | WDSIZE_16 | DMAEN | DMA2D | DI_SEL);

 

Maybe I got something completely wrong but the goal is to generate an interrupt each time the source YCount is count down.

Actually, an interrupt is generated, when everything is finished ( and this works fine).

 

Thank you for the help.

 

Best regards,

Jan-Otto

Outcomes