While using DMA, I want to use the Minor Loop Offset feature (MLOFF), but am concerned the affects it will have on SLAST.
Will the minor loop offset happen every minor loop completion, even at the end of the major loop (CITER count == 0)?
I am asking because I had an instance where someone had set the MLOFF and SLAST on accident, but we somehow achieved correct results. I was expecting at the end of the major loop, the MLOFF would do the offset on the source address, and then the SLAST would do another offset, leaving our source address 1 offset back too far. But this didn't seem to be the case.
Was hoping someone could clear this up for me. Is the minor loop offset ignored when the CITER count reaches 0 and only SLAST will do an offset at that point?
Would also be nice if there was a flowchart of what the DMA is doing under the hood. There are a lot of scenarios with how the DMA TCDs are being updated by the DMA that leave us guessing how we think it will work.
Solved! Go to Solution.
Hi @sean_dvorscak,
You did not specify the MCU.
But yes, the minor loop offset is ignored.
S32K1xx RM:
AN4522, Examples of Setting the DMA Controller on the Power Architecture® MPC5675K Family of Microcontrollers
https://www.nxp.com/docs/en/application-note/AN4522.pdf
Regards,
Daniel
Hi @sean_dvorscak,
You did not specify the MCU.
But yes, the minor loop offset is ignored.
S32K1xx RM:
AN4522, Examples of Setting the DMA Controller on the Power Architecture® MPC5675K Family of Microcontrollers
https://www.nxp.com/docs/en/application-note/AN4522.pdf
Regards,
Daniel