Many questions have been posted on packet length for DMAs but still don't quite understand my situation.
I am sending 32-bit words to a DMA with Buffer Width of 2^26 or 67108864 bytes. When calling XAxiDma_BdSetLength(), The MaxTransferLen in the application is 0x3FFFFFF. Why is it not 0x400000 or 67108864? Is this a scalar value as in the total number of bytes or more like an address range which goes from 0x0 to 0x3FFFFFFF which would account for the 1 byte difference?
For 32-bit transfers, I need to set the LenBytes to 0x4000000 - 4 (0x3FFFFFFC) so there is no error, Is that so there are whole word transfers?
Can someone explain what is happening and where the bytes are going?