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)
离线
以前就发现memcpy比dma还快点
离线
CPU拷贝刷cache没?
for拷贝每次拷贝多少字节?这些也会稍微影响性能。
不过这芯片的主频比总线快不少,所以这块影响不是很大。
cpu拷贝如果关cache就是最慢那个,开cache就是最快那个
所有拷贝都是关中断后进行的,计算时间使用的是硬件定时器
离线
那dma还有什么意义啊
测试环境应该裸机吧?
有没有LINUX下的结果?
离线
DMA本来就不是为了快而生的。DMA是为了解放CPU而生的。在进行DMA copy的时候CPU可以干别的事。
顺便说一下,memcpy也不是for循环实现的。memcpy是libcpu提供的高度优化的汇编代码,对各种对其、数据大小都做了高度优化。
离线
能将测试的代码发出来作个参考吗?
离线
ddr跑这么高,稳定不啊
离线
dma.zip
写得乱,见笑了
启动命令cmptest
原来玩RTT的还有这么多朋友呀,希望能与你加QQ。
我有些问题想请教。
离线
ddr跑这么高,稳定不啊
默认312,瞎改,反正不会掉肉
离线
原来玩RTT的还有这么多朋友呀,希望能与你加QQ。
我有些问题想请教。
请教不敢当,我早就在你的群中了,痴猫追风
离线
请教一下,DMA,如果采用中断的方式处理传输完成,有没有DEMO。
我没有调通。
这个代码中,DMA传输是用检测寄存器的方式等待。
离线
我想看看F1C100S的DMA寄存器怎么配置的。
离线