cancel
Showing results for 
Search instead for 
Did you mean: 

Inquiry for solutions to problems encountered while using the SPI DMA function of STM32F767

hjKim
Associate
When writing through a translator, I apologize in advance for any awkward sentences.
I am a developer who started working with STM32 less than a year ago.
I'm currently working on a project at my company using the STM32F767.
What I set up was simply Transmit Only Slave, and I set SPI 1, 2, and 3 channels to DMA respectively
to send values ​​whenever the other party requests data.

 

SPI1 = DMA2 Stream3
SPI2 = DMA1 Stream6
SPI3 = DMA1 Stream5
It was set up in a circular manner. 
The problem occurred when the other party's SPI request came at a frequency of approximately 10kHz.
The data of SPI2 and SPI3 were displayed normally, but the data of SPI1 was displayed as different data
than the data I sent. For example, if you sent 10, 5 and 20 were displayed on the receiving end.
Please advise on why the above problem occurred.

 

1 REPLY 1

Formatting makes this very difficult to read. Perhaps cut-n-paste without formatting.

On the F7 use DTCM RAM for DMA

If.you use DMA you are going to have to be aware of cache coherency and alignment. 

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..