在OMAP3530处理器上使用C6EZAccel改进测试性能

[复制链接]
 楼主| zhanghqi 发表于 2012-1-27 17:03 | 显示全部楼层 |阅读模式
计划编写一个运行于OMAP3530处理器的C64x+核。就以DSPLIBDSP_fft16x16()函数来作为例子,我在DSP_fft16x16_Params 结构中增加了cycle_counter来存储从DSP端获取的循环指针。问题是不论我对其写入什么代码,ARM端的值都不会变化。
 楼主| zhanghqi 发表于 2012-1-27 17:03 | 显示全部楼层
我想这可能是因为SDP端引起的代码一致性问题。
午夜粪车 发表于 2012-1-27 17:06 | 显示全部楼层
需要将循环指针从DSP缓存中写入DDR存储器中以获取循环数目
 楼主| zhanghqi 发表于 2012-1-27 17:06 | 显示全部楼层
怎么样将DSP端的值传输到ARM端
yszong 发表于 2012-1-27 17:08 | 显示全部楼层
对,而不是从ARM端接收数据
 楼主| zhanghqi 发表于 2012-1-27 17:08 | 显示全部楼层
是 啊
dengdc 发表于 2012-1-27 17:10 | 显示全部楼层
你可以使用编解码引擎轮廓
dengdc 发表于 2012-1-27 17:11 | 显示全部楼层
以下链接中的内容描述了它是如何在你的DSP上给出你的代码轮廓:

http://processors.wiki.ti.com/index.php/Codec_Engine_Profiling
huangchui 发表于 2012-1-27 17:13 | 显示全部楼层
你也可以传输一个额外的变量到C6accel数据结构DSP_fft16x16_Params,并且将循环指针写入这个变量
huangchui 发表于 2012-1-27 17:13 | 显示全部楼层
然后在DSP中将缓存中使其非合法。
 楼主| zhanghqi 发表于 2012-1-27 17:15 | 显示全部楼层
简单的方法呢?
huangchui 发表于 2012-1-27 17:15 | 显示全部楼层
最简单的方法是在iUniversal_process调用的Outargs中使用变量尺寸。
午夜粪车 发表于 2012-1-27 17:18 | 显示全部楼层
最简单的方法是在iUniversal_process调用的Outargs中使用变量尺寸。
huangchui 发表于 2012-1-27 17:15
对此你可能会有其它方法,比如在Outbufs 或 inOutBuffs中定义额外的内存尺寸为long
午夜粪车 发表于 2012-1-27 17:18 | 显示全部楼层
并且将循环数置于缓存中最后的位置。
huangchui 发表于 2012-1-27 17:20 | 显示全部楼层
嗯,本质上市为了保证存储了循环数的存储器位置必须是在DSP中为writeback非法的
huangchui 发表于 2012-1-27 17:20 | 显示全部楼层
不论是在C6accel代码还是在编解码引擎中。
lizye 发表于 2012-1-27 17:22 | 显示全部楼层
用DspLINK是最简单,效率也是最高的。
 楼主| zhanghqi 发表于 2012-1-27 17:23 | 显示全部楼层
结贴了,春节快乐
初涉职场 发表于 2012-1-27 23:56 | 显示全部楼层
好高级啊
jinpaidianzi 发表于 2012-1-28 00:53 | 显示全部楼层
代码不一致造成的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

11757

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部

852

主题

11757

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部