Other Parts Discussed in Thread: C2000WARE
现查出的问题有两个
1使用FFT库函数的CFFT_F32t函数时需要使用到lib库中定义的旋转因子(FPU32CFFTtwiddleFactors),库中定义它所在的SECTION为FPUfftTables,我将它分配在RAMGS0。DEBUG时,将程序直接下载进RAM时,运行结果正确,但是当把程序烧入FLASH后,FPU32CFFTtwiddleFactors所指向的数组内容全部为0,使得CFFT_F32t结果不正确。
2在程序中我利用SCI与上位机通信,启用了SCI的FIFO,定义了SCI的接收中断,在RXFIFO长度为2时中断应被触发。在DEBUG模式(包括RAM和FLASH)下,SCI可以接收,但是将程序烧写如FLASH并脱离DEBUG模式后,有时会出现SCI无法接收到上位机发送数据的情况。
程序使用的CMD文件为C2000Ware_DigitalPower_SDK_3_00_01_00\c2000ware\device_support\f2837xd\common\cmd下的2837xD_FLASH_lnk_cpu1.cmd。