AnsweredAssumed Answered

Which memory can be used for periph to mem transfer?

Question asked by Gunnar Bohlen on Jun 23, 2017
Latest reply on Jun 26, 2017 by waclawek.jan


I use the CPU STM32F765.

I want to use DMA2 to transfer ADC-results into memory.

This works fine if I use DTCM-Memory for the destination  (128kbyte  from 0x20000000 to 0x2001ffff)

If I use SRAM1, DMA seems to work (I get transfer complete interrupt, ADC registers indicate that adc-values were read), but no data is in the programmed addresses.

Is it possible that ADC to DMA transfer only works when DTCM memory is used  for the destination?


Some time ago I maybe had a similar problem: I use Keil Middleware to implement a file system using an SD-card. It started to work after I told the middleware to use memory buffers at 0x20000000.


In the reference manual I read about DMA that it can address the complete memory range.

If it is required to specify DTCM memory for peripheral to memory transfers: where is this documented?

If SRAM1 should also work: What could be the reason why DMA works with DTCM, but not with SRAM1?


Thank you.