Hello,
i am using on theICE Board AM3359 and the SPI with EDMA.
Sometimes the spi/edma send one byte to much on SPI channel. It happens when i manipulate data to be send (in actual dataframe) with memcpy. When the memcpy is called, the data which i manipulate, is not touched by the EDMA at the same time. The mutuality between EDMA and memcpy is the start adress of the txBuffer, where the data to be send is stored.
____||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||________ SPI data (txBuffer)
_____memcpy()_|Byte_A|________||||||||________ parallel memcpy() and manipulate last bytes.
It seems that the BCNT, does not decrement, that the EDMA passes Byte_A two times to SPI.
When the Error occurs, i can see that the EdmaComplInterrupt appear 4 SPICLK cycles later.
How often occurs the SPI EDMA Even? Every byte? (SPI wordlength is 8)
Thanks.