Skip to main content
llombardini
Associate II
November 16, 2012
Question

STM32F4x DMA question

  • November 16, 2012
  • 4 replies
  • 952 views
Posted on November 16, 2012 at 14:37

In the reference manual at paragraph 9.3.2 (pg 215) is described that the base address for the transfert is stored in DMA_SxPAR o DMA_SxM0AR register.

Then in paragraph 9.3.7 (pg 221) is described the possibility of automatically increment memory and peripheral pointer.

The question is:

How is done this pointer increment?

The pointer increment is done incrementing the base address stored in  DMA_SxPAR o DMA_SxM0AR or in different mode. In this case which is the register that is incremented when the pointer is incremented?

Thanks

Luca
    This topic has been closed for replies.

    4 replies

    Tesla DeLorean
    Guru
    November 16, 2012
    Posted on November 16, 2012 at 15:20

      DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Enable;

      DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;

      DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;

      DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;

    Which register increment, and by what.

    If the register level mechanics are critical review stm32f4xx_dma.c / .h

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    waclawek.jan
    Super User
    November 19, 2012
    Posted on November 19, 2012 at 09:40

    Which reference manual are you talking about?

    In both versions of ST32F4xx reference manual, RM0090, the DMA is described in chapter 8. The pointer incrementation is then described in chapter 8.3.7 (I don 't say it's concise nor exhaustive).

    JW

    llombardini
    Associate II
    November 19, 2012
    Posted on November 19, 2012 at 10:38

    If you go to the ST website and download the last reference manual (rev 3) you'll find that the DMA is described in chapter 9.

    Thanks,

    waclawek.jan
    Super User
    November 19, 2012
    Posted on November 19, 2012 at 11:59

    Wow, wow, wow! Rev 3, how fast! :)

    Oh, new devices? Hear, hear...

    Okay, so chapter 9 - as the rest of the manual, the description here is sloppy, too. If I remember correctly from what I found out by experimenting, the registers as they are exposed (visible from the processor) are incremented, except that there must be some shadow register which is used to reload the exposed registers when circular mode is engaged.

    JW