HVAC_M7_HardFault/HardFault.s

21 lines
648 B
ArmAsm
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.syntax unified
.thumb
.section .text
.global HardFault_Handler
.type HardFault_Handler, %function
HardFault_Handler:
// Проверяем бит 2 в LR: если 1, то использовался PSP, иначе MSP
TST LR, #4
BNE UsePSP
UseMSP:
MRS R0, MSP // R0 = указатель MSP
MOVS R1, #0 // R1 = флаг 0 (MSP)
B CallHandler
UsePSP:
MRS R0, PSP // R0 = указатель PSP
MOVS R1, #1 // R1 = флаг 1 (PSP)
CallHandler:
LDR R2, =HardFault_C_Handler
BX R2
.size HardFault_Handler, . - HardFault_Handler