请选择 进入手机版 | 继续访问电脑版

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

能否使用DMA搬运stm32g473的ccm sram的数据?

[复制链接]
yr 提问时间:2022-8-18 22:06 / 已解决
鉴于用户手册描述ccm sram都跟DMA1和DMA2有连接,但实际上,尝试用DMA把SRAM1中数据与CCM SRAM互传,或者在CCM SRAM中互传,或者CCM SRAM与外设互传,皆不成功,是手册信息错误还是其他原因,请教了。
收藏 评论7 发布时间:2022-8-18 22:06

举报

7个回答
xmshao 回答时间:2022-8-19 20:44:08
对于G4芯片,DMA是可以访问CCM RAM的,手册上也写得清楚,同时 从系统框架图上也可以看出来
yr 回答时间:2022-8-19 22:15:32
看起来貌似可以,但是实际上不行,测试程序很简单,2路DMA通道分别搬运同一个数组到0x20000070和0x10000000, 结果程序卡住107行,可以在SRAM中传输,但是无法传到CCM,一直等待搬运结束...附上keil工程,用的是nucleo-474开发板。



ccm.rar

下载

982.02 KB, 下载次数: 3

工程

yklstudent 回答时间:2022-8-20 10:59:17
上代码吧
xmshao 回答时间:2022-8-22 16:59:53
ok,
这边再测试下,然后跟你讨论。
yr 回答时间:2022-8-24 09:59:22
有结论了吗?
xmshao 回答时间:2022-8-24 10:12:43
yr 发表于 2022-8-24 09:59
有结论了吗?

可以的。

做dma时, 那个CCM地址要选用另外一个编址,你设置在0x20005800开始的地方就可以了。

我这边测试通过了的。

yr 回答时间:2022-8-24 11:34:45
映射的CCM的地址应该是0x20018000,也就是说用DMA传数需要用0x20000000后的地址,在memory view看0x10000000数据跟0x200180000是一样的。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版