使用STM32CubeMX重新生成代码报错SystemCoreClock multiply defined

编译工程,会出现如下错误:

Error: L6200E: Symbol SystemCoreClock multiply defined (by system_stm32f4xx_1.o and system_stm32f4xx.o).

Error: L6200E: Symbol AHBPrescTable multiply defined (by system_stm32f4xx_1.o and system_stm32f4xx.o).

Error: L6200E: Symbol APBPrescTable multiply defined (by system_stm32f4xx_1.o and system_stm32f4xx.o).

rror: L6200E: Symbol SVC_Handler multiply defined (by stm32f4xx_it.o and irq_cm4f.o).

(单击图片可放大)

使用STM32CubeMX重新生成代码报错SystemCoreClock multiply defined_第1张图片

同样的,这是由于STM32CubeMX生成的工程所包含的文件"system_stm32f4xx.c"(Drivers/CMSIS工程文件夹下,见下图)中,已经存在上面编译错误中的段。这和工程中的文件"system_stm32f4xx.c"(Deviece工程文件夹下,见下图)中的代码相冲突:使用STM32CubeMX重新生成代码报错SystemCoreClock multiply defined_第2张图片

将Drivers/CMSIS工程文件夹中的"system_stm32f4xx.c"排除在编译之外。右键第一个system_stm32f4xx.c,移除即可

参考资料:

  • https://blog.csdn.net/metersun/article/details/79766241

你可能感兴趣的:(电子设计,Keil)