STM32F40xx搭建Keil工程编译错误(stm32f4xx_fmc.c)

STM32F40xx搭建Keil工程编译错误(stm32f4xx_fmc.c)(stm32f4xx_fsmc.c)

状况:

搭建完Keil工程后进行编译后发生如下的错误:

image-20211012065755442

就是说一堆的宏没有定义。

原因:

stm32f4xx_fmc.c的在固件库中的一个外设,仅作用于STM32F429_439xx、STM32F446xx、STM32F469_479xx、STM32F427_437xx系列的芯片,如果不是这些芯片的话将不会引用stm32f4xx_fmc.h这个头文件,也就产生了宏没有定义的问题。

移植过程中出现的问题,原因是F42不支持FSMC,支持FMC,f407支持FSMC,编程前需要看手册啊

具体的说,我们在Option for Target的C++选项卡的Define填写了当前所使用芯片的所属系列。
image-20211012065937415

而这个宏在stm32f4xx_conf.h文件中进入的分支并没有引用stm32f4xx_fmc.h这个头文件。

image-20211012070023635

解决:

不要再Keil的分组中添加stm32f4xx_fmc.c文件,删除后重新编译即可。

posted @ 2021-10-12 07:08  MustardGuys  阅读(712)  评论(0编辑  收藏  举报