1 ;/* mbed Microcontroller Library - InterruptIn
2 ; * Copyright (c) 2006-2009 ARM Limited. All rights reserved.
5 #line 1 "vector_functions.s"
10 #line 1 "vector_defns.h"
20 #line 21 "vector_defns.h"
39 #line 47 "vector_defns.h"
42 #line 58 "vector_defns.h"
61 #line 6 "vector_functions.s"
64 AREA VECFUNCS, CODE, READONLY
72 EXPORT __mbed_fiq [WEAK]
73 EXPORT __mbed_undef [WEAK]
74 EXPORT __mbed_prefetch_abort [WEAK]
75 EXPORT __mbed_data_abort [WEAK]
76 EXPORT __mbed_irq [WEAK]
77 EXPORT __mbed_swi [WEAK]
78 EXPORT __mbed_dcc_irq [WEAK]
79 EXPORT __mbed_reset [WEAK]
80 IMPORT __mbed_init_realmonitor
113 MSR CPSR_c, #0x1F:OR:0x80:OR:0x40
116 STMDB sp!, {r0-r3,r12,lr}
131 LDMFD sp!,{r0-r3,r12,lr}
134 MSR CPSR_c, #0x12:OR:0x80:OR:0x40
146 STMFD sp!, {a4, r4, ip, lr}
165 LDMFD sp!,{r0-r3,r12,lr}
168 MSR CPSR_c, #0x12:OR:0x80:OR:0x40
187 ; __mbed_reset is called after reset
188 ; we setup the stacks and realmonitor, then call Reset_Handler like on M3
193 EXPORT Reset_Handler [WEAK]
207 LDR R0, =(0x40000000 + 0x8000)
210 MSR CPSR_c, #0x1B:OR:0x80:OR:0x40
212 SUB R0, R0, #0x00000040
215 MSR CPSR_c, #0x17:OR:0x80:OR:0x40
217 SUB R0, R0, #0x00000040
220 MSR CPSR_c, #0x11:OR:0x80:OR:0x40
222 SUB R0, R0, #0x00000000
225 MSR CPSR_c, #0x12:OR:0x80:OR:0x40
227 SUB R0, R0, #0x00000040
230 MSR CPSR_c, #0x13:OR:0x80:OR:0x40
232 SUB R0, R0, #0x00000040
239 LDR R0, =__mbed_init_realmonitor
244 LDR R0, =Reset_Handler