diff options
Diffstat (limited to 'cortex-m-rt/asm.s')
-rw-r--r-- | cortex-m-rt/asm.s | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/cortex-m-rt/asm.s b/cortex-m-rt/asm.s index 1f0e74d..50a3fa5 100644 --- a/cortex-m-rt/asm.s +++ b/cortex-m-rt/asm.s @@ -6,5 +6,14 @@ .type HardFaultTrampoline,%function .thumb_func HardFaultTrampoline: + # depending on the stack mode in EXC_RETURN, fetch stack pointer from + # PSP or MSP + mov r0, lr + mov r1, #4 + tst r0, r1 + bne 0f mrs r0, MSP b HardFault +0: + mrs r0, PSP + b HardFault |