Hello,
DMA error interrupt seems to not set CHn_INT[INT] register when triggered.
I configured DMA to work LPSPI on S32K396 EVB and it is working fine. However I wanted to test DMA error handling so I corrupted DMA TCD source address by setting some invalid address.
This is causing DMA channel interrupt to be triggered (I'm using Channel 14 from DMAMUX).
I can see that ERR and SBE bits are set so error was catched correctly and interrupt handler was called for this channel but INT register is zero (see attachment).
According to manual INT register should be set for INTHALF, INTMAJOR and EEI interrupt events.
INTMAJOR event is working but EEI is not.
Am I missing something?
Solved! Go to Solution.
INT and INT_ERR are different interrupt events, it is correct that INT flag is not set in this case.
It is following field in 14.6.2.3 Channel Error Status (CH0_ES - CH31_ES) supposing to be set (and cleared by w1c during ISR):
INT and INT_ERR are different interrupt events, it is correct that INT flag is not set in this case.
It is following field in 14.6.2.3 Channel Error Status (CH0_ES - CH31_ES) supposing to be set (and cleared by w1c during ISR):