以STM32CubeMX创建DSP库工程方法二
以Keil创建DSP库工程方法二
Keil 中宏定义的添加
编译后直接报错高达420项,摘取一部分错误信息下来如下:
D:\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\DSP\Include\arm_math.h(6911): error: #757: function “int32_t” is not a type name
以上主要报的是冲突的错,说是已经在别的地方创建了 “int32_t”。解决方法搜索了如下
就是说保证文件的唯一性才避免上述报错的问题。
有两个arm_math.h文件,第一个是安装Kile 的ARM::CMSIS 包已经有只带了,另外一个是下载DSP库后生成一个,而且这一个是带有钥匙的,无法修改。只能修改第一个原本的文件。
第一个路径:E:\STM32CubeMXUART1-DSP\Middlewares\ST\ARM\DSP\Inc
第二个路径:D:\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\DSP\Include
技术有限,
第一个想法 ,我通过在main.c 中直接安排上路径方式引用头文件,结果还是无法消除报错。
第二个想法 ,在魔术棒的C/C++项目下增加包含路径,我没有试过,但是这个路径应该会有别的函数要调用的吧?
第三个想法 ,最直接了,删除第一个路径下的arm_math.h文件。但是在下次创建新工程或使用别的程序会缺少文件而直接报错。不管了,先试试。
成功通过编译
通过修改