配适RT-Thread 会用到了异常处理函数 HardFault_Handler()
和悬挂处理函数 PendSV_Handler()
,以及 Systick 中断服务函数 SysTick_Handler()
。
所以用户代码需要保证这几个函数没有被使用,
若编译提示函数重复定义,删除自己定义的函数即可。
我遇到的错误是:
linking...
..\..\Output\流水灯.axf: Error: L6200E: Symbol HardFault_Handler multiply defined (by context_rvds.o and stm32f10x_it.o).
..\..\Output\流水灯.axf: Error: L6200E: Symbol PendSV_Handler multiply defined (by context_rvds.o and stm32f10x_it.o).
..\..\Output\流水灯.axf: Error: L6200E: Symbol SysTick_Handler multiply defined (by board.o and stm32f10x_it.o).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 3 error messages.
"..\..\Output\流水灯.axf" - 3 Error(s), 0 Warning(s).
解决方法是:
- 1.在stm32f10x_it.c文件下找到
void HardFault_Handler(void)
函数,将其注释掉
编译后便少一个错误