不论我对其写入什么代码ARM端的值都不会变化

[复制链接]
2452|22
 楼主| 栩栩如生 发表于 2013-8-11 18:10 | 显示全部楼层 |阅读模式
计划编写一个运行于OMAP3530处理器的C64x+核。就以DSPLIB中DSP_fft16x16()函数来作为例子,我在DSP_fft16x16_Params 结构中增加了cycle_counter来存储从DSP端获取的循环指针。问题是不论我对其写入什么代码,ARM端的值都不会变化。
 楼主| 栩栩如生 发表于 2013-8-11 18:10 | 显示全部楼层
我想这可能是因为SDP端引起的代码一致性问题。
小小猫咪 发表于 2013-8-11 18:12 | 显示全部楼层
需要将循环指针从DSP缓存中写入DDR存储器中以获取循环数目
zhangmangui 发表于 2013-8-11 18:13 | 显示全部楼层
不知道什么原因  帮忙顶
 楼主| 栩栩如生 发表于 2013-8-11 18:13 | 显示全部楼层
怎么样将DSP端的值传输到ARM端
dingy 发表于 2013-8-11 18:15 | 显示全部楼层
对,而不是从ARM端接收数据
zhanghqi 发表于 2013-8-11 18:16 | 显示全部楼层
zyf部长 发表于 2013-8-11 18:18 | 显示全部楼层
你可以使用编解码引擎轮廓
zyf部长 发表于 2013-8-11 18:18 | 显示全部楼层
以下链接中的内容描述了它是如何在你的DSP上给出你的代码轮廓:

http://processors.wiki.ti.com/index.php/Codec_Engine_Profiling
kangzj 发表于 2013-8-11 18:20 | 显示全部楼层
你也可以传输一个额外的变量到C6accel数据结构DSP_fft16x16_Params,并且将循环指针写入这个变量
kangzj 发表于 2013-8-11 18:20 | 显示全部楼层
然后在DSP中将缓存中使其非合法。
 楼主| 栩栩如生 发表于 2013-8-11 18:22 | 显示全部楼层
简单的方法呢?
pangb 发表于 2013-8-11 18:23 | 显示全部楼层
最简单的方法是在iUniversal_process调用的Outargs中使用变量尺寸。
chenjunt 发表于 2013-8-11 18:24 | 显示全部楼层
pangb 发表于 2013-8-11 18:23
最简单的方法是在iUniversal_process调用的Outargs中使用变量尺寸。

对此你可能会有其它方法,比如在Outbufs 或 inOutBuffs中定义额外的内存尺寸为long
ousj 发表于 2013-8-11 18:24 | 显示全部楼层
并且将循环数置于缓存中最后的位置。
zyf部长 发表于 2013-8-11 18:26 | 显示全部楼层
嗯,本质上市为了保证存储了循环数的存储器位置必须是在DSP中为writeback非法的
pangb 发表于 2013-8-11 18:27 | 显示全部楼层
不论是在C6accel代码还是在编解码引擎中。
小小猫咪 发表于 2013-8-11 18:29 | 显示全部楼层
用DspLINK是最简单,效率也是最高的。
 楼主| 栩栩如生 发表于 2013-8-11 18:29 | 显示全部楼层
嗯。我知道了,多谢大家
 楼主| 栩栩如生 发表于 2013-8-11 18:30 | 显示全部楼层
先结贴了,周末愉快
您需要登录后才可以回帖 登录 | 注册

本版积分规则

310

主题

2657

帖子

0

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