打印

f2812 FFT运算问题

[复制链接]
2374|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wkdxuelei|  楼主 | 2013-7-24 11:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大虾们,小弟有个问题请教下,我写的FFt程序在大道科技的开发板上可以正常运行,但是在我们自己板子上的DSP里面就运行不了,FFT的ipcb和mag都为-1,两个板子的外部管脚配置只有轻微差异,请问各位大虾们,知道是什么原因引起的吗?谢谢!!(注:我们的板子有个串行外部flash,之前烧写过其他程序)

相关帖子

沙发
zhangmangui| | 2013-7-24 15:03 | 只看该作者
你可以先用你的板子跑一个效果明显的例子  如果正常  说明你的启动方式等 的外部选择是对的
然后跑你的FFT程序  应该是可以的

使用特权

评论回复
板凳
wkdxuelei|  楼主 | 2013-7-24 17:26 | 只看该作者
谢谢斑竹,程序中AD采样和FIR滤波都正常,就是到了FFT运算就出问题了,之前怀疑是地址分配有问题,但一直调试又不像是这个原因,所以感到很困惑

使用特权

评论回复
地板
zhangmangui| | 2013-7-24 22:58 | 只看该作者
加油解决  分享给大家

使用特权

评论回复
5
wkdxuelei|  楼主 | 2013-7-25 16:51 | 只看该作者
今天又调试了下,发现FFT的运算用到了外部的SRAM,而我们自己的产品上是没有外部SRAM的,在CMD文件里面将FFT运算分配到DSP片内地址,好像还是运行不了? 难道2812的片内存储空间不足,不足以运行FFT(1024个点)?

使用特权

评论回复
6
wowow| | 2013-7-26 08:00 | 只看该作者
如果fft一直要跑的话,把它计算所用缓冲区用全局变量定义,这样如果内存不够链接会报错。
如果用局部变量或malloc,要看stack/heap大小‘

使用特权

评论回复
7
wkdxuelei|  楼主 | 2013-7-26 09:13 | 只看该作者
wowow 发表于 2013-7-26 08:00
如果fft一直要跑的话,把它计算所用缓冲区用全局变量定义,这样如果内存不够链接会报错。
如果用局部变量或 ...

定义的是全局变量,我把FFT的运算指到起始地址为0X180000,还是运行不了,并且0x180000地址并没有数据,也说明FFT并没有进行计算,是不是一定得需要外部SRAM才能运行呢?

使用特权

评论回复
8
wowow| | 2013-7-26 10:44 | 只看该作者
单步调试看看吧。

使用特权

评论回复
9
zhangmangui| | 2013-7-26 12:14 | 只看该作者
wkdxuelei 发表于 2013-7-25 16:51
今天又调试了下,发现FFT的运算用到了外部的SRAM,而我们自己的产品上是没有外部SRAM的,在CMD文件里面 ...

这个应该是不至于这么小的   在改改CMD吧

使用特权

评论回复
10
zhangmangui| | 2013-7-26 12:16 | 只看该作者
wkdxuelei 发表于 2013-7-25 16:51
今天又调试了下,发现FFT的运算用到了外部的SRAM,而我们自己的产品上是没有外部SRAM的,在CMD文件里面 ...

如果以前是在外部SRAM中的话   你的一些映射都在zone区的地址   这个也要做相应的修改

使用特权

评论回复
11
wkdxuelei|  楼主 | 2013-7-29 11:06 | 只看该作者
zhangmangui 发表于 2013-7-26 12:16
如果以前是在外部SRAM中的话   你的一些映射都在zone区的地址   这个也要做相应的修改 ...

恩,zone区的地址都也改过了,我继续调试看看

使用特权

评论回复
12
zhangmangui| | 2013-7-29 13:07 | 只看该作者
wkdxuelei 发表于 2013-7-29 11:06
恩,zone区的地址都也改过了,我继续调试看看

加油  调试出来了  分享给大家

使用特权

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

本版积分规则

6

主题

160

帖子

1

粉丝