This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/TMS320C5517:HWA FFT 参考代码

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/572121/compiler-tms320c5517-hwa-fft-reference-code

器件型号:TMS320C5517

工具/软件:TI C/C++编译器

您好!

我正在尝试使用 DSP 屏蔽的 C5517中的 HWA FFT (https://web.stanford.edu/group/kovacslab/cgi-bin/index.php?page=dsp-shield)


未定义 第一
个引用的符号 文件中
------ --------
hwafft_8pts (long *、long *、unsigned short、unsigned short) main.obj
hwafft_br (long *、long *、unsigned short) main.obj

错误:未解析的符号仍然
存在错误:链接期间遇到错误;未生成"main.out" 

-stack 0x2000 /*主堆栈大小*/
-sysstack 0x1000 /*次要堆栈大小*/
-heap 0x6400 /*堆区域大小 */


MEMORY
{
PAGE 0:
vec (rwx):origin = 0000100h length = 000200h
Data0 (rwx):origin = 0000300h length = 05D00h
Data1(rwx):origin =0006000h length =0A000h
SARAM0 (RX):origin = 0010000h length = 038000h
SARAM1 (RW):origin = 0048000h length = 002000h
SARAM2 (RW):origin = 004A000h length = 002000h
SARAM3 (RW):origin = 004C000h length = 002000h
SDRAM (RW) :origin = 0050000h length = 800000h

}

SECTIONS
{
vectors :>VEC align =256
.text :>SARAM0 ALIGN = 4.data
:> SARAM0
.cinit :> SARAM0
.switch :> SARAM0
.stack :> Data1
.sysstack :> Data1
.bss :> SARAM0,fill =0
.sysmem :> Data1
.const :> SARAM0
.cio:> SARAM0
.extmem :> SDRAM
USB_buffer1:> SARAM1
USB_buffer2:> SARAM2
USB_buffer3:> SARAM3,fill =0

组:align (32)
{
.const:twiddle32
.const:Twiddle
audio_buffers
FFT_buf

}> DATA0
}

// HWAFT 例程 ROM 地址*/
* C5517 (Phoenix 2.1)*/
_hwafft_br= 0x00fefc;
_hwafft_8pts= 0x00feff10;
_hwafft_16pts= 0x00fwafft_0155_dfft

;_hwafft = 0x00fwafft_0155_dffpts = 0x00fufft;_hwafft_0155_dhwafft = 0x00_0
_hwafft_128pts= 0x00ff05f3;
_hwafft_256pts= 0x00ff0804;
_hwafft_512pts= 0x00ff0a02;
_hwafft_1024pts= 0x00ff0c7c;

#include "tistdtypes.h"
#include "hwafft.h"

const int FFT_LEN = 64;

int32 data[2 * FFT_LEN]={0};
int32 scrate[2 * FFT_LEN]={0};
int32 data_br[2 * FFT_LEN]={0};int16

_intuSEL flag;


int16 uint_unt flag;int16


int main( void )
{

FFT_flag = FFT_flag;
scale_flag = scale_flag;
//数据=<1024点复数输入>;

/*位反转1024点数据,存储到 DATA_br 中,DATA_br 与对齐
12个最低有效二进制零*/
hwafft_br (data、data_br、data_LEN_1024);/*位反向输入数据、
目的缓冲区已对齐*/
//计算1024点 FFT,启用缩放。 *
OUT_SEL = hwafft_8pts (data_br、scratch、FFT_flag、scale_flag);
如果(OUT_SEL = OUT_SEL_DATA)
{
结果=数据;
}
其他
{
结果=划痕;
}


}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    此信息已转发给设计团队。 反馈将发布在此处。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    我不确定问题是什么。

    显然、项目中的某个操作会阻止链接器看到链接器命令文件中的硬件引用。  我想知道项目是否确实使用了这个连接器命令文件。  (您可以在链接器命令文件中插入错误并尝试重建、 查看工程是否给出错误)

     实际上、我编写了一份应用手册、介绍如何为 C55系列构建基准项目。  请查看 以下链接、并尝试在此处重复这些步骤。   

    http://www.ti.com/lit/an/sprac34/sprac34.pdf

    以完全按照文档中所述构建工程。  

    我查看了我拥有的项目的源文件、我在源文件和您的源文件之间看到的唯一区别是我没有包含 hwafft.h

    同样、请尝试根据应用手册中的说明重建项目、并告诉我结果。

    已运行