1 /**************************************************
3 * Copyright 2010 IAR Systems. All rights reserved.
7 **************************************************/
10 ; The modules in this file are included in the libraries, and may be replaced
11 ; by any user-defined modules that define the PUBLIC symbol _program_start or
12 ; a user defined start symbol.
13 ; To override the cstartup defined in the library, simply add your modified
14 ; version to the workbench project.
16 ; The vector table is normally located at address 0.
17 ; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
18 ; The name "__vector_table" has special meaning for C-SPY:
19 ; it is where the SP start value is found, and the NVIC vector
20 ; table register (VTOR) is initialized to this address if != 0.
27 ;; Forward declaration of sections.
28 SECTION CSTACK:DATA:NOROOT(3)
30 SECTION .intvec:CODE:ROOT(2)
32 EXTERN __iar_program_start
38 DCD sfe(CSTACK) ; Top of Stack
39 DCD Reset_Handler ; Reset Handler
40 DCD NMI_Handler ; NMI Handler
41 DCD HardFault_Handler ; Hard Fault Handler
42 DCD MemManage_Handler ; MPU Fault Handler
43 DCD BusFault_Handler ; Bus Fault Handler
44 DCD UsageFault_Handler ; Usage Fault Handler
49 DCD SVC_Handler ; SVCall Handler
50 DCD DebugMon_Handler ; Debug Monitor Handler
52 DCD PendSV_Handler ; PendSV Handler
53 DCD SysTick_Handler ; SysTick Handler
55 DCD DMA0_IRQHandler ; DMA Channel 0 Transfer Complete
56 DCD DMA1_IRQHandler ; DMA Channel 1 Transfer Complete
57 DCD DMA2_IRQHandler ; DMA Channel 2 Transfer Complete
58 DCD DMA3_IRQHandler ; DMA Channel 3 Transfer Complete
59 DCD DMA4_IRQHandler ; DMA Channel 4 Transfer Complete
60 DCD DMA5_IRQHandler ; DMA Channel 5 Transfer Complete
61 DCD DMA6_IRQHandler ; DMA Channel 6 Transfer Complete
62 DCD DMA7_IRQHandler ; DMA Channel 7 Transfer Complete
63 DCD DMA8_IRQHandler ; DMA Channel 8 Transfer Complete
64 DCD DMA9_IRQHandler ; DMA Channel 9 Transfer Complete
65 DCD DMA10_IRQHandler ; DMA Channel 10 Transfer Complete
66 DCD DMA11_IRQHandler ; DMA Channel 11 Transfer Complete
67 DCD DMA12_IRQHandler ; DMA Channel 12 Transfer Complete
68 DCD DMA13_IRQHandler ; DMA Channel 13 Transfer Complete
69 DCD DMA14_IRQHandler ; DMA Channel 14 Transfer Complete
70 DCD DMA15_IRQHandler ; DMA Channel 15 Transfer Complete
71 DCD DMA_Error_IRQHandler ; DMA Error Interrupt
72 DCD MCM_IRQHandler ; Normal Interrupt
73 DCD FTFE_IRQHandler ; FTFE Command complete interrupt
74 DCD Read_Collision_IRQHandler ; Read Collision Interrupt
75 DCD LVD_LVW_IRQHandler ; Low Voltage Detect, Low Voltage Warning
76 DCD LLW_IRQHandler ; Low Leakage Wakeup
77 DCD Watchdog_IRQHandler ; WDOG Interrupt
78 DCD RNG_IRQHandler ; RNG Interrupt
79 DCD I2C0_IRQHandler ; I2C0 interrupt
80 DCD I2C1_IRQHandler ; I2C1 interrupt
81 DCD SPI0_IRQHandler ; SPI0 Interrupt
82 DCD SPI1_IRQHandler ; SPI1 Interrupt
83 DCD I2S0_Tx_IRQHandler ; I2S0 transmit interrupt
84 DCD I2S0_Rx_IRQHandler ; I2S0 receive interrupt
85 DCD UART0_LON_IRQHandler ; UART0 LON interrupt
86 DCD UART0_RX_TX_IRQHandler ; UART0 Receive/Transmit interrupt
87 DCD UART0_ERR_IRQHandler ; UART0 Error interrupt
88 DCD UART1_RX_TX_IRQHandler ; UART1 Receive/Transmit interrupt
89 DCD UART1_ERR_IRQHandler ; UART1 Error interrupt
90 DCD UART2_RX_TX_IRQHandler ; UART2 Receive/Transmit interrupt
91 DCD UART2_ERR_IRQHandler ; UART2 Error interrupt
92 DCD UART3_RX_TX_IRQHandler ; UART3 Receive/Transmit interrupt
93 DCD UART3_ERR_IRQHandler ; UART3 Error interrupt
94 DCD ADC0_IRQHandler ; ADC0 interrupt
95 DCD CMP0_IRQHandler ; CMP0 interrupt
96 DCD CMP1_IRQHandler ; CMP1 interrupt
97 DCD FTM0_IRQHandler ; FTM0 fault, overflow and channels interrupt
98 DCD FTM1_IRQHandler ; FTM1 fault, overflow and channels interrupt
99 DCD FTM2_IRQHandler ; FTM2 fault, overflow and channels interrupt
100 DCD CMT_IRQHandler ; CMT interrupt
101 DCD RTC_IRQHandler ; RTC interrupt
102 DCD RTC_Seconds_IRQHandler ; RTC seconds interrupt
103 DCD PIT0_IRQHandler ; PIT timer channel 0 interrupt
104 DCD PIT1_IRQHandler ; PIT timer channel 1 interrupt
105 DCD PIT2_IRQHandler ; PIT timer channel 2 interrupt
106 DCD PIT3_IRQHandler ; PIT timer channel 3 interrupt
107 DCD PDB0_IRQHandler ; PDB0 Interrupt
108 DCD USB0_IRQHandler ; USB0 interrupt
109 DCD USBDCD_IRQHandler ; USBDCD Interrupt
110 DCD Reserved71_IRQHandler ; Reserved interrupt 71
111 DCD DAC0_IRQHandler ; DAC0 interrupt
112 DCD MCG_IRQHandler ; MCG Interrupt
113 DCD LPTimer_IRQHandler ; LPTimer interrupt
114 DCD PORTA_IRQHandler ; Port A interrupt
115 DCD PORTB_IRQHandler ; Port B interrupt
116 DCD PORTC_IRQHandler ; Port C interrupt
117 DCD PORTD_IRQHandler ; Port D interrupt
118 DCD PORTE_IRQHandler ; Port E interrupt
119 DCD SWI_IRQHandler ; Software interrupt
120 DCD SPI2_IRQHandler ; SPI2 Interrupt
121 DCD UART4_RX_TX_IRQHandler ; UART4 Receive/Transmit interrupt
122 DCD UART4_ERR_IRQHandler ; UART4 Error interrupt
123 DCD UART5_RX_TX_IRQHandler ; UART5 Receive/Transmit interrupt
124 DCD UART5_ERR_IRQHandler ; UART5 Error interrupt
125 DCD CMP2_IRQHandler ; CMP2 interrupt
126 DCD FTM3_IRQHandler ; FTM3 fault, overflow and channels interrupt
127 DCD DAC1_IRQHandler ; DAC1 interrupt
128 DCD ADC1_IRQHandler ; ADC1 interrupt
129 DCD I2C2_IRQHandler ; I2C2 interrupt
130 DCD CAN0_ORed_Message_buffer_IRQHandler ; CAN0 OR'd message buffers interrupt
131 DCD CAN0_Bus_Off_IRQHandler ; CAN0 bus off interrupt
132 DCD CAN0_Error_IRQHandler ; CAN0 error interrupt
133 DCD CAN0_Tx_Warning_IRQHandler ; CAN0 Tx warning interrupt
134 DCD CAN0_Rx_Warning_IRQHandler ; CAN0 Rx warning interrupt
135 DCD CAN0_Wake_Up_IRQHandler ; CAN0 wake up interrupt
136 DCD SDHC_IRQHandler ; SDHC interrupt
137 DCD ENET_1588_Timer_IRQHandler ; Ethernet MAC IEEE 1588 Timer Interrupt
138 DCD ENET_Transmit_IRQHandler ; Ethernet MAC Transmit Interrupt
139 DCD ENET_Receive_IRQHandler ; Ethernet MAC Receive Interrupt
140 DCD ENET_Error_IRQHandler ; Ethernet MAC Error and miscelaneous Interrupt
142 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
143 ;;Flash Configuration
144 ;;16-byte flash configuration field that stores default protection settings (loaded on reset)
145 ;;and security information that allows the MCU to restrict acces to the FTFL module.
157 FPROT0 EQU nFPROT0^0xFF
160 FPROT1 EQU nFPROT1^0xFF
163 FPROT2 EQU nFPROT2^0xFF
166 FPROT3 EQU nFPROT3^0xFF
169 FEPROT EQU nFEPROT^0xFF
172 FDPROT EQU nFDPROT^0xFF
177 SECTION FlashConfig:CONST:REORDER:ROOT(2)
180 DCB BackDoorK0, BackDoorK1, BackDoorK2, BackDoorK3
181 DCB BackDoorK4, BackDoorK5, BackDoorK6, BackDoorK7
182 DCB FPROT0, FPROT1, FPROT2, FPROT3
183 DCB FSEC, FOPT, FEPROT, FDPROT
184 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
186 ;; Default interrupt handlers.
189 PUBWEAK Reset_Handler
190 SECTION .text:CODE:NOROOT:REORDER(2)
195 LDR R0, =__iar_program_start
199 PUBWEAK HardFault_Handler
200 PUBWEAK MemManage_Handler
201 PUBWEAK BusFault_Handler
202 PUBWEAK UsageFault_Handler
204 PUBWEAK DebugMon_Handler
205 PUBWEAK PendSV_Handler
206 PUBWEAK SysTick_Handler
207 PUBWEAK DMA0_IRQHandler
208 PUBWEAK DMA1_IRQHandler
209 PUBWEAK DMA2_IRQHandler
210 PUBWEAK DMA3_IRQHandler
211 PUBWEAK DMA4_IRQHandler
212 PUBWEAK DMA5_IRQHandler
213 PUBWEAK DMA6_IRQHandler
214 PUBWEAK DMA7_IRQHandler
215 PUBWEAK DMA8_IRQHandler
216 PUBWEAK DMA9_IRQHandler
217 PUBWEAK DMA10_IRQHandler
218 PUBWEAK DMA11_IRQHandler
219 PUBWEAK DMA12_IRQHandler
220 PUBWEAK DMA13_IRQHandler
221 PUBWEAK DMA14_IRQHandler
222 PUBWEAK DMA15_IRQHandler
223 PUBWEAK DMA_Error_IRQHandler
224 PUBWEAK MCM_IRQHandler
225 PUBWEAK FTFE_IRQHandler
226 PUBWEAK Read_Collision_IRQHandler
227 PUBWEAK LVD_LVW_IRQHandler
228 PUBWEAK LLW_IRQHandler
229 PUBWEAK Watchdog_IRQHandler
230 PUBWEAK RNG_IRQHandler
231 PUBWEAK I2C0_IRQHandler
232 PUBWEAK I2C1_IRQHandler
233 PUBWEAK SPI0_IRQHandler
234 PUBWEAK SPI1_IRQHandler
235 PUBWEAK I2S0_Tx_IRQHandler
236 PUBWEAK I2S0_Rx_IRQHandler
237 PUBWEAK UART0_LON_IRQHandler
238 PUBWEAK UART0_RX_TX_IRQHandler
239 PUBWEAK UART0_ERR_IRQHandler
240 PUBWEAK UART1_RX_TX_IRQHandler
241 PUBWEAK UART1_ERR_IRQHandler
242 PUBWEAK UART2_RX_TX_IRQHandler
243 PUBWEAK UART2_ERR_IRQHandler
244 PUBWEAK UART3_RX_TX_IRQHandler
245 PUBWEAK UART3_ERR_IRQHandler
246 PUBWEAK ADC0_IRQHandler
247 PUBWEAK CMP0_IRQHandler
248 PUBWEAK CMP1_IRQHandler
249 PUBWEAK FTM0_IRQHandler
250 PUBWEAK FTM1_IRQHandler
251 PUBWEAK FTM2_IRQHandler
252 PUBWEAK CMT_IRQHandler
253 PUBWEAK RTC_IRQHandler
254 PUBWEAK RTC_Seconds_IRQHandler
255 PUBWEAK PIT0_IRQHandler
256 PUBWEAK PIT1_IRQHandler
257 PUBWEAK PIT2_IRQHandler
258 PUBWEAK PIT3_IRQHandler
259 PUBWEAK PDB0_IRQHandler
260 PUBWEAK USB0_IRQHandler
261 PUBWEAK USBDCD_IRQHandler
262 PUBWEAK Reserved71_IRQHandler
263 PUBWEAK DAC0_IRQHandler
264 PUBWEAK MCG_IRQHandler
265 PUBWEAK LPTimer_IRQHandler
266 PUBWEAK PORTA_IRQHandler
267 PUBWEAK PORTB_IRQHandler
268 PUBWEAK PORTC_IRQHandler
269 PUBWEAK PORTD_IRQHandler
270 PUBWEAK PORTE_IRQHandler
271 PUBWEAK SWI_IRQHandler
272 PUBWEAK SPI2_IRQHandler
273 PUBWEAK UART4_RX_TX_IRQHandler
274 PUBWEAK UART4_ERR_IRQHandler
275 PUBWEAK UART5_RX_TX_IRQHandler
276 PUBWEAK UART5_ERR_IRQHandler
277 PUBWEAK CMP2_IRQHandler
278 PUBWEAK FTM3_IRQHandler
279 PUBWEAK DAC1_IRQHandler
280 PUBWEAK ADC1_IRQHandler
281 PUBWEAK I2C2_IRQHandler
282 PUBWEAK CAN0_ORed_Message_buffer_IRQHandler
283 PUBWEAK CAN0_Bus_Off_IRQHandler
284 PUBWEAK CAN0_Error_IRQHandler
285 PUBWEAK CAN0_Tx_Warning_IRQHandler
286 PUBWEAK CAN0_Rx_Warning_IRQHandler
287 PUBWEAK CAN0_Wake_Up_IRQHandler
288 PUBWEAK SDHC_IRQHandler
289 PUBWEAK ENET_1588_Timer_IRQHandler
290 PUBWEAK ENET_Transmit_IRQHandler
291 PUBWEAK ENET_Receive_IRQHandler
292 PUBWEAK ENET_Error_IRQHandler
294 SECTION .text:CODE:REORDER:NOROOT(1)
324 Read_Collision_IRQHandler
336 UART0_RX_TX_IRQHandler
338 UART1_RX_TX_IRQHandler
340 UART2_RX_TX_IRQHandler
342 UART3_RX_TX_IRQHandler
352 RTC_Seconds_IRQHandler
360 Reserved71_IRQHandler
371 UART4_RX_TX_IRQHandler
373 UART5_RX_TX_IRQHandler
380 CAN0_ORed_Message_buffer_IRQHandler
381 CAN0_Bus_Off_IRQHandler
382 CAN0_Error_IRQHandler
383 CAN0_Tx_Warning_IRQHandler
384 CAN0_Rx_Warning_IRQHandler
385 CAN0_Wake_Up_IRQHandler
387 ENET_1588_Timer_IRQHandler
388 ENET_Transmit_IRQHandler
389 ENET_Receive_IRQHandler
390 ENET_Error_IRQHandler