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 填充功能

Guru**** 2609955 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1459885/mspm0g3507-dma-fill-functionality

器件型号:MSPM0G3507

工具与软件:

嗨、
我正尝试确切的弄清楚 DMA 的"填充"功能是如何工作的。

这会使 DMA 写入的地址递增还是使写入地址的值递增?

更具体地说、我想知道是否可以让它在每次触发寄存器时向寄存器写入增量值:

第一次触发:向地址写入1。

第二次触发:向(同一)地址写入2。

等等

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Anders:
    DMA 控制器采用预定义的图形、并将该图形写入用户定义的存储器段。 因此、要写入该地址的模式或值将保持不变。 可以选择按照与目标地址相同的方向递增或保持写入。
    此致、
    Diego Abad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答。
    我想让我困惑的是参考手册的内容以及术语。
    "继续写同样的方向"? 您能不能教我这样做是什么意思?

    参考手册也在669页说明:
    "。。 DMASRCINCR 位字段用于指示 FILL 模式数据是应保持恒定还是应递增/递减..."
    对我来说、这听起来是数据本身递增、而不是地址、但再说一次、也许我的理解力不足。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、这意味着填充模式按照 SRCINCR 递增/递减。 其中有一些逻辑、因为它存储为源地址(只是不用于寻址)。

    我导入了示例 dma_fill_data、并尝试了"填充模式参数->填充增量"的不同设置、然后看到了预期结果。

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

    [编辑:细微措辞更正。]