当调试STM32F10X系列时,出现如下错误:
C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_it.h(36): error: #1268-D: declaration aliased to undefined entity "SysTickHandler" ^
C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_it.h(35): error: #1268-D: declaration aliased to undefined entity "PendSVC" ^
C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_it.h(34): error: #1268-D: declaration aliased to undefined entity "SVCHandler" ^
C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_it.h(33): error: #1268-D: declaration aliased to undefined entity "DebugMonitor" ^
C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_it.h(32): error: #1268-D: declaration aliased to undefined entity "UsageFaultException" ^
C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_it.h(31): error: #1268-D: declaration aliased to undefined entity "BusFaultException" ^
C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_it.h(30): error: #1268-D: declaration aliased to undefined entity "MemManageException" ^
C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_it.h(29): error: #1268-D: declaration aliased to undefined entity "HardFaultException" ^
C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_it.h(28): error: #1268-D: declaration aliased to undefined entity "NMIException"
解决办法:将stm32f10x_it.h中,中断服务函数取别名部分注释掉即可解决,如下:
//void SysTick_Handler(void) __attribute__ ((alias("SysTickHandler")));
//void PendSV_Handler(void) __attribute__ ((alias("PendSVC")));
//void SVC_Handler(void) __attribute__ ((alias("SVCHandler")));
//void DebugMon_Handler(void) __attribute__ ((alias("DebugMonitor")));
//void UsageFault_Handler(void) __attribute__ ((alias("UsageFaultException")));
//void BusFault_Handler(void) __attribute__ ((alias("BusFaultException")));
//void MemManage_Handler(void) __attribute__ ((alias("MemManageException")));
//void HardFault_Handler(void) __attribute__ ((alias("HardFaultException")));
//void NMI_Handler(void) __attribute__ ((alias("NMIException")));