This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

STM32F7: problem with ADC to memory DMA transfer

Hello,

I work on a project using the STM32F765.
I want to convert a number of adc channels in a sequence, and use DMA2 to transfer the ADC-results into the memory.
I didn't find an example in the STM32F7-pack that does exactly what I want, but I was sure that I did modify a similar example correctly. ADC seems to work correctly, DMA seems to fetch the adc-results from the data register, and I got the END OF Conversion irq at the end. But the data were not present at the expected memory area (located in SRAM1).

After many experiments I found a solution:
Initially I did not add the DTCM (128kByte starting at 0x2000.0000) in my scatterfile because I wanted to preserve this memory for "critical" tasks. So my memory for DMA transfer was located in SRAM1.
As soon as I use memory from DTCM for the DMA-Transfer, everything works as expected.

In the reference manual I read that DMA2 can access the complete memory and I do not find any restrictions (maybe I look at the wrong place..).
Could anyone confirm that it is required to use DTCM-memory for peripheral-to-memory DMA transfers? Or does my test indicate that there is another problem in my code because SRAM1 should also work for this DMA transfer?
If DTCM-Memory is required for periph=>memory DMA, does anyone know where this is documented?

Thank you.