Hello,
I do a single block synchronized DMA transfer from memory to DXR register :
- McBsp1 is configured for 16 bits words and one frame / word
- McBsp1 tx threshold is set to 117
- DMA is programmed to write a single DMA frame with FN=1, EN=118 , ES=2
- McBsp1 digital loopback is actived
My buffer contains a sequence of 236 bytes : 0x01, 0x02,0x03,...0xEC.
I read back without DMA, from MPU, the McBsp1 DRR register and I get an unexpected sequence of bytes :
0xC5, 0xC6, ... 0xD7, 0xD8, 0x00, 0x01, 0x02,...0x21, 0x22, 0x0F, 0x10, 0x11, ...
This sequence contains almost all bytes from my transmitted buffer but in wrong order.
(this is not an endianess issue since i always read-back words with the right couple of bytes)
Is there a well known DMA subtlety that behaves this way ?
Marc