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;
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)
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.