是不是SYSCLKOUT? 即CPU 时钟数? 我的一个FFT程序如下
rfft_adc.Tail = &rfft.OutBuf; // Link the RFFT_ADC_F32_STRUCT to
// RFFT_F32_STRUCT. Tail pointer of
// RFFT_ADC_F32_STRUCT is passed to
// the OutBuf pointer of RFFT_F32_STRUCT
rfft.FFTSize = nRFFT_SIZE;
rfft.FFTStages = nRFFT_STAGES;
rfft_adc.InBuf = Signal_In; // Input buffer
//rfft.InBuf = Signal_In; // Input buffer
rfft.OutBuf = &RFFT_Out_Buf[0]; // Output buffer
rfft.CosSinBuf = &RFFT_Coef_Buf[0]; // Twiddle factor buffer
rfft.MagBuf = Signal_Mag; // Magnitude buffer
rfft.PhaseBuf = Signal_Phase;
RFFT_f32_sincostable(&rfft); // Calculate twiddle factor
RFFT_adc_f32(&rfft_adc); // Calculate real FFT with 12-bit ADC input
这段程序的执行时间 TI 给出的benchmark是 29466 cycle count, 我的系统是28335, 运行时钟是150M, RAM 使用片外RAM,测量下来所需时间是2508380*6.67ns = 16.7ms, 为什么会相差这么大? 我想了想,除了使用 片外RAM外,差别在哪里? 怎么会这样慢? 我在程序中使用了c28x fast 库的。