1 /*****************************************************************************
\r
2 * Copyright (c) 2006 Rowley Associates Limited. *
\r
4 * This file may be distributed under the terms of the License Agreement *
\r
5 * provided with this software. *
\r
7 * THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING THE *
\r
8 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. *
\r
9 *****************************************************************************/
\r
11 /*****************************************************************************
\r
12 * Preprocessor Definitions
\r
13 * ------------------------
\r
15 * STARTUP_FROM_RESET
\r
17 * If defined, the program will startup from power-on/reset. If not defined
\r
18 * the program will just loop endlessly from power-on/reset.
\r
20 * This definition is not defined by default on this target because the
\r
21 * debugger is unable to reset this target and maintain control of it over the
\r
22 * JTAG interface. The advantage of doing this is that it allows the debugger
\r
23 * to reset the CPU and run programs from a known reset CPU state on each run.
\r
24 * It also acts as a safety net if you accidently download a program in FLASH
\r
25 * that crashes and prevents the debugger from taking control over JTAG
\r
26 * rendering the target unusable over JTAG. The obvious disadvantage of doing
\r
27 * this is that your application will not startup without the debugger.
\r
29 * We advise that on this target you keep STARTUP_FROM_RESET undefined whilst
\r
30 * you are developing and only define STARTUP_FROM_RESET when development is
\r
33 *****************************************************************************/
\r
35 .extern xPortPendSVHandler
\r
36 .extern xPortSysTickHandler
\r
37 .extern vPortSVCHandler
\r
38 .extern Timer0IntHandler
\r
39 .extern vT2InterruptHandler
\r
40 .extern vT3InterruptHandler
\r
44 .global reset_handler
\r
46 .macro DEFAULT_ISR_HANDLER name=
\r
50 1: b 1b /* endless loop */
\r
53 .section .vectors, "ax"
\r
60 #ifdef STARTUP_FROM_RESET
\r
64 #endif /* STARTUP_FROM_RESET */
\r
68 .word 0 /* Populate if using Bus fault */
\r
69 .word 0 /* Populate if using Usage fault */
\r
70 .word 0 /* Reserved */
\r
71 .word 0 /* Reserved */
\r
72 .word 0 /* Reserved */
\r
73 .word 0 /* Reserved */
\r
74 .word vPortSVCHandler
\r
75 .word 0 /* Populate if using a debug monitor */
\r
76 .word 0 /* Reserved */
\r
77 .word xPortPendSVHandler
\r
78 .word xPortSysTickHandler
\r
79 .word GPIO_Port_A_ISR
\r
80 .word GPIO_Port_B_ISR
\r
81 .word GPIO_Port_C_ISR
\r
82 .word GPIO_Port_D_ISR
\r
83 .word GPIO_Port_E_ISR
\r
89 .word PWM_Generator_0_ISR
\r
90 .word PWM_Generator_1_ISR
\r
91 .word PWM_Generator_2_ISR
\r
93 .word ADC_Sequence_0_ISR
\r
94 .word ADC_Sequence_1_ISR
\r
95 .word ADC_Sequence_2_ISR
\r
96 .word ADC_Sequence_3_ISR
\r
97 .word Watchdog_Timer_ISR
\r
98 .word Timer0IntHandler
\r
102 .word vT2InterruptHandler
\r
104 .word Analog_Comparator_0_ISR
\r
105 .word Analog_Comparator_1_ISR
\r
106 .word Analog_Comparator_2_ISR
\r
107 .word System_Control_ISR
\r
108 .word FLASH_Control_ISR
\r
109 .word GPIO_Port_F_ISR
\r
110 .word GPIO_Port_G_ISR
\r
111 .word GPIO_Port_H_ISR
\r
114 .word vT3InterruptHandler
\r
122 .word HIBERNATE_ISR
\r
124 .word PWM_Generator_3_ISR
\r
125 .word uDMA_Software_Transfer_ISR
\r
126 .word uDMA_Error_ISR
\r
129 .section .init, "ax"
\r
134 /* If this is a RAM build, configure vector table offset register to point
\r
135 to the RAM vector table. */
\r
136 ldr r0, =0xE000ED08
\r
142 DEFAULT_ISR_HANDLER Nmi_ISR
\r
143 DEFAULT_ISR_HANDLER Fault_ISR
\r
144 DEFAULT_ISR_HANDLER MPU_Fault_ISR
\r
145 DEFAULT_ISR_HANDLER SVCall_ISR
\r
146 DEFAULT_ISR_HANDLER SysTick_ISR
\r
147 DEFAULT_ISR_HANDLER PendSV_ISR
\r
148 DEFAULT_ISR_HANDLER GPIO_Port_A_ISR
\r
149 DEFAULT_ISR_HANDLER GPIO_Port_B_ISR
\r
150 DEFAULT_ISR_HANDLER GPIO_Port_C_ISR
\r
151 DEFAULT_ISR_HANDLER GPIO_Port_D_ISR
\r
152 DEFAULT_ISR_HANDLER GPIO_Port_E_ISR
\r
153 DEFAULT_ISR_HANDLER UART0_ISR
\r
154 DEFAULT_ISR_HANDLER UART1_ISR
\r
155 DEFAULT_ISR_HANDLER SSI_ISR
\r
156 DEFAULT_ISR_HANDLER I2C_ISR
\r
157 DEFAULT_ISR_HANDLER PWM_Fault_ISR
\r
158 DEFAULT_ISR_HANDLER PWM_Generator_0_ISR
\r
159 DEFAULT_ISR_HANDLER PWM_Generator_1_ISR
\r
160 DEFAULT_ISR_HANDLER PWM_Generator_2_ISR
\r
161 DEFAULT_ISR_HANDLER QEI_ISR
\r
162 DEFAULT_ISR_HANDLER ADC_Sequence_0_ISR
\r
163 DEFAULT_ISR_HANDLER ADC_Sequence_1_ISR
\r
164 DEFAULT_ISR_HANDLER ADC_Sequence_2_ISR
\r
165 DEFAULT_ISR_HANDLER ADC_Sequence_3_ISR
\r
166 DEFAULT_ISR_HANDLER Watchdog_Timer_ISR
\r
167 DEFAULT_ISR_HANDLER Timer0A_ISR
\r
168 DEFAULT_ISR_HANDLER Timer0B_ISR
\r
169 DEFAULT_ISR_HANDLER Timer1A_ISR
\r
170 DEFAULT_ISR_HANDLER Timer1B_ISR
\r
171 DEFAULT_ISR_HANDLER Timer2A_ISR
\r
172 DEFAULT_ISR_HANDLER Timer2B_ISR
\r
173 DEFAULT_ISR_HANDLER Analog_Comparator_0_ISR
\r
174 DEFAULT_ISR_HANDLER Analog_Comparator_1_ISR
\r
175 DEFAULT_ISR_HANDLER Analog_Comparator_2_ISR
\r
176 DEFAULT_ISR_HANDLER System_Control_ISR
\r
177 DEFAULT_ISR_HANDLER FLASH_Control_ISR
\r
178 DEFAULT_ISR_HANDLER GPIO_Port_F_ISR
\r
179 DEFAULT_ISR_HANDLER GPIO_Port_G_ISR
\r
180 DEFAULT_ISR_HANDLER GPIO_Port_H_ISR
\r
181 DEFAULT_ISR_HANDLER UART2_ISR
\r
182 DEFAULT_ISR_HANDLER SSI1_ISR
\r
183 DEFAULT_ISR_HANDLER Timer3A_ISR
\r
184 DEFAULT_ISR_HANDLER Timer3B_ISR
\r
185 DEFAULT_ISR_HANDLER I2C1_ISR
\r
186 DEFAULT_ISR_HANDLER QEI1_ISR
\r
187 DEFAULT_ISR_HANDLER CAN0_ISR
\r
188 DEFAULT_ISR_HANDLER CAN1_ISR
\r
189 DEFAULT_ISR_HANDLER CAN2_ISR
\r
190 DEFAULT_ISR_HANDLER ETHERNET_ISR
\r
191 DEFAULT_ISR_HANDLER HIBERNATE_ISR
\r
192 DEFAULT_ISR_HANDLER USB0_ISR
\r
193 DEFAULT_ISR_HANDLER PWM_Generator_3_ISR
\r
194 DEFAULT_ISR_HANDLER uDMA_Software_Transfer_ISR
\r
195 DEFAULT_ISR_HANDLER uDMA_Error_ISR
\r
197 #ifndef STARTUP_FROM_RESET
\r
198 DEFAULT_ISR_HANDLER reset_wait
\r
199 #endif /* STARTUP_FROM_RESET */
\r