HardFault_Handler 处理
This commit is contained in:
@@ -243,7 +243,7 @@ void HardFault_Handler_C(ContextStateFrame_t* frame, uint32_t lr_value){
|
||||
// "thumb instruction interworking" bit set
|
||||
frame->xpsr = (1 << 24);
|
||||
#else
|
||||
while(1);
|
||||
while(1){}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ __PendSV_SwitchTo
|
||||
|
||||
HardFault_Handler PROC
|
||||
EXPORT HardFault_Handler
|
||||
IMPORT HardFault_Handler_C
|
||||
tst lr, #4 // 检查 EXC_RETURN (LR) 的位 2
|
||||
ite eq
|
||||
mrseq r0, msp // 如果位 2 是 0,栈帧在 MSP
|
||||
|
||||
@@ -78,6 +78,7 @@ cpu_clz:
|
||||
|
||||
.section .text.HardFault_Handler,"ax",%progbits
|
||||
.global HardFault_Handler
|
||||
.global HardFault_Handler_C
|
||||
.thumb_func
|
||||
HardFault_Handler:
|
||||
tst lr, #4
|
||||
|
||||
Reference in New Issue
Block a user