TI中文支持网
TI专业的中文技术问题搜集分享网站

TI DSP(C674x)中如何提升自写代码的运行效率,求助,谢谢!

求助,谢谢指导!

     我在awr1843的信号数据处理过程中,要对fft的结果进行累加处理,就自己写了个简单的程序,如下:

void MmwDemo_sum(MmwDemo_DSS_DataPathObj *obj, int32_t rxAntIdx, uint32_t rangeIdx, uint32_t* waitingTime, int32_t txAntIdx)
{
    uint32_t idx;
 volatile uint32_t startTimeWait;
if (rxAntIdx == 0)

  for (idx = 0; idx < obj->numDopplerBins; idx++)
  {
      obj->rxAntSum[idx] = obj->fftOut2D[idx];
//   obj->rxAntSum[idx].real = obj->fftOut2D[idx].real;
//   obj->rxAntSum[idx].imag = obj->fftOut2D[idx].imag;
  }
}
else
{
  for (idx = 0; idx < obj->numDopplerBins; idx++)
  {
      obj->rxAntSum[idx].real += obj->fftOut2D[idx].real;
      obj->rxAntSum[idx].imag += obj->fftOut2D[idx].imag;  //简单的做加法
  }  
 }   
}
上述,fftOut2D、rxAntSum均为cmplx32ReIm_t类型数据
typedef struct cmplx32ReIm_t_
{
    int32_t real; /*!< @brief real part */
    int32_t imag; /*!< @brief imaginary part */
} cmplx32ReIm_t;
就上述这么一个简单的加法程序,同等条件下,完成一次numDopplerBins = 512的加法时间竟然要用到  35.5us, 而512点fft耗时仅为 7.2us,  why?why?  
初次接触TI DSP,查询了下,说是采用TI DSP的 内联指令的可以提高处理效率的,怎么整? 求助大侠们知道我吧上述简单的加法改造下,谢谢!
Shine:

您可以先尝试使用-o优化选项优化代码,请参考下面的wiki网站。
processors.wiki.ti.com/…/C6000_Compiler:_Recommended_Compiler_Options

赞(0)
未经允许不得转载:TI中文支持网 » TI DSP(C674x)中如何提升自写代码的运行效率,求助,谢谢!
分享到: 更多 (0)