您尚未登录。

楼主 #1 2020-04-02 13:54:44

TivonLiu
会员
注册时间: 2019-12-27
已发帖子: 46
积分: 36

测试了一下RTT中用DMA和for循环拷贝128K花费的时间

tiny200 f1c200s

01-01 00:00:15.503 I/NO_TAG tshell: cp 128K used 1077 us whit for-circle-enCache,err 0
01-01 00:00:15.517 I/NO_TAG tshell: cp 128K used 1824 us whit DMA-disCache,err 0
01-01 00:00:15.525 I/NO_TAG tshell: cp 128K used 2037 us whit DMA-enCache,err 0
01-01 00:00:15.539 I/NO_TAG tshell: cp 128K used 5877 us whit for-circle-disCaches,err 0
periph_get_pll_clk:600000000
cpu_get_clk:408000000
ahb_get_clk:200000000
apb_get_clk:100000000
ddr_pll_get_clk:480000000

01-01 00:00:11.440 I/NO_TAG tshell: cp 128K used 1088 us whit for-circle-enCache,err 0
01-01 00:00:11.454 I/NO_TAG tshell: cp 128K used 1674 us whit DMA-disCache,err 0
01-01 00:00:11.462 I/NO_TAG tshell: cp 128K used 1888 us whit DMA-enCache,err 0
01-01 00:00:11.476 I/NO_TAG tshell: cp 128K used 5878 us whit for-circle-disCaches,err 0
periph_get_pll_clk:600000000
cpu_get_clk:408000000
ahb_get_clk:300000000
apb_get_clk:150000000
ddr_pll_get_clk:480000000

01-01 00:00:12.966 I/NO_TAG tshell: cp 128K used 1098 us whit for-circle-enCache,err 0
01-01 00:00:12.980 I/NO_TAG tshell: cp 128K used 1568 us whit DMA-disCache,err 0
01-01 00:00:12.987 I/NO_TAG tshell: cp 128K used 1781 us whit DMA-enCache,err 0
01-01 00:00:12.001 I/NO_TAG tshell: cp 128K used 5867 us whit for-circle-disCaches,err 0
periph_get_pll_clk:600000000
cpu_get_clk:408000000
ahb_get_clk:600000000
apb_get_clk:300000000
ddr_pll_get_clk:480000000

01-01 00:00:17.937 I/NO_TAG tshell: cp 128K used 1056 us whit for-circle-enCache,err 0
01-01 00:00:17.952 I/NO_TAG tshell: cp 128K used 1568 us whit DMA-disCache,err 0
01-01 00:00:17.959 I/NO_TAG tshell: cp 128K used 1674 us whit DMA-enCache,err 0
01-01 00:00:17.972 I/NO_TAG tshell: cp 128K used 5590 us whit for-circle-disCaches,err 0
periph_get_pll_clk:600000000
cpu_get_clk:600000000
ahb_get_clk:600000000
apb_get_clk:300000000
ddr_pll_get_clk:480000000

NDMA通道手册上最大传输128K,其实最大256K-1都可以,因为寄存器有18位,我试过暂时没有问题

最近编辑记录 TivonLiu (2020-04-02 13:56:31)

离线

楼主 #4 2020-04-02 15:53:58

TivonLiu
会员
注册时间: 2019-12-27
已发帖子: 46
积分: 36

Re: 测试了一下RTT中用DMA和for循环拷贝128K花费的时间

aozima 说:

CPU拷贝刷cache没?
for拷贝每次拷贝多少字节?

这些也会稍微影响性能。
不过这芯片的主频比总线快不少,所以这块影响不是很大。

cpu拷贝如果关cache就是最慢那个,开cache就是最快那个

所有拷贝都是关中断后进行的,计算时间使用的是硬件定时器

离线

楼主 #8 2020-04-02 17:14:33

TivonLiu
会员
注册时间: 2019-12-27
已发帖子: 46
积分: 36

Re: 测试了一下RTT中用DMA和for循环拷贝128K花费的时间

staunchheart 说:

能将测试的代码发出来作个参考吗?

dma.zip
写得乱,见笑了
启动命令cmptest

离线

楼主 #11 2020-04-02 17:27:58

TivonLiu
会员
注册时间: 2019-12-27
已发帖子: 46
积分: 36

Re: 测试了一下RTT中用DMA和for循环拷贝128K花费的时间

tomyqg 说:

ddr跑这么高,稳定不啊

默认312,瞎改,反正不会掉肉

离线

楼主 #12 2020-04-02 17:29:37

TivonLiu
会员
注册时间: 2019-12-27
已发帖子: 46
积分: 36

Re: 测试了一下RTT中用DMA和for循环拷贝128K花费的时间

staunchheart 说:

原来玩RTT的还有这么多朋友呀,希望能与你加QQ。
我有些问题想请教。

请教不敢当,我早就在你的群中了,痴猫追风

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn