1 /**************************************************
3 * Part one of the system initialization code, contains low-level
4 * initialization, plain thumb variant.
6 * Copyright 2009 IAR Systems. All rights reserved.
10 **************************************************/
13 ; The modules in this file are included in the libraries, and may be replaced
14 ; by any user-defined modules that define the PUBLIC symbol _program_start or
15 ; a user defined start symbol.
16 ; To override the cstartup defined in the library, simply add your modified
17 ; version to the workbench project.
19 ; The vector table is normally located at address 0.
20 ; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
21 ; The name "__vector_table" has special meaning for C-SPY:
22 ; it is where the SP start value is found, and the NVIC vector
23 ; table register (VTOR) is initialized to this address if != 0.
30 ;; Forward declaration of sections.
31 SECTION CSTACK:DATA:NOROOT(3)
33 SECTION .intvec:CODE:NOROOT(2)
35 EXTERN __iar_program_start
36 EXTERN xPortPendSVHandler
37 EXTERN xPortSysTickHandler
38 EXTERN vPortSVCHandler
41 PUBLIC __vector_table_0x1c
45 DCD sfe(CSTACK) ; Top of Stack
46 DCD __iar_program_start ; Reset Handler
47 DCD NMI_Handler ; NMI Handler
48 DCD HardFault_Handler ; Hard Fault Handler
49 DCD MemManage_Handler ; MPU Fault Handler
50 DCD BusFault_Handler ; Bus Fault Handler
51 DCD UsageFault_Handler ; Usage Fault Handler
57 DCD vPortSVCHandler ; SVCall Handler
58 DCD DebugMon_Handler ; Debug Monitor Handler
60 DCD xPortPendSVHandler ; PendSV Handler
61 DCD xPortSysTickHandler ; SysTick Handler
62 DCD WDT_IRQHandler ; Watchdog Handler
63 DCD TMR0_IRQHandler ; TIMER0 Handler
64 DCD TMR1_IRQHandler ; TIMER1 Handler
65 DCD TMR2_IRQHandler ; TIMER2 Handler
66 DCD TMR3_IRQHandler ; TIMER3 Handler
67 DCD UART0_IRQHandler ; UART0 Handler
68 DCD UART1_IRQHandler ; UART1 Handler
69 DCD UART2_IRQHandler ; UART2 Handler
70 DCD UART3_IRQHandler ; UART3 Handler
71 DCD PWM1_IRQHandler ; PWM1 Handler
72 DCD I2C0_IRQHandler ; I2C0 Handler
73 DCD I2C1_IRQHandler ; I2C1 Handler
74 DCD I2C2_IRQHandler ; I2C2 Handler
75 DCD SPI_IRQHandler ; SPI Handler
76 DCD SSP0_IRQHandler ; SSP0 Handler
77 DCD SSP1_IRQHandler ; SSP1 Handler
78 DCD PLL0_IRQHandler ; PLL0 Handler
79 DCD RTC_IRQHandler ; RTC Handler
80 DCD EINT0_IRQHandler ; EXT Interupt 0 Handler
81 DCD EINT1_IRQHandler ; EXT Interupt 1 Handler
82 DCD EINT2_IRQHandler ; EXT Interupt 2 Handler
83 DCD EINT3_IRQHandler ; EXT Interupt 3 Handler
84 DCD ADC_IRQHandler ; ADC Handler
85 DCD BOD_IRQHandler ; BOD Handler
86 DCD USB_IRQHandler ; USB Handler
87 DCD CAN_IRQHandler ; CAN Handler
88 DCD GPDMA_IRQHandler ; General Purpose DMA Handler
89 DCD I2S_IRQHandler ; I2S Handler
90 DCD vEMAC_ISR ; Ethernet Handler
91 DCD RIT_IRQHandler ; Repetitive Interrupt Timer Handler
92 DCD MotorControlPWM_IRQHandler ; Motor Control PWM Handler
93 DCD QE_IRQHandler ; Quadrature Encoder Handler
94 DCD PLL1_IRQHandler ; PLL1 Handler
96 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
98 ;; Default interrupt handlers.
103 SECTION .text:CODE:REORDER(1)
106 PUBWEAK HardFault_Handler
107 SECTION .text:CODE:REORDER(1)
110 PUBWEAK MemManage_Handler
111 SECTION .text:CODE:REORDER(1)
114 PUBWEAK BusFault_Handler
115 SECTION .text:CODE:REORDER(1)
118 PUBWEAK UsageFault_Handler
119 SECTION .text:CODE:REORDER(1)
123 SECTION .text:CODE:REORDER(1)
126 PUBWEAK DebugMon_Handler
127 SECTION .text:CODE:REORDER(1)
130 PUBWEAK PendSV_Handler
131 SECTION .text:CODE:REORDER(1)
134 PUBWEAK SysTick_Handler
135 SECTION .text:CODE:REORDER(1)
138 PUBWEAK WDT_IRQHandler
139 SECTION .text:CODE:REORDER(1)
142 PUBWEAK TMR0_IRQHandler
143 SECTION .text:CODE:REORDER(1)
146 PUBWEAK TMR1_IRQHandler
147 SECTION .text:CODE:REORDER(1)
150 PUBWEAK TMR2_IRQHandler
151 SECTION .text:CODE:REORDER(1)
154 PUBWEAK TMR3_IRQHandler
155 SECTION .text:CODE:REORDER(1)
158 PUBWEAK UART0_IRQHandler
159 SECTION .text:CODE:REORDER(1)
162 PUBWEAK UART1_IRQHandler
163 SECTION .text:CODE:REORDER(1)
166 PUBWEAK UART2_IRQHandler
167 SECTION .text:CODE:REORDER(1)
170 PUBWEAK UART3_IRQHandler
171 SECTION .text:CODE:REORDER(1)
174 PUBWEAK PWM1_IRQHandler
175 SECTION .text:CODE:REORDER(1)
178 PUBWEAK I2C0_IRQHandler
179 SECTION .text:CODE:REORDER(1)
182 PUBWEAK I2C1_IRQHandler
183 SECTION .text:CODE:REORDER(1)
186 PUBWEAK I2C2_IRQHandler
187 SECTION .text:CODE:REORDER(1)
190 PUBWEAK SPI_IRQHandler
191 SECTION .text:CODE:REORDER(1)
194 PUBWEAK SSP0_IRQHandler
195 SECTION .text:CODE:REORDER(1)
198 PUBWEAK SSP1_IRQHandler
199 SECTION .text:CODE:REORDER(1)
202 PUBWEAK PLL0_IRQHandler
203 SECTION .text:CODE:REORDER(1)
206 PUBWEAK RTC_IRQHandler
207 SECTION .text:CODE:REORDER(1)
210 PUBWEAK EINT0_IRQHandler
211 SECTION .text:CODE:REORDER(1)
214 PUBWEAK EINT1_IRQHandler
215 SECTION .text:CODE:REORDER(1)
218 PUBWEAK EINT2_IRQHandler
219 SECTION .text:CODE:REORDER(1)
222 PUBWEAK EINT3_IRQHandler
223 SECTION .text:CODE:REORDER(1)
226 PUBWEAK ADC_IRQHandler
227 SECTION .text:CODE:REORDER(1)
230 PUBWEAK BOD_IRQHandler
231 SECTION .text:CODE:REORDER(1)
234 PUBWEAK USB_IRQHandler
235 SECTION .text:CODE:REORDER(1)
238 PUBWEAK CAN_IRQHandler
239 SECTION .text:CODE:REORDER(1)
242 PUBWEAK GPDMA_IRQHandler
243 SECTION .text:CODE:REORDER(1)
246 PUBWEAK I2S_IRQHandler
247 SECTION .text:CODE:REORDER(1)
250 PUBWEAK Ethernet_IRQHandler
251 SECTION .text:CODE:REORDER(1)
253 B Ethernet_IRQHandler
254 PUBWEAK RIT_IRQHandler
255 SECTION .text:CODE:REORDER(1)
258 PUBWEAK MotorControlPWM_IRQHandler
259 SECTION .text:CODE:REORDER(1)
260 MotorControlPWM_IRQHandler
261 B MotorControlPWM_IRQHandler
262 PUBWEAK QE_IRQHandler
263 SECTION .text:CODE:REORDER(1)
266 PUBWEAK PLL1_IRQHandler
267 SECTION .text:CODE:REORDER(1)