1、这里以STM32F107VC为例进行说明,首先打开stm32f10x_it.c,找到PendSV的握手子函数,我这里起初位void PendSV(void)
2、打开startup_stm32f10x_cl.s文件,找到
DCD PendSV_Handler ; PendSV Handler
和
PendSV_Handler PROC
EXPORT PendSV_Handler [WEAK]
B .
ENDP
这几行语句
3、将其中的PendSV_Handler全部替换OSPendSV
4、再次运行,程序已经可以执行。
其他芯片的解决办法大同小异,找到中断处理C文件和启动文件,将其中的PendSV名称修改一致即可。