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.

[参考译文] CCS/TMS320F28379D:TMS320F28379D

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/880497/ccs-tms320f28379d-tms320f28379d

器件型号:TMS320F28379D

工具/软件:Code Composer Studio

你(们)好
我将一个 FFT 代码复制到一个新项目中、编译器给出了以下错误:


#10010 null:链接期间遇到错误;未构建"FFT_Alirezaasadi.out"       
#10234-D null:未解析的符号仍保留   
gmake:***[全部]错误2.    
gmake[1]:***[FFT_Alirezaasadi.out]错误1.    
未解析的符号_main、首先在 D:/Code 中引用    

程序代码为:

#include "F28x_Project.h"
#include
#include
#include

#define TRSIZ 8.
#define swap (a、b) tempr=(a);(a)=(b);(b)= tempr

双 wtemp、wr、wPR、WPI、wi、 Theta;
双温度、温度;
INT N = TRSIZ;
int i = 0、j = 0、n = 0、m = 0、isign=-1、 istep、mmax;
double data1[2 * TRSIZ]={0、0、1、0、1、4、0、9、0、2、0、3、0、4、0、5、0};
double *data;

   空 dift()
   {
       InitSysCtrl();
       InitPieCtrl();
       InitPieVectTable();

       数据=&data1[0]- 1;
       N = N * 2;
       mmax = n/2;
       //计算 FFT
       while (mmax >= 2){
           istep = mmax << 1;
           Theta = isign*(6.28318530717959 / mmax);
           wtemp = sin (0.5*theta);
           WPR =-2.0*wtemp*wtemp;
           WPI = sin (theta);
           WR = 1.0;
           WI = 0.0;
           对于(m = 1;m < mmax;m += 2){
               对于(i = m;i <= n;i += istep){
                   J = I + mmax;
                   tempr = data[i];
                   Tempi = data[i + 1];
                   data[i]= data[i]+ data[j];
                   DATA[I + 1]= DATA[I + 1]+ DATA[j + 1];
                   data[j]= tempr - data[j];
                   data[j + 1]= tempi - data[j + 1];
                   tempr = wr*data[j]- wi*data[j+1];
                   Tempi = wer*data[j + 1]+ wi*data[j];
                   data[j]= tempr;
                   data[j + 1]= tempi;
                           }
                       
               Wtemp = wr;
               WR += wtemp*WPR - wi*WPI;
               Wi += wtemp*WPI +wi*WPR;
           }
           mmax = mmax / 2;
       }
       //执行位反转
       J = 1;
       对于(i = 1;i < n;i += 2){
           如果(j > I){
               swap (data[j]、data[i]);
               swap (data[j + 1]、data[i + 1]);
           }
           M = n >> 1;
           while (m >= 2 && j > m){
               j -= m;
               m >>= 1;
           }
           j += m;
       }
       

解决方案是什么?

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

    项目中的源文件之一需要有一个 main()函数。 如果这是项目中唯一的源文件,则应将函数名更改为 main()。 否则,应该有另一个调用 saddtt 的 main()函数。