cancel
Showing results for 
Search instead for 
Did you mean: 

DMA

arunease
Associate II
Posted on April 08, 2016 at 15:37

Hi 

i wonder  if there is a way to transfer from pheripheral to pheripheral using dma on f429.

could anyone tell me ?
3 REPLIES 3
Posted on April 08, 2016 at 17:27

The term ''peripheral'' in the context of the F4 DMA controllers is something that is on the same APBx bus as the DMAx controller. ie it can access a subset of the system address space independently of other parts. Whereas the term ''memory'' can mean the entire memory space.

A peripheral to peripheral should be viable, where the source/destination peripheral is marked/classified as such, and the other marked as memory. Worse case classify as it as memory to memory, then the interaction is broken into two discrete steps.

The peripheral source doesn't need to be the same as the triggering peripheral.

Would recommend you experiment, it is not hard to do, the hardware will not explode, and you'll learn something about the architecture.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
mark239955_stm1
Associate II
Posted on April 09, 2016 at 03:49

In the 405/407, DMA1 is a bit limited as to the locations it can access for source or destination, but DMA2 seems to be able to access the entire memory space as far as I can tell.  I expect that the 427/429 is similar given that they all share the same reference manual, so if your data source peripheral is on DMA2 I think this might be workable.

re.wolff9
Senior
Posted on April 10, 2016 at 12:44

As far as I know, memory-to-memory runs ''without trigger''. So it would run at maximum speed without any way to throttle the stream.