请教关于FFT例程中的CacheEnableMAR函数 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3369|回复: 2

[未解决] 请教关于FFT例程中的CacheEnableMAR函数

[复制链接]

2

主题

6

帖子

66

积分

注册会员

Rank: 2

积分
66
发表于 2019-5-30 18:26:01 | 显示全部楼层 |阅读模式
问题比较多,希望能帮忙逐条答疑解惑,非常感谢!!

在FFT_Benchmark例程中,有是否使能L1,L2缓存两种处理方式
// 禁用
    CacheDisableMAR((unsigned int)0xC0000000, (unsigned int)0x08000000);

// 使能缓存 L1 及 L2
    CacheEnableMAR((unsigned int)0xC0000000, (unsigned int)0x08000000);
    CacheEnable(L1DCFG_L1DMODE_32K | L1PCFG_L1PMODE_32K | L2CFG_L2MODE_256K);

问题如下:
(1)注释写的是使能缓存L1及L2,请问CacheDisableMAR和CacheEnableMAR函数为什么是针对DDR2进行的处理?(DDR2地址为0xC000000)
(2)改变CacheDisableMAR和CacheEnableMAR函数中的byteSize,如改为0x04000000、0x0F000000等,应该表示的是DDR缓存空间有变化,但测试FFT速率基本无变化,为什么?
(3)保持例程默认配置,在使能缓存L1及L2时,注释掉CacheEnable(L1DCFG_L1DMODE_32K | L1PCFG_L1PMODE_32K | L2CFG_L2MODE_256K);其余未改动;按照我的理解是不再使能缓存,但测试FFT速率仍基本无变化,为什么?
(4)能否简单解释下FFT速率变化的原因?在实际应用中,缓存也许会被其他应用占用,那还能提升FFT速率么?
(5)按照上述配置更改过FFT_Benchmark后,开发板未重新上电,测试Memory_Benchmark,发现L2和DDR2速率变化很大,特别是DDR2速率很高,截图如下,请问这是由于缓存配置仍按照FFT工程的修改么?为什么速率变动这么大?


Memory_Benchmark默认配置运行结果:
L2 RAM Benchmark
Write Speed 1706.178161 MB/s
Read Speed 1699.666031 MB/s

Share RAM Benchmark
Write Speed 195.978656 MB/s
Read Speed 96.523789 MB/s

DDR2 Benchmark
Write Speed 193.215099 MB/s
Read Speed 52.019450 MB/s  


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

2

主题

6

帖子

66

积分

注册会员

Rank: 2

积分
66
 楼主| 发表于 2019-6-11 09:21:51 | 显示全部楼层
自己顶顶,求解答~~
回复 支持 反对

使用道具 举报

3

主题

524

帖子

2083

积分

创龙

Rank: 8Rank: 8

积分
2083
发表于 2019-6-13 18:11:41 | 显示全部楼层
请查看相关函数说明和数据手册。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-3-28 23:57 , Processed in 0.038007 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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