I am trying to follow the example using PDB, ADC, and DMA described in App note AN4590 for a k64 processor. I don't seem to be able to properly set the Address adjustment field. At the completion of the major iteration count I want to be able to set the destination address (or the source address in the linked DMA channel) back to the beginning of a buffer in memory. This would mean subtracting a value from the current pointer (as described in the app note), but the Address adjustment field only allows positive values. I thought I could get around this by enabling Scatter/gather processing and putting the beginning address of the destination (or source) buffer into the Address adjustment field, but the value is ignored by PE. Is this a bug in 10.4 and the workaround is to manually set the registers myself or am I misunderstanding how this is supposed to work?
Thanks,
Elizabeth
Hi Elizabeth,
I assume you are using Init_eDMA component. The address adjustment property sets the "raw", unsigned value of the register. In order to set a negative value you have to store it as a two's complement notation. So if you for example want to set -24 as an adjustment then the address adjustment property should be set to 0xFFFFFFE8.
Hope this helps,
Lukas