打印

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

[复制链接]
3392|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
monkeypony|  楼主 | 2011-9-25 21:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我计划编写一个运行于OMAP3530处理器的C64x+核。就以DSPLIBDSP_fft16x16()函数来作为例子,我在DSP_fft16x16_Params 结构中增加了cycle_counter来存储从DSP端获取的循环指针。问题是不论我对其写入什么代码,ARM端的值都不会变化。我想这可能是因为SDP端引起的代码一致性问题。所以我想问的是,我是否需要将循环指针从DSP缓存中写入DDR存储器中以获取循环数目?有谁知道怎么样将DSP端的值传输到ARM端,而不是从ARM端接收数据?

相关帖子

沙发
elecintop| | 2011-9-25 21:59 | 只看该作者
你可以使用编解码引擎轮廓,以下链接中的内容描述了它是如何在你的DSP上给出你的代码轮廓:

http://processors.wiki.ti.com/index.php/Codec_Engine_Profiling

或者你也可以传输一个额外的变量到C6accel数据结构DSP_fft16x16_Params,并且将循环指针写入这个变量,然后在DSP中将缓存中使其非合法。

其它一些简单的工作也可以按如下的方法来做:
最简单的方法是在iUniversal_process调用的Outargs中使用变量尺寸。对此你可能会有其它方法,比如在Outbufs 或 inOutBuffs中定义额外的内存尺寸为long,并且将循环数置于缓存中最后的位置。本质上市为了保证存储了循环数的存储器位置必须是在DSP中为writeback非法的,不论是在C6accel代码还是在编解码引擎中。

使用特权

评论回复
板凳
lgm888| | 2011-9-25 22:41 | 只看该作者
楼上详解!学习了

使用特权

评论回复
地板
spop| | 2011-10-30 22:51 | 只看该作者
用DspLINK是最简单,效率也是最高的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

133

主题

715

帖子

0

粉丝