Stm32L4 的dsp库设置和M4的有什么不一样的吗?
我是按这个步骤加的1. 添加宏定义ARM_MATH_CM4,__CC_ARM,ARM_MATH_MATRIX_CHECK,ARM_MATH_ROUNDING
2. 将 arm_cortexM4l_math.libarm_cortexM4lf_math.lib 加入工程
3.#include "arm_math.h"
#include "arm_const_structs.h"
4. arm_cfft_f32(&arm_cfft_sR_f32_len1024,ADC_value,0,1);
arm_cmplx_mag_f32(ADC_value,FFT_buff,1024);
arm_max_f32(FFT_buff,1024,&,&freq);
程序可以运行,编译的时候会产生Warning: L6989W: Could not apply patch sdcomp-29491-629360 to instruction VPOP {d8-d15} at offset 0x1c2, instruction is within an IT block and is not the last instruction for arm_cfft_radix8_f32.o(.text).
生成的结果和matlab的结果很不一样,不知道问题出在哪
从警告信息上看,像是VPOP这个指令有异常 L4 的库和M4的确不能混用,L4 包含浮点和低功耗;L4 只能用 L4 的库,M4 只能用 M4 的库,否则Warning: L6989W 绝对出来。如果你是M4 的话,分别加入库arm_cortexM4lf_math.lib, arm_cortexM4l_math.lib试下;如你用L4,您得更换库文件 提醒下:
1、你的相关函数是否调用对了,你的点数跟你的radix_n是否匹配;
2、你用硬件FPU的话,添加arm_cortexM4lf_math.lib就可以了。
页:
[1]