Other Parts Discussed in Thread: MSPM0G3519
器件型号: MSPM0G3519
您好:
在发生单个事件时、我尝试从循环缓冲器写入三个计时器寄存器。 为了实现这一目标、我应该如何最好地配置 DMA?

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.
Other Parts Discussed in Thread: MSPM0G3519
器件型号: MSPM0G3519
您好:
在发生单个事件时、我尝试从循环缓冲器写入三个计时器寄存器。 为了实现这一目标、我应该如何最好地配置 DMA?

嘿、Grant、
我认为 Bruce 所说的更接近你想要的。 通道大小为 sizeof (cround_buff)/ sizeof (long long) 的单次传输
我也有这篇文章在这里:
MSPM0G3519:DMA 存储器对齐要求 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛
看起来您可能需要对齐这些校准才能使 DMA 传输正常工作。 我用很长的时间测试,但我想这是一样的很长一段时间。
___
当我在写这篇文章的中间更新。
好的、我想我的这个过程适用于从块地址到固定地址的单次传输。 (我是正确的,需要指定字对齐才能正常工作)。
我可以将其发布在此处、也可以将其压缩并发送给您。
Munan
嘿,只是想更新论坛关闭,我们解决了单次转移块地址到固定地址使用 long long。
我还想提一下、如果有人感到好奇、2 个 DMA 通道的计时器触发器要求每个 DMA 通道都有自己的订阅者端口、我们使用事件通道 12 来让计时器事件有一个 1-2 分离器同时触发每个 DMA 通道。 (它不是完全同时进行,因为 DMA 进行了仲裁,因为一次只能发生一个物理传输)
否则、您可以将两个 DMA 通道映射到 1 个计时器事件订阅者端口、但最终发生的是第一个通道将在第二个通道启动之前完成其传输。
Munan