Part Number: EVMK2GX
Tool/software: TI-RTOS
Hello,
I'm working on a McASP project with multiple serialisers, each using one timeslot, which are to be saved interleaved (Mcasp_BufferFormat_MULTISER_1SLOT_SER_INTERLEAVED).
I noticed that with this setting, the McASP driver from Processor SDK RTOS 04.03.00.05 does not seem to work correctly. Instead of filling the whole buffer, only the data from one serialiser gets written.
I have traced this issue to mcasp_edma.c starting from line 1943 where *bIndex does not get set when the interleaved setting is chosen. This leads to the DMA not incrementing the destination address and therefore overwriting the sample data.
From my understanding of the interleaved buffer principle, the fix should be to insert
*bIndex = (int16_t)(*aCnt);
Can you confirm that this is a bug and not a wrong setting on my side and that this fix is correct?
Thanks in advance,
Felix