]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/startup_LPC51U68.s
Increase test coverage for queue sets.
[freertos] / FreeRTOS / Demo / CORTEX_M0+_LPC51U68_GCC_IAR_KEIL / Keil_specific / startup_LPC51U68.s
1 ;/*****************************************************************************\r
2 ; * @file:    startup_LPC51U68.s\r
3 ; * @purpose: CMSIS Cortex-M0 Core Device Startup File for the\r
4 ; *           LPC51U68\r
5 ; * @version: 1.0\r
6 ; * @date:    2017-12-15\r
7 ; *\r
8 ; * Copyright 1997-2016 Freescale Semiconductor, Inc.\r
9 ; * Copyright 2016-2018 NXP\r
10 ; *\r
11 ; * SPDX-License-Identifier: BSD-3-Clause\r
12 ; *\r
13 ; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------\r
14 ; *\r
15 ; *****************************************************************************/\r
16 \r
17 \r
18                 PRESERVE8\r
19                 THUMB\r
20 \r
21 ; Vector Table Mapped to Address 0 at Reset\r
22                 AREA    RESET, DATA, READONLY\r
23                 EXPORT  __Vectors\r
24                 IMPORT  |Image$$ARM_LIB_STACK$$ZI$$Limit|\r
25 \r
26 __Vectors       DCD     |Image$$ARM_LIB_STACK$$ZI$$Limit| ; Top of Stack\r
27                 DCD     Reset_Handler             ; Reset Handler\r
28 \r
29                 DCD     NMI_Handler\r
30                 DCD     HardFault_Handler\r
31                 DCD     0\r
32                 DCD     0\r
33                 DCD     0\r
34 __vector_table_0x1c\r
35                 DCD     0                         ; Checksum of the first 7 words\r
36                 DCD     0\r
37                 DCD     0                         ; Enhanced image marker, set to 0x0 for legacy boot\r
38                 DCD     0                         ; Pointer to enhanced boot block, set to 0x0 for legacy boot\r
39                 DCD     SVC_Handler\r
40                 DCD     0\r
41                 DCD     0\r
42                 DCD     PendSV_Handler\r
43                 DCD     SysTick_Handler\r
44 \r
45                 ; External Interrupts\r
46                 DCD     WDT_BOD_IRQHandler  ; Windowed watchdog timer, Brownout detect\r
47                 DCD     DMA0_IRQHandler  ; DMA controller\r
48                 DCD     GINT0_IRQHandler  ; GPIO group 0\r
49                 DCD     GINT1_IRQHandler  ; GPIO group 1\r
50                 DCD     PIN_INT0_IRQHandler  ; Pin interrupt 0 or pattern match engine slice 0\r
51                 DCD     PIN_INT1_IRQHandler  ; Pin interrupt 1or pattern match engine slice 1\r
52                 DCD     PIN_INT2_IRQHandler  ; Pin interrupt 2 or pattern match engine slice 2\r
53                 DCD     PIN_INT3_IRQHandler  ; Pin interrupt 3 or pattern match engine slice 3\r
54                 DCD     UTICK0_IRQHandler  ; Micro-tick Timer\r
55                 DCD     MRT0_IRQHandler  ; Multi-rate timer\r
56                 DCD     CTIMER0_IRQHandler  ; Standard counter/timer CTIMER0\r
57                 DCD     CTIMER1_IRQHandler  ; Standard counter/timer CTIMER1\r
58                 DCD     SCT0_IRQHandler  ; SCTimer/PWM\r
59                 DCD     CTIMER3_IRQHandler  ; Standard counter/timer CTIMER3\r
60                 DCD     FLEXCOMM0_IRQHandler  ; Flexcomm Interface 0 (USART, SPI, I2C)\r
61                 DCD     FLEXCOMM1_IRQHandler  ; Flexcomm Interface 1 (USART, SPI, I2C)\r
62                 DCD     FLEXCOMM2_IRQHandler  ; Flexcomm Interface 2 (USART, SPI, I2C)\r
63                 DCD     FLEXCOMM3_IRQHandler  ; Flexcomm Interface 3 (USART, SPI, I2C)\r
64                 DCD     FLEXCOMM4_IRQHandler  ; Flexcomm Interface 4 (USART, SPI, I2C)\r
65                 DCD     FLEXCOMM5_IRQHandler  ; Flexcomm Interface 5 (USART, SPI, I2C)\r
66                 DCD     FLEXCOMM6_IRQHandler  ; Flexcomm Interface 6 (USART, SPI, I2C, I2S)\r
67                 DCD     FLEXCOMM7_IRQHandler  ; Flexcomm Interface 7 (USART, SPI, I2C, I2S)\r
68                 DCD     ADC0_SEQA_IRQHandler  ; ADC0 sequence A completion.\r
69                 DCD     ADC0_SEQB_IRQHandler  ; ADC0 sequence B completion.\r
70                 DCD     ADC0_THCMP_IRQHandler  ; ADC0 threshold compare and error.\r
71                 DCD     Reserved41_IRQHandler  ; Reserved interrupt\r
72                 DCD     Reserved42_IRQHandler  ; Reserved interrupt\r
73                 DCD     USB0_NEEDCLK_IRQHandler  ; USB Activity Wake-up Interrupt\r
74                 DCD     USB0_IRQHandler  ; USB device\r
75                 DCD     RTC_IRQHandler  ; RTC alarm and wake-up interrupts\r
76                 DCD     Reserved46_IRQHandler  ; Reserved interrupt\r
77                 DCD     Reserved47_IRQHandler  ; Reserved interrupt\r
78 \r
79                 AREA    |.text|, CODE, READONLY\r
80 \r
81 ; Reset Handler\r
82 Reset_Handler   PROC\r
83                 EXPORT  Reset_Handler               [WEAK]\r
84                 IMPORT  SystemInit\r
85                 IMPORT  __main\r
86 \r
87                 LDR     r0, =SystemInit\r
88                 BLX     r0\r
89                 LDR     r0, =__main\r
90                 BX      r0\r
91                 ENDP\r
92 \r
93 ; Dummy Exception Handlers (infinite loops which can be modified)\r
94 NMI_Handler     PROC\r
95                 EXPORT  NMI_Handler               [WEAK]\r
96                 B       .\r
97                 ENDP\r
98 \r
99 HardFault_Handler \\r
100                 PROC\r
101                 EXPORT  HardFault_Handler         [WEAK]\r
102                 B       .\r
103                 ENDP\r
104 \r
105 SVC_Handler     PROC\r
106                 EXPORT  SVC_Handler               [WEAK]\r
107                 B       .\r
108                 ENDP\r
109 \r
110 PendSV_Handler  PROC\r
111                 EXPORT  PendSV_Handler            [WEAK]\r
112                 B       .\r
113                 ENDP\r
114 \r
115 SysTick_Handler PROC\r
116                 EXPORT  SysTick_Handler           [WEAK]\r
117                 B       .\r
118                 ENDP\r
119 \r
120 WDT_BOD_IRQHandler\\r
121                 PROC\r
122                 EXPORT     WDT_BOD_IRQHandler        [WEAK]\r
123                 LDR        R0, =WDT_BOD_DriverIRQHandler\r
124                 BX         R0\r
125                 ENDP\r
126 \r
127 DMA0_IRQHandler\\r
128                 PROC\r
129                 EXPORT     DMA0_IRQHandler        [WEAK]\r
130                 LDR        R0, =DMA0_DriverIRQHandler\r
131                 BX         R0\r
132                 ENDP\r
133 \r
134 GINT0_IRQHandler\\r
135                 PROC\r
136                 EXPORT     GINT0_IRQHandler        [WEAK]\r
137                 LDR        R0, =GINT0_DriverIRQHandler\r
138                 BX         R0\r
139                 ENDP\r
140 \r
141 GINT1_IRQHandler\\r
142                 PROC\r
143                 EXPORT     GINT1_IRQHandler        [WEAK]\r
144                 LDR        R0, =GINT1_DriverIRQHandler\r
145                 BX         R0\r
146                 ENDP\r
147 \r
148 PIN_INT0_IRQHandler\\r
149                 PROC\r
150                 EXPORT     PIN_INT0_IRQHandler        [WEAK]\r
151                 LDR        R0, =PIN_INT0_DriverIRQHandler\r
152                 BX         R0\r
153                 ENDP\r
154 \r
155 PIN_INT1_IRQHandler\\r
156                 PROC\r
157                 EXPORT     PIN_INT1_IRQHandler        [WEAK]\r
158                 LDR        R0, =PIN_INT1_DriverIRQHandler\r
159                 BX         R0\r
160                 ENDP\r
161 \r
162 PIN_INT2_IRQHandler\\r
163                 PROC\r
164                 EXPORT     PIN_INT2_IRQHandler        [WEAK]\r
165                 LDR        R0, =PIN_INT2_DriverIRQHandler\r
166                 BX         R0\r
167                 ENDP\r
168 \r
169 PIN_INT3_IRQHandler\\r
170                 PROC\r
171                 EXPORT     PIN_INT3_IRQHandler        [WEAK]\r
172                 LDR        R0, =PIN_INT3_DriverIRQHandler\r
173                 BX         R0\r
174                 ENDP\r
175 \r
176 UTICK0_IRQHandler\\r
177                 PROC\r
178                 EXPORT     UTICK0_IRQHandler        [WEAK]\r
179                 LDR        R0, =UTICK0_DriverIRQHandler\r
180                 BX         R0\r
181                 ENDP\r
182 \r
183 MRT0_IRQHandler\\r
184                 PROC\r
185                 EXPORT     MRT0_IRQHandler        [WEAK]\r
186                 LDR        R0, =MRT0_DriverIRQHandler\r
187                 BX         R0\r
188                 ENDP\r
189 \r
190 CTIMER0_IRQHandler\\r
191                 PROC\r
192                 EXPORT     CTIMER0_IRQHandler        [WEAK]\r
193                 LDR        R0, =CTIMER0_DriverIRQHandler\r
194                 BX         R0\r
195                 ENDP\r
196 \r
197 CTIMER1_IRQHandler\\r
198                 PROC\r
199                 EXPORT     CTIMER1_IRQHandler        [WEAK]\r
200                 LDR        R0, =CTIMER1_DriverIRQHandler\r
201                 BX         R0\r
202                 ENDP\r
203 \r
204 SCT0_IRQHandler\\r
205                 PROC\r
206                 EXPORT     SCT0_IRQHandler        [WEAK]\r
207                 LDR        R0, =SCT0_DriverIRQHandler\r
208                 BX         R0\r
209                 ENDP\r
210 \r
211 CTIMER3_IRQHandler\\r
212                 PROC\r
213                 EXPORT     CTIMER3_IRQHandler        [WEAK]\r
214                 LDR        R0, =CTIMER3_DriverIRQHandler\r
215                 BX         R0\r
216                 ENDP\r
217 \r
218 FLEXCOMM0_IRQHandler\\r
219                 PROC\r
220                 EXPORT     FLEXCOMM0_IRQHandler        [WEAK]\r
221                 LDR        R0, =FLEXCOMM0_DriverIRQHandler\r
222                 BX         R0\r
223                 ENDP\r
224 \r
225 FLEXCOMM1_IRQHandler\\r
226                 PROC\r
227                 EXPORT     FLEXCOMM1_IRQHandler        [WEAK]\r
228                 LDR        R0, =FLEXCOMM1_DriverIRQHandler\r
229                 BX         R0\r
230                 ENDP\r
231 \r
232 FLEXCOMM2_IRQHandler\\r
233                 PROC\r
234                 EXPORT     FLEXCOMM2_IRQHandler        [WEAK]\r
235                 LDR        R0, =FLEXCOMM2_DriverIRQHandler\r
236                 BX         R0\r
237                 ENDP\r
238 \r
239 FLEXCOMM3_IRQHandler\\r
240                 PROC\r
241                 EXPORT     FLEXCOMM3_IRQHandler        [WEAK]\r
242                 LDR        R0, =FLEXCOMM3_DriverIRQHandler\r
243                 BX         R0\r
244                 ENDP\r
245 \r
246 FLEXCOMM4_IRQHandler\\r
247                 PROC\r
248                 EXPORT     FLEXCOMM4_IRQHandler        [WEAK]\r
249                 LDR        R0, =FLEXCOMM4_DriverIRQHandler\r
250                 BX         R0\r
251                 ENDP\r
252 \r
253 FLEXCOMM5_IRQHandler\\r
254                 PROC\r
255                 EXPORT     FLEXCOMM5_IRQHandler        [WEAK]\r
256                 LDR        R0, =FLEXCOMM5_DriverIRQHandler\r
257                 BX         R0\r
258                 ENDP\r
259 \r
260 FLEXCOMM6_IRQHandler\\r
261                 PROC\r
262                 EXPORT     FLEXCOMM6_IRQHandler        [WEAK]\r
263                 LDR        R0, =FLEXCOMM6_DriverIRQHandler\r
264                 BX         R0\r
265                 ENDP\r
266 \r
267 FLEXCOMM7_IRQHandler\\r
268                 PROC\r
269                 EXPORT     FLEXCOMM7_IRQHandler        [WEAK]\r
270                 LDR        R0, =FLEXCOMM7_DriverIRQHandler\r
271                 BX         R0\r
272                 ENDP\r
273 \r
274 ADC0_SEQA_IRQHandler\\r
275                 PROC\r
276                 EXPORT     ADC0_SEQA_IRQHandler        [WEAK]\r
277                 LDR        R0, =ADC0_SEQA_DriverIRQHandler\r
278                 BX         R0\r
279                 ENDP\r
280 \r
281 ADC0_SEQB_IRQHandler\\r
282                 PROC\r
283                 EXPORT     ADC0_SEQB_IRQHandler        [WEAK]\r
284                 LDR        R0, =ADC0_SEQB_DriverIRQHandler\r
285                 BX         R0\r
286                 ENDP\r
287 \r
288 ADC0_THCMP_IRQHandler\\r
289                 PROC\r
290                 EXPORT     ADC0_THCMP_IRQHandler        [WEAK]\r
291                 LDR        R0, =ADC0_THCMP_DriverIRQHandler\r
292                 BX         R0\r
293                 ENDP\r
294 \r
295 Reserved41_IRQHandler\\r
296                 PROC\r
297                 EXPORT     Reserved41_IRQHandler        [WEAK]\r
298                 LDR        R0, =Reserved41_DriverIRQHandler\r
299                 BX         R0\r
300                 ENDP\r
301 \r
302 Reserved42_IRQHandler\\r
303                 PROC\r
304                 EXPORT     Reserved42_IRQHandler        [WEAK]\r
305                 LDR        R0, =Reserved42_DriverIRQHandler\r
306                 BX         R0\r
307                 ENDP\r
308 \r
309 USB0_NEEDCLK_IRQHandler\\r
310                 PROC\r
311                 EXPORT     USB0_NEEDCLK_IRQHandler        [WEAK]\r
312                 LDR        R0, =USB0_NEEDCLK_DriverIRQHandler\r
313                 BX         R0\r
314                 ENDP\r
315 \r
316 USB0_IRQHandler\\r
317                 PROC\r
318                 EXPORT     USB0_IRQHandler        [WEAK]\r
319                 LDR        R0, =USB0_DriverIRQHandler\r
320                 BX         R0\r
321                 ENDP\r
322 \r
323 RTC_IRQHandler\\r
324                 PROC\r
325                 EXPORT     RTC_IRQHandler        [WEAK]\r
326                 LDR        R0, =RTC_DriverIRQHandler\r
327                 BX         R0\r
328                 ENDP\r
329 \r
330 Reserved46_IRQHandler\\r
331                 PROC\r
332                 EXPORT     Reserved46_IRQHandler        [WEAK]\r
333                 LDR        R0, =Reserved46_DriverIRQHandler\r
334                 BX         R0\r
335                 ENDP\r
336 \r
337 Reserved47_IRQHandler\\r
338                 PROC\r
339                 EXPORT     Reserved47_IRQHandler        [WEAK]\r
340                 LDR        R0, =Reserved47_DriverIRQHandler\r
341                 BX         R0\r
342                 ENDP\r
343 \r
344 Default_Handler PROC\r
345                 EXPORT     WDT_BOD_DriverIRQHandler        [WEAK]\r
346                 EXPORT     DMA0_DriverIRQHandler        [WEAK]\r
347                 EXPORT     GINT0_DriverIRQHandler        [WEAK]\r
348                 EXPORT     GINT1_DriverIRQHandler        [WEAK]\r
349                 EXPORT     PIN_INT0_DriverIRQHandler        [WEAK]\r
350                 EXPORT     PIN_INT1_DriverIRQHandler        [WEAK]\r
351                 EXPORT     PIN_INT2_DriverIRQHandler        [WEAK]\r
352                 EXPORT     PIN_INT3_DriverIRQHandler        [WEAK]\r
353                 EXPORT     UTICK0_DriverIRQHandler        [WEAK]\r
354                 EXPORT     MRT0_DriverIRQHandler        [WEAK]\r
355                 EXPORT     CTIMER0_DriverIRQHandler        [WEAK]\r
356                 EXPORT     CTIMER1_DriverIRQHandler        [WEAK]\r
357                 EXPORT     SCT0_DriverIRQHandler        [WEAK]\r
358                 EXPORT     CTIMER3_DriverIRQHandler        [WEAK]\r
359                 EXPORT     FLEXCOMM0_DriverIRQHandler        [WEAK]\r
360                 EXPORT     FLEXCOMM1_DriverIRQHandler        [WEAK]\r
361                 EXPORT     FLEXCOMM2_DriverIRQHandler        [WEAK]\r
362                 EXPORT     FLEXCOMM3_DriverIRQHandler        [WEAK]\r
363                 EXPORT     FLEXCOMM4_DriverIRQHandler        [WEAK]\r
364                 EXPORT     FLEXCOMM5_DriverIRQHandler        [WEAK]\r
365                 EXPORT     FLEXCOMM6_DriverIRQHandler        [WEAK]\r
366                 EXPORT     FLEXCOMM7_DriverIRQHandler        [WEAK]\r
367                 EXPORT     ADC0_SEQA_DriverIRQHandler        [WEAK]\r
368                 EXPORT     ADC0_SEQB_DriverIRQHandler        [WEAK]\r
369                 EXPORT     ADC0_THCMP_DriverIRQHandler        [WEAK]\r
370                 EXPORT     Reserved41_DriverIRQHandler        [WEAK]\r
371                 EXPORT     Reserved42_DriverIRQHandler        [WEAK]\r
372                 EXPORT     USB0_NEEDCLK_DriverIRQHandler        [WEAK]\r
373                 EXPORT     USB0_DriverIRQHandler        [WEAK]\r
374                 EXPORT     RTC_DriverIRQHandler        [WEAK]\r
375                 EXPORT     Reserved46_DriverIRQHandler        [WEAK]\r
376                 EXPORT     Reserved47_DriverIRQHandler        [WEAK]\r
377 \r
378 WDT_BOD_DriverIRQHandler\r
379 DMA0_DriverIRQHandler\r
380 GINT0_DriverIRQHandler\r
381 GINT1_DriverIRQHandler\r
382 PIN_INT0_DriverIRQHandler\r
383 PIN_INT1_DriverIRQHandler\r
384 PIN_INT2_DriverIRQHandler\r
385 PIN_INT3_DriverIRQHandler\r
386 UTICK0_DriverIRQHandler\r
387 MRT0_DriverIRQHandler\r
388 CTIMER0_DriverIRQHandler\r
389 CTIMER1_DriverIRQHandler\r
390 SCT0_DriverIRQHandler\r
391 CTIMER3_DriverIRQHandler\r
392 FLEXCOMM0_DriverIRQHandler\r
393 FLEXCOMM1_DriverIRQHandler\r
394 FLEXCOMM2_DriverIRQHandler\r
395 FLEXCOMM3_DriverIRQHandler\r
396 FLEXCOMM4_DriverIRQHandler\r
397 FLEXCOMM5_DriverIRQHandler\r
398 FLEXCOMM6_DriverIRQHandler\r
399 FLEXCOMM7_DriverIRQHandler\r
400 ADC0_SEQA_DriverIRQHandler\r
401 ADC0_SEQB_DriverIRQHandler\r
402 ADC0_THCMP_DriverIRQHandler\r
403 Reserved41_DriverIRQHandler\r
404 Reserved42_DriverIRQHandler\r
405 USB0_NEEDCLK_DriverIRQHandler\r
406 USB0_DriverIRQHandler\r
407 RTC_DriverIRQHandler\r
408 Reserved46_DriverIRQHandler\r
409 Reserved47_DriverIRQHandler\r
410 \r
411                 B       .\r
412 \r
413                 ENDP\r
414 \r
415 \r
416                 ALIGN\r
417 \r
418 \r
419                 END\r
420 \r