关于STM32F107VC _OSStartHang解决方案
问题:移植UCOS-II后,程序总是在
B OSStartHang ,//根据提示,应当永远不会到这步的。
其实很简单,因为STM32本身的异常中断PendSV_Handler替代了UCOS的异常中断OSPendSV,使其不能正常执行。这样我们就需要更改PendSV_Handler为OSPendSV以让中断正常。
第一种
更改startup_stm32f10x_cl.s(V3.5.版本)
1、DCD PendSV_Handler ; PendSV Handler
更改为:
DCD OSPendSV ; OSPendSV 中断
2、PendSV_Handler PROC
EXPORT PendSV_Handler [WEAK]
B .
ENDP
更改为:
OSPendSV PROC
EXPORT OSPendSV [WEAK]
B .
ENDP