23 lines
543 B
ArmAsm
23 lines
543 B
ArmAsm
.syntax unified
|
|
.thumb
|
|
.section .text
|
|
|
|
/* ======================= HARD FAULT ======================= */
|
|
.global HardFault_Handler
|
|
.type HardFault_Handler, %function
|
|
HardFault_Handler:
|
|
TST LR, #4
|
|
BNE Fault_UsePSP
|
|
Fault_UseMSP:
|
|
MRS R0, MSP
|
|
MOVS R1, #0
|
|
B Fault_CallHandler
|
|
Fault_UsePSP:
|
|
MRS R0, PSP
|
|
MOVS R1, #1
|
|
Fault_CallHandler:
|
|
MOVS R2, #1 // HARD_RESET_HARD_FAULT
|
|
LDR R3, =HardReset_C_Handler
|
|
BX R3
|
|
.size HardFault_Handler, . - HardFault_Handler
|