你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

NUCLEO-STM32H723ZG使用MDAM、DMA1/2在SRAM间传输数据错误或不传输,请问是什么原因导致?

[复制链接]
Zambooه٥ 提问时间:2023-4-14 15:17 / 已解决

MDMA和DMA1/2,配置为存储器到存储器,分别测试了两种情况:

1、源地址:0x24000000(AXI SRAM),目的地址:0x24010000(AXI SRAM),源地址后4kb全部初始化为0xFF,目的地址后64kb全部初始化为0,传输64kb数据,发现目的地址传输到数据有部分丢失,隔10几个地址就全是0(猜测未传输成功)

2、源地址:0x30000000(D2域 SRAM1),目的地址:0x30004000(AXI SRAM2),源地址后4kb全部初始化为0xFF,目的地址后4kb全部初始化为0,使能SRAM1和SRAM2时钟,传输4kb数据,发现目的地址到所有值都未变化,但查看相应DMA寄存器状态位发现传输已经完成。

请问大家有没有遇到这种情况,这究竟是什么原因?

收藏 评论5 发布时间:2023-4-14 15:17

举报

5个回答
xmshao 最优答案 回答时间:2023-4-14 16:38:41
这些问题往往会涉及到很细节的原因。很难一下说定原因。


你说测试了2种情况,两种情况你具体是用的哪个DMA?


你现在是M to M,你的源数据是否真正写到内存了,建议你先关闭D-CACHE或针对源区开启透写功能;


还有,请注意下 有无访问对齐方面的问题。
xmshao 回答时间:2023-4-14 16:43:41
这些问题往往会涉及到很细节的原因。很难一下说定原因。

你说测试了2种情况,两种情况你具体是用的哪个DMA?

你现在是M to M,你的源数据是否真正写到内存了,建议你先关闭D-CACHE或针对源区开启透写功能;

还有,注意 各DMA有各自的访问区域限制,尤其通用DMA不是无所不达,再就是注意有无访问对齐方面的问题。
Zambooه٥ 回答时间:2023-4-17 10:16:10

xmshao 发表于 2023-4-14 16:38
这些问题往往会涉及到很细节的原因。很难一下说定原因。</p>
<p>

感谢大佬,原来是我没有关闭Dcache的原因,小弟想问一下Dcache怎么会影响DMA传输的呢?

xmshao 回答时间:2023-4-21 11:29:02

Zambooه٥ 发表于 2023-4-17 10:16
感谢大佬,原来是我没有关闭Dcache的原因,小弟想问一下Dcache怎么会影响DMA传输的呢?
...

开启D-CACHE导致DMA传输产生异常 很常见。 其中 原因 这里没法一句两句说清楚。 核心就是注意数据一致性问题。

Zambooه٥ 回答时间:2023-4-23 17:00:45

xmshao 发表于 2023-4-14 16:38
这些问题往往会涉及到很细节的原因。很难一下说定原因。</p>
<p>

十分感谢

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版