This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSPM0G3507: dma fill functionality

Part Number: MSPM0G3507

Tool/software:

Hey.
I am trying to figure out exactly how the "fill" functionality of the dma works.

Does this increment the address the dma write to, or does it increment the value written to the address?

More specifically, I am wondering if it would be possible to get it to write incremental values to a register, each time it is fired:

fired first time: write 1 to the address.

fired second time: write 2 to the (same) address.

etc.

  • Hi Anders,
    The DMA controller takes a predefined pattern and writes the pattern to a user-defined segment of memory. So, the pattern or value to write to the address will remain the same. There are options to either increment or keep writing in the same direction as the destination address.
    Best Regards,
    Diego Abad

  • Thanks for you answer.
    I guess what is confusing me is what the reference manual states, and the terminology.
    "keep writing the same direction"? Could you please educate me on what is meant by that?

    Also, the reference manuals states on page 669:
    ".... The DMASRCINCR bit field is used to indicate whether the FILL pattern data should be constant or incremented/decremented...."
    To me this sounds like it's the data itself that is incremented - not the address, but again, maybe my understanding is lacking.

  • Yes, that means that the fill pattern is incremented/decremented according to SRCINCR. There's some logic in that since it's stored as the Source Address (just not used for addressing).

    Just to make sure, I imported example dma_fill_data and tried different settings of "Fill Mode Parameters->Fill Increment" and saw the expected results.

    https://dev.ti.com/tirex/explore/node?node=A__ANMYK8zz3hzXBAwdGQXi2g__MSPM0-SDK__a3PaaoK__LATEST

    [Edit: Minor wording correction.]