From e1122d5200cec30e239b18278e2bb5c7ec97a72b Mon Sep 17 00:00:00 2001 From: Pixel Date: Thu, 27 Jan 2011 00:57:15 -0800 Subject: (way) better fault handlers. --- arch/arm/lpc17xx/startup.s | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'arch/arm/lpc17xx/startup.s') diff --git a/arch/arm/lpc17xx/startup.s b/arch/arm/lpc17xx/startup.s index a57954a..7537531 100644 --- a/arch/arm/lpc17xx/startup.s +++ b/arch/arm/lpc17xx/startup.s @@ -119,6 +119,35 @@ __cs3_interrupt_vector_cortex_m: .thumb +/* Fault handlers wrappers */ + + .section .privileged_code,"x",%progbits + .thumb_func + .type NMI_Handler, %function +NMI_Handler: + MOV R0, 2 + B general_handler + .type HardFault_Handler, %function +HardFault_Handler: + MOV R0, 3 + B general_handler + .type MemManage_Handler, %function +MemManage_Handler: + MOV R0, 4 + B general_handler + .type BusFault_Handler, %function +BusFault_Handler: + MOV R0, 5 + B general_handler + .type UsageFault_Handler, %function +UsageFault_Handler: + MOV R0, 6 + B general_handler + .type general_handler, %function +general_handler: + MOV R1, SP + PUSH {R4-R11} + B general_C_handler /* Reset Handler */ -- cgit v1.2.3