数组放在DDR3和SL2中运行效率为什么一样 - TMS320C6678 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3420|回复: 0

[未解决] 数组放在DDR3和SL2中运行效率为什么一样

[复制链接]

38

主题

59

帖子

322

积分

中级会员

Rank: 3Rank: 3

积分
322
发表于 2018-1-13 10:11:35 | 显示全部楼层 |阅读模式
我用fread()函数从电脑硬盘上读取一幅图像数据,然后把图像数据等分六分,分别交给c6678的6个核来处理,我的想象是把图像数据放在SL2中要比放在DDR中效率要高很多,但是我发现效率没有任何提高,请问是怎么回事?
分配空间是这样进行的:
#pragma DATA_SECTION(img1, "image_1")
#pragma DATA_ALIGN(img1, 128)
int img1[640*100];
#pragma DATA_SECTION(img2, "image_2")
#pragma DATA_ALIGN(img2, 128)
int img2[640*100];
img1 ,img2。。。。。都是全局变量
其余4个核类似
然后用
image_1  >  SL2
image_2  >  DDR3
我多次运行发现无论放在SL2或DDR3中,对运行效率没有任何影响,
我想可能在以下3个环节有问题
1、通过fread()函数从电脑硬盘上读取图像的时候,应该是先把整幅图像读到DDR中,即使我用image_1  >  SL2,实际上图像任然需要从DDR拷贝到SL2中,这个过程比较耗时,所以和image_2  >  DDR3用时一样?
2、我从网上看需要把SL2映射到DDR3中,并且需要MSMC的内存设置为non-cacheable才行,请问怎么把SL2映射到DDR3,用MPAX怎么映射?
3、我的存放方法有问题吗,能使用image_1  >  SL2这种方式吗?

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 20:49 , Processed in 0.034971 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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