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:
lizhirui 2021-02-18 16:27:50 +08:00
parent e596921019
commit e7fc0c89d2
1 changed files with 1 additions and 5 deletions

View File

@ -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}