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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 519|回复: 0

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

[复制链接]

33

主题

53

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
发表于 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这种方式吗?

我知道答案 本帖寻求最佳答案回答被采纳后将获得系统奖励0 , 目前已有0人回答
最近访问 头像模式 列表模式
回复

使用道具 举报

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

本版积分规则  回帖提醒

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

GMT+8, 2018-12-19 06:18 , Processed in 0.112959 second(s), 34 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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