D:/Keil_v5/Arm/Packs/ARM/CMSIS/5.7.0/CMSIS/DSP/Source/CommonTables/arm_const_structs.c(65): error: unknown type name ‘arm_cfft_instance_f64’; did you mean ‘arm_cfft_instance_f32’?
const arm_cfft_instance_f64 arm_cfft_sR_f64_len256 = {
^~~~~~~~~~~~~~~~~~~~~
arm_cfft_instance_f32
D:/ST/Repository/STM32Cube_FW_H7_V1.9.0/Drivers/CMSIS/DSP/Include/arm_math.h(2272): note: ‘arm_cfft_instance_f32’ declared here
} arm_cfft_instance_f32;
^
D:/Keil_v5/Arm/Packs/ARM/CMSIS/5.7.0/CMSIS/DSP/Source/CommonTables/CommonTables.c(30): warning: In file included from…
D:/Keil_v5/Arm/Packs/ARM/CMSIS/5.7.0/CMSIS/DSP/Source/CommonTables/arm_const_structs.c(66): error: use of undeclared identifier ‘ARMBITREVINDEXTABLEF64_256_TABLE_LENGTH’
256, (const float64_t *)twiddleCoefF64_256, armBitRevIndexTableF64_256, ARMBITREVINDEXTABLEF64_256_TABLE_LENGTH
问题如下图,编译STM32H7的DSP库源码出错,原因也比较简单,要注意使用Cortex-Mx的DSP库,在包含头文件时直接添加路径Libraries\CMSIS\Include里面的头文件即可,而不需要添加Libraries\CMSIS\DSP\Include,这是因为路径Libraries\CMSIS\Include里面已经包含了DSP库的头文件。这个错误就是因为多包含了Libraries\CMSIS\DSP\Include
路径,具体为啥,可能是因为通过宏选择编译出了问题,有的不需要编译的也编译了,结果就出问题了。
编译成功如下图所示: