1.设置工程时,如果忘记了在C/C++选项卡上设置STM32F10X_HD,USE_STDPEFIPH_DRIVER编译时会报如下的错误
Build target 'USART'
compiling stm32f10x_it.c...
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(96): error: #35: #error directive: "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: #error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: ^
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: ..\User\stm32f10x_it.c: 0 warnings, 1 error
compiling main.c...
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(96): error: #35: #error directive: "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: #error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: ^
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: ..\User\main.c: 0 warnings, 1 error
compiling core_cm3.c...
compiling system_stm32f10x.c...
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(96): error: #35: #error directive: "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: #error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: ^
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: ..\User\system_stm32f10x.c: 0 warnings, 1 error
compiling stm32f10x_usart.c...
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(96): error: #35: #error directive: "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: #error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: ^
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c: 0 warnings, 1 error
compiling stm32f10x_gpio.c...
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(96): error: #35: #error directive: "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: #error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: ^
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c: 0 warnings, 1 error
compiling stm32f10x_rcc.c...
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(96): error: #35: #error directive: "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: #error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: ^
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c: 0 warnings, 1 error
Target not created
2.要注意新建工程包含库文件的路径是
\Libraries\STM32F10x_StdPeriph_Driver\inc
而不是
\Libraries\STM32F10x_StdPeriph_Driver\src
3.Overlapping of Algorithms at Address 08000000H错误

工程设置里,误多添加了下载算法,删除后即可。

本文详细解析了STM32开发中常见的错误及其解决策略,包括配置错误、库文件路径错误以及算法冲突等问题,并提供了针对性的解决步骤。
3万+

被折叠的 条评论
为什么被折叠?



