Hi, I am triying to build an dma library for our project. . The library will be used in all cores. With the example codes I managed to make the EDMA3 work in CORE0 but the same out file is not working in CORE1. I did some research and found that the same code uses differend regions for different cores. And this diiference changes the using TCC and channels, For EDMA3CC0 the same code uses TCC 0 and TCC1 in Core0(region0) and TCC2, TCC3 for core1.
The same imformation can be taken from shadow registers; When I requested two channel and give a pointer of callback function the IER for CORE0 becomes 0x3 and for CORE1 0xC nad when initiiialize the thansfer the IPR in CORE0 becomes 0x1 and in CORE1 it becomes 0x4. Until now everting is as expected. But in this stuation at CORE0 callback function is called but at CORE1 no interrupt is generated.
- I tried to use the region 0 and TCC0 and TCC1 in CORE1 but nothing changed.
- I tried to change the DRAE registers and used below code but nothing changed.
/*DRAE enable(Bits 0-1) for the shadow region 1; */
regionAccess.region = 1;
regionAccess.drae = 0xFFFF
regionAccess.draeh = 0x0;
CSL_edma3HwControl(hModule,CSL_EDMA3_CMD_DMAREGION_ENABLE, ®ionAccess)
I thing IER and IPR is setted correctly and I think I managed to configure DRAE register correcly. But why any interrupt is not generated.
From ROV I can see that the event combiner functions are not set for CORE1, but CORE0 event combiner fonctions for eventıds 62 and 63 are set as tci66xx_CpIntc. So this can be the problem but how can i set this events?
MCSDK ver = 2.1.2.6
PDK ver = 1.1.2.6
SysBios ver = 6.37.5.35
EDMA LLD ver = 2.11.5
compiler ver = 7.4.4
XDC ver = 3.25.6.96