硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5070|回复: 8
收起左侧

[DMA] 官方在使用SDRAM时都会使用DMA传输数据

[复制链接]

10

主题

23

回帖

63

积分

初级会员

积分
63
发表于 2018-5-7 20:43:31 | 显示全部楼层 |阅读模式
在无意中发现,官方在使用SDRAM时都会使用DMA传输数据,F7 和 H7 都是这样,仔细对比安富莱的综合例程和原子的教程,都是没有使用DMA传输,
在实际上进行简单的注释之后比较发现,不使用DMA时,SDRAM 到SDRAM数据的传输的时候,
速度比使用DMA的快.疑问是,没有使用DMA的时候,SDRAM是在用cpu在进行拷贝所以才比较快吗?

F7:
snipaste_20180507_204042.png

H7:
snipaste_20180507_203917.png
回复

使用道具 举报

5

主题

196

回帖

211

积分

高级会员

积分
211
发表于 2018-5-7 21:24:08 | 显示全部楼层
很有可能,如果没关掉Cache
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106995
QQ
发表于 2018-5-8 01:05:35 | 显示全部楼层
你搞错了楼主,我们没有F7和H7的板子

一定要正确的理解一点,不管是DMA还是CPU,使用DMA的价值主要是降低CPU利用率,并不是比CPU的复制粘贴要快。

另外你对于SDRAM使用理解还不到位,H7里面SDRAM的最主要价值的是跟DMA2D配合使用的,这样才能发挥SDRAM的威力,DMA2D的使用价值是高于通用DMA的。性能很给力,专用于各种图形加速用的。

以我们F429板子为例,我所有的emWin例子,对SDRAM全部做了DMA2D图形加速。这个加速是要比CPU和通用DMA给力很多,是CPU操作的3倍。同时,大大降低CPU利用率。
http://www.armbbs.cn/forum.ph ... 121&highlight=DMA2D

回复

使用道具 举报

10

主题

23

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 2018-5-8 10:13:46 | 显示全部楼层
eric2013 发表于 2018-5-8 01:05
你搞错了楼主,我们没有F7和H7的板子。

一定要正确的理解一点,不管是DMA还是CPU,使用DMA的 ...

嗯,很遗憾安富莱还没出F7/H7的板卡.
对于SDRAM确实所知不多,另外可能是问题没问对,官方例程的SDRAM使用DMA进行数据传输,到底有什么意义呢,只是一贯做法?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106995
QQ
发表于 2018-5-8 10:19:32 | 显示全部楼层
ewrest 发表于 2018-5-8 10:13
嗯,很遗憾安富莱还没出F7/H7的板卡.
对于SDRAM确实所知不多,另外可能是问题没问对,官方例程的SDRAM使用D ...

仅仅是例子而已。
回复

使用道具 举报

10

主题

23

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 2018-5-8 16:11:45 | 显示全部楼层
手上有个项目是直接使用官方SDRAM例程,这一块想做修改,就是修改之后不知道会不会增加cpu多大的成本.
回复

使用道具 举报

2

主题

134

回帖

140

积分

初级会员

积分
140
发表于 2018-5-9 17:05:52 | 显示全部楼层
ewrest 发表于 2018-5-8 16:11
手上有个项目是直接使用官方SDRAM例程,这一块想做修改,就是修改之后不知道会不会增加cpu多大的成本.

期待楼主的测试结果  对我们也是一个非常不错的参考
回复

使用道具 举报

10

主题

23

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 2018-5-15 18:34:36 | 显示全部楼层
hanzixiangel 发表于 2018-5-9 17:05
期待楼主的测试结果  对我们也是一个非常不错的参考

在这一块上只是做了简单的测试,并未追究到底,所以无法给出一个测试结果.另外解决了项目困扰的问题后,这个问题就搁置.
回复

使用道具 举报

0

主题

10

回帖

10

积分

新手上路

积分
10
发表于 2018-9-30 09:35:53 | 显示全部楼层
ewrest 发表于 2018-5-15 18:34
在这一块上只是做了简单的测试,并未追究到底,所以无法给出一个测试结果.另外解决了项目困扰的问题后,这个 ...

官方的只是配置了DMA,但是没有真正使用起来的,只是为了让你可以条用READ_DMA 和 write_DMA两个接口,显示部分还是用的DMA2D
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-13 14:26 , Processed in 0.182210 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表