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错误
工程设置里,误多添加了下载算法,删除后即可。