]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_LPC1768_IAR/cstartup_M.s
commit 9f316c246baafa15c542a5aea81a94f26e3d6507
[freertos] / FreeRTOS / Demo / CORTEX_LPC1768_IAR / cstartup_M.s
1 /**************************************************\r
2  *\r
3  * Part one of the system initialization code, contains low-level\r
4  * initialization, plain thumb variant.\r
5  *\r
6  * Copyright 2009 IAR Systems. All rights reserved.\r
7  *\r
8  * $Revision: 28532 $\r
9  *\r
10  **************************************************/\r
11 \r
12 ;\r
13 ; The modules in this file are included in the libraries, and may be replaced\r
14 ; by any user-defined modules that define the PUBLIC symbol _program_start or\r
15 ; a user defined start symbol.\r
16 ; To override the cstartup defined in the library, simply add your modified\r
17 ; version to the workbench project.\r
18 ;\r
19 ; The vector table is normally located at address 0.\r
20 ; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.\r
21 ; The name "__vector_table" has special meaning for C-SPY:\r
22 ; it is where the SP start value is found, and the NVIC vector\r
23 ; table register (VTOR) is initialized to this address if != 0.\r
24 ;\r
25 ; Cortex-M version\r
26 ;\r
27 \r
28         MODULE  ?cstartup\r
29 \r
30         ;; Forward declaration of sections.\r
31         SECTION CSTACK:DATA:NOROOT(3)\r
32 \r
33         SECTION .intvec:CODE:NOROOT(2)\r
34 \r
35         EXTERN  __iar_program_start\r
36                 EXTERN xPortPendSVHandler\r
37                 EXTERN xPortSysTickHandler\r
38                 EXTERN vPortSVCHandler\r
39                 EXTERN vEMAC_ISR\r
40         PUBLIC  __vector_table\r
41         PUBLIC  __vector_table_0x1c\r
42 \r
43         DATA\r
44 __vector_table\r
45         DCD     sfe(CSTACK)                 ; Top of Stack\r
46         DCD     __iar_program_start         ; Reset Handler\r
47         DCD     NMI_Handler                 ; NMI Handler\r
48         DCD     HardFault_Handler           ; Hard Fault Handler\r
49         DCD     MemManage_Handler           ; MPU Fault Handler\r
50         DCD     BusFault_Handler            ; Bus Fault Handler\r
51         DCD     UsageFault_Handler          ; Usage Fault Handler\r
52 __vector_table_0x1c\r
53         DCD     0                           ; Reserved\r
54         DCD     0                           ; Reserved\r
55         DCD     0                           ; Reserved\r
56         DCD     0                           ; Reserved\r
57         DCD     vPortSVCHandler             ; SVCall Handler\r
58         DCD     DebugMon_Handler            ; Debug Monitor Handler\r
59         DCD     0                           ; Reserved\r
60         DCD     xPortPendSVHandler          ; PendSV Handler\r
61         DCD     xPortSysTickHandler         ; SysTick Handler\r
62         DCD     WDT_IRQHandler              ; Watchdog Handler\r
63         DCD     TMR0_IRQHandler             ; TIMER0 Handler\r
64         DCD     TMR1_IRQHandler             ; TIMER1 Handler\r
65         DCD     TMR2_IRQHandler             ; TIMER2 Handler\r
66         DCD     TMR3_IRQHandler             ; TIMER3 Handler\r
67         DCD     UART0_IRQHandler            ; UART0 Handler\r
68         DCD     UART1_IRQHandler            ; UART1 Handler\r
69         DCD     UART2_IRQHandler            ; UART2 Handler\r
70         DCD     UART3_IRQHandler            ; UART3 Handler\r
71         DCD     PWM1_IRQHandler             ; PWM1 Handler\r
72         DCD     I2C0_IRQHandler             ; I2C0 Handler\r
73         DCD     I2C1_IRQHandler             ; I2C1 Handler\r
74         DCD     I2C2_IRQHandler             ; I2C2 Handler\r
75         DCD     SPI_IRQHandler              ; SPI Handler\r
76         DCD     SSP0_IRQHandler             ; SSP0 Handler\r
77         DCD     SSP1_IRQHandler             ; SSP1 Handler\r
78         DCD     PLL0_IRQHandler             ; PLL0 Handler\r
79         DCD     RTC_IRQHandler              ; RTC Handler\r
80         DCD     EINT0_IRQHandler            ; EXT Interupt 0 Handler\r
81         DCD     EINT1_IRQHandler            ; EXT Interupt 1 Handler\r
82         DCD     EINT2_IRQHandler            ; EXT Interupt 2 Handler\r
83         DCD     EINT3_IRQHandler            ; EXT Interupt 3 Handler\r
84         DCD     ADC_IRQHandler              ; ADC Handler\r
85         DCD     BOD_IRQHandler              ; BOD Handler\r
86         DCD     USB_IRQHandler              ; USB Handler\r
87         DCD     CAN_IRQHandler              ; CAN Handler\r
88         DCD     GPDMA_IRQHandler            ; General Purpose DMA Handler\r
89         DCD     I2S_IRQHandler              ; I2S Handler\r
90         DCD     vEMAC_ISR                               ; Ethernet Handler\r
91         DCD     RIT_IRQHandler              ; Repetitive Interrupt Timer Handler\r
92         DCD     MotorControlPWM_IRQHandler  ; Motor Control PWM Handler\r
93         DCD     QE_IRQHandler               ; Quadrature Encoder Handler\r
94         DCD     PLL1_IRQHandler             ; PLL1 Handler\r
95 \r
96 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
97 ;;\r
98 ;; Default interrupt handlers.\r
99 ;;\r
100         THUMB\r
101 \r
102         PUBWEAK NMI_Handler\r
103         SECTION .text:CODE:REORDER(1)\r
104 NMI_Handler\r
105         B NMI_Handler\r
106         PUBWEAK HardFault_Handler\r
107         SECTION .text:CODE:REORDER(1)\r
108 HardFault_Handler\r
109         B HardFault_Handler\r
110         PUBWEAK MemManage_Handler\r
111         SECTION .text:CODE:REORDER(1)\r
112 MemManage_Handler\r
113         B MemManage_Handler\r
114         PUBWEAK BusFault_Handler\r
115         SECTION .text:CODE:REORDER(1)\r
116 BusFault_Handler\r
117         B BusFault_Handler\r
118         PUBWEAK UsageFault_Handler\r
119         SECTION .text:CODE:REORDER(1)\r
120 UsageFault_Handler\r
121         B UsageFault_Handler\r
122         PUBWEAK SVC_Handler\r
123         SECTION .text:CODE:REORDER(1)\r
124 SVC_Handler\r
125         B SVC_Handler\r
126         PUBWEAK DebugMon_Handler\r
127         SECTION .text:CODE:REORDER(1)\r
128 DebugMon_Handler\r
129         B DebugMon_Handler\r
130         PUBWEAK PendSV_Handler\r
131         SECTION .text:CODE:REORDER(1)\r
132 PendSV_Handler\r
133         B PendSV_Handler\r
134         PUBWEAK SysTick_Handler\r
135         SECTION .text:CODE:REORDER(1)\r
136 SysTick_Handler\r
137         B SysTick_Handler\r
138         PUBWEAK WDT_IRQHandler\r
139         SECTION .text:CODE:REORDER(1)\r
140 WDT_IRQHandler\r
141         B WDT_IRQHandler\r
142         PUBWEAK TMR0_IRQHandler\r
143         SECTION .text:CODE:REORDER(1)\r
144 TMR0_IRQHandler\r
145         B TMR0_IRQHandler\r
146         PUBWEAK TMR1_IRQHandler\r
147         SECTION .text:CODE:REORDER(1)\r
148 TMR1_IRQHandler\r
149         B TMR1_IRQHandler\r
150         PUBWEAK TMR2_IRQHandler\r
151         SECTION .text:CODE:REORDER(1)\r
152 TMR2_IRQHandler\r
153         B TMR2_IRQHandler\r
154         PUBWEAK TMR3_IRQHandler\r
155         SECTION .text:CODE:REORDER(1)\r
156 TMR3_IRQHandler\r
157         B TMR3_IRQHandler\r
158         PUBWEAK UART0_IRQHandler\r
159         SECTION .text:CODE:REORDER(1)\r
160 UART0_IRQHandler\r
161         B UART0_IRQHandler\r
162         PUBWEAK UART1_IRQHandler\r
163         SECTION .text:CODE:REORDER(1)\r
164 UART1_IRQHandler\r
165         B UART1_IRQHandler\r
166         PUBWEAK UART2_IRQHandler\r
167         SECTION .text:CODE:REORDER(1)\r
168 UART2_IRQHandler\r
169         B UART2_IRQHandler\r
170         PUBWEAK UART3_IRQHandler\r
171         SECTION .text:CODE:REORDER(1)\r
172 UART3_IRQHandler\r
173         B UART3_IRQHandler\r
174         PUBWEAK PWM1_IRQHandler\r
175         SECTION .text:CODE:REORDER(1)\r
176 PWM1_IRQHandler\r
177         B PWM1_IRQHandler\r
178         PUBWEAK I2C0_IRQHandler\r
179         SECTION .text:CODE:REORDER(1)\r
180 I2C0_IRQHandler\r
181         B I2C0_IRQHandler\r
182         PUBWEAK I2C1_IRQHandler\r
183         SECTION .text:CODE:REORDER(1)\r
184 I2C1_IRQHandler\r
185         B I2C1_IRQHandler\r
186         PUBWEAK I2C2_IRQHandler\r
187         SECTION .text:CODE:REORDER(1)\r
188 I2C2_IRQHandler\r
189         B I2C2_IRQHandler\r
190         PUBWEAK SPI_IRQHandler\r
191         SECTION .text:CODE:REORDER(1)\r
192 SPI_IRQHandler\r
193         B SPI_IRQHandler\r
194         PUBWEAK SSP0_IRQHandler\r
195         SECTION .text:CODE:REORDER(1)\r
196 SSP0_IRQHandler\r
197         B SSP0_IRQHandler\r
198         PUBWEAK SSP1_IRQHandler\r
199         SECTION .text:CODE:REORDER(1)\r
200 SSP1_IRQHandler\r
201         B SSP1_IRQHandler\r
202         PUBWEAK PLL0_IRQHandler\r
203         SECTION .text:CODE:REORDER(1)\r
204 PLL0_IRQHandler\r
205         B PLL0_IRQHandler\r
206         PUBWEAK RTC_IRQHandler\r
207         SECTION .text:CODE:REORDER(1)\r
208 RTC_IRQHandler\r
209         B RTC_IRQHandler\r
210         PUBWEAK EINT0_IRQHandler\r
211         SECTION .text:CODE:REORDER(1)\r
212 EINT0_IRQHandler\r
213         B EINT0_IRQHandler\r
214         PUBWEAK EINT1_IRQHandler\r
215         SECTION .text:CODE:REORDER(1)\r
216 EINT1_IRQHandler\r
217         B EINT1_IRQHandler\r
218         PUBWEAK EINT2_IRQHandler\r
219         SECTION .text:CODE:REORDER(1)\r
220 EINT2_IRQHandler\r
221         B EINT2_IRQHandler\r
222         PUBWEAK EINT3_IRQHandler\r
223         SECTION .text:CODE:REORDER(1)\r
224 EINT3_IRQHandler\r
225         B EINT3_IRQHandler\r
226         PUBWEAK ADC_IRQHandler\r
227         SECTION .text:CODE:REORDER(1)\r
228 ADC_IRQHandler\r
229         B ADC_IRQHandler\r
230         PUBWEAK BOD_IRQHandler\r
231         SECTION .text:CODE:REORDER(1)\r
232 BOD_IRQHandler\r
233         B BOD_IRQHandler\r
234         PUBWEAK USB_IRQHandler\r
235         SECTION .text:CODE:REORDER(1)\r
236 USB_IRQHandler\r
237         B USB_IRQHandler\r
238         PUBWEAK CAN_IRQHandler\r
239         SECTION .text:CODE:REORDER(1)\r
240 CAN_IRQHandler\r
241         B CAN_IRQHandler\r
242         PUBWEAK GPDMA_IRQHandler\r
243         SECTION .text:CODE:REORDER(1)\r
244 GPDMA_IRQHandler\r
245         B GPDMA_IRQHandler\r
246         PUBWEAK I2S_IRQHandler\r
247         SECTION .text:CODE:REORDER(1)\r
248 I2S_IRQHandler\r
249         B I2S_IRQHandler\r
250         PUBWEAK Ethernet_IRQHandler\r
251         SECTION .text:CODE:REORDER(1)\r
252 Ethernet_IRQHandler\r
253         B Ethernet_IRQHandler\r
254         PUBWEAK RIT_IRQHandler\r
255         SECTION .text:CODE:REORDER(1)\r
256 RIT_IRQHandler\r
257         B RIT_IRQHandler\r
258         PUBWEAK MotorControlPWM_IRQHandler\r
259         SECTION .text:CODE:REORDER(1)\r
260 MotorControlPWM_IRQHandler\r
261         B MotorControlPWM_IRQHandler\r
262         PUBWEAK QE_IRQHandler\r
263         SECTION .text:CODE:REORDER(1)\r
264 QE_IRQHandler\r
265         B QE_IRQHandler\r
266         PUBWEAK PLL1_IRQHandler\r
267         SECTION .text:CODE:REORDER(1)\r
268 PLL1_IRQHandler\r
269         B PLL1_IRQHandler\r
270 \r
271         END\r