repair hard fault return bug
before modify,when exception hook returns true,programs can't return to normal execution flow
This commit is contained in:
parent
e596921019
commit
e7fc0c89d2
|
@ -10,6 +10,7 @@
|
||||||
; * 2013-06-18 aozima add restore MSP feature.
|
; * 2013-06-18 aozima add restore MSP feature.
|
||||||
; * 2013-06-23 aozima support lazy stack optimized.
|
; * 2013-06-23 aozima support lazy stack optimized.
|
||||||
; * 2018-07-24 aozima enhancement hard fault exception handler.
|
; * 2018-07-24 aozima enhancement hard fault exception handler.
|
||||||
|
; * 2021-02-15 lizhirui repair hard fault return bug
|
||||||
; */
|
; */
|
||||||
|
|
||||||
;/**
|
;/**
|
||||||
|
@ -235,11 +236,6 @@ MemManage_Handler
|
||||||
ENDIF
|
ENDIF
|
||||||
STMFD r0!, {lr} ; push exec_return register
|
STMFD r0!, {lr} ; push exec_return register
|
||||||
|
|
||||||
TST lr, #0x04 ; if(!EXC_RETURN[2])
|
|
||||||
ITE EQ
|
|
||||||
MSREQ msp, r0 ; [2]=0 ==> Z=1, update stack pointer to MSP.
|
|
||||||
MSRNE psp, r0 ; [2]=1 ==> Z=0, update stack pointer to PSP.
|
|
||||||
|
|
||||||
PUSH {lr}
|
PUSH {lr}
|
||||||
BL rt_hw_hard_fault_exception
|
BL rt_hw_hard_fault_exception
|
||||||
POP {lr}
|
POP {lr}
|
||||||
|
|
Loading…
Reference in New Issue