Hi,
Test fails to first expected ok-return, based on register content the Region 0 error is found:
if(sl_dmaSoftwrTestConfig(&dma_test_varA, &dma_test_varB, DMA_PERMISSION_READ_ACCESS, &dmaCTRLPKT))
After some code inspection and careful TRM reading I found that end-region is set like this
sl_dmaREG->DMAMPR0E = (uint32)(srcAddr) + sizeof(uint32);
This resulted the DMAPR0S to be ....240 and DMAPR0E be +4 so .....244.
The variables A & B used in testing are stack variables and for me those addresses are after each other ..240 and ...244 respectively. After I changed end region setting like this (-1) the test started to work
sl_dmaREG->DMAMPR0E = (uint32)(srcAddr) + sizeof(uint32)-1U;
Based on TRM the PR0E is end address of the region so the initial code is wrong and sets region 1 byte too far, I this interpretation correct? Just wondering is this test tested at all because I would like to say that most likely those the stack variables are in a row despite which compiler is used...
When is the next scheduled SafeTI release, current one is quite old and multiple bugs and 'features' are found after that?