【AT-START-F407测评】+ FFT效率测试
抽空对240MHz运行的AT32F407VG做1024点FFT。DSP使用CMSIS DSP的arm_cortexM4lf_math.lib。无任何优化。通过TMR1对其运行时间测量,得到运行时间为589us。注意,使用优化会造成时间测量错误。
这里不得不吐槽一下,为什么在定时器配置中已经通过TMR_ClearITPendingBit(TMR1,TMR_FLAG_Update);清除中断标志位,可还是会进入一次中断。
下图为STM32F407做FFT的效率:
中断重入的问题之前遇到过,退出中断前加 __DSB();可以解决,M4的流水线特性导致的。 请问 “下图为STM32F407做FFT的效率:” 具体是描述AT32F407还是STM32F407? muyichuan2012 发表于 2021-2-1 09:36
请问 “下图为STM32F407做FFT的效率:” 具体是描述AT32F407还是STM32F407?
下图指的是STM32F103和STM32F407使用ST官方的FFT算法运行时间测量结果。 这里更正一下。由于在配置TMR1时,分频系数应该是239,结果写成239-1,即238,则TMR1的时间分辨率为1.004us,则实际运行时间为591us。特此更正说明。 本帖最后由 fcccc 于 2021-2-2 16:12 编辑
比STM407慢这么多没理由啊他们才168Mhz. fcccc 发表于 2021-2-2 16:11
比STM407慢这么多没理由啊他们才168Mhz.
ST使用的是专门优化过的DSP库,所以看起来数据很漂亮。我这个使用的是ARM推出的CMSIS DSP,应该没有优化,并且这个测试程序为了能正常测量出数据,也没有开优化(-O0)。
页:
[1]