]> begriffs open source - cmsis-freertos/blob - Demo/CORTEX_LPC1768_IAR/cstartup_M.s
osEventFlagsWait: Fix flag comparison
[cmsis-freertos] / Demo / CORTEX_LPC1768_IAR / cstartup_M.s
1 /**************************************************
2  *
3  * Part one of the system initialization code, contains low-level
4  * initialization, plain thumb variant.
5  *
6  * Copyright 2009 IAR Systems. All rights reserved.
7  *
8  * $Revision: 28532 $
9  *
10  **************************************************/
11
12 ;
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.
18 ;
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.
24 ;
25 ; Cortex-M version
26 ;
27
28         MODULE  ?cstartup
29
30         ;; Forward declaration of sections.
31         SECTION CSTACK:DATA:NOROOT(3)
32
33         SECTION .intvec:CODE:NOROOT(2)
34
35         EXTERN  __iar_program_start
36                 EXTERN xPortPendSVHandler
37                 EXTERN xPortSysTickHandler
38                 EXTERN vPortSVCHandler
39                 EXTERN vEMAC_ISR
40         PUBLIC  __vector_table
41         PUBLIC  __vector_table_0x1c
42
43         DATA
44 __vector_table
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
52 __vector_table_0x1c
53         DCD     0                           ; Reserved
54         DCD     0                           ; Reserved
55         DCD     0                           ; Reserved
56         DCD     0                           ; Reserved
57         DCD     vPortSVCHandler             ; SVCall Handler
58         DCD     DebugMon_Handler            ; Debug Monitor Handler
59         DCD     0                           ; Reserved
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
95
96 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
97 ;;
98 ;; Default interrupt handlers.
99 ;;
100         THUMB
101
102         PUBWEAK NMI_Handler
103         SECTION .text:CODE:REORDER(1)
104 NMI_Handler
105         B NMI_Handler
106         PUBWEAK HardFault_Handler
107         SECTION .text:CODE:REORDER(1)
108 HardFault_Handler
109         B HardFault_Handler
110         PUBWEAK MemManage_Handler
111         SECTION .text:CODE:REORDER(1)
112 MemManage_Handler
113         B MemManage_Handler
114         PUBWEAK BusFault_Handler
115         SECTION .text:CODE:REORDER(1)
116 BusFault_Handler
117         B BusFault_Handler
118         PUBWEAK UsageFault_Handler
119         SECTION .text:CODE:REORDER(1)
120 UsageFault_Handler
121         B UsageFault_Handler
122         PUBWEAK SVC_Handler
123         SECTION .text:CODE:REORDER(1)
124 SVC_Handler
125         B SVC_Handler
126         PUBWEAK DebugMon_Handler
127         SECTION .text:CODE:REORDER(1)
128 DebugMon_Handler
129         B DebugMon_Handler
130         PUBWEAK PendSV_Handler
131         SECTION .text:CODE:REORDER(1)
132 PendSV_Handler
133         B PendSV_Handler
134         PUBWEAK SysTick_Handler
135         SECTION .text:CODE:REORDER(1)
136 SysTick_Handler
137         B SysTick_Handler
138         PUBWEAK WDT_IRQHandler
139         SECTION .text:CODE:REORDER(1)
140 WDT_IRQHandler
141         B WDT_IRQHandler
142         PUBWEAK TMR0_IRQHandler
143         SECTION .text:CODE:REORDER(1)
144 TMR0_IRQHandler
145         B TMR0_IRQHandler
146         PUBWEAK TMR1_IRQHandler
147         SECTION .text:CODE:REORDER(1)
148 TMR1_IRQHandler
149         B TMR1_IRQHandler
150         PUBWEAK TMR2_IRQHandler
151         SECTION .text:CODE:REORDER(1)
152 TMR2_IRQHandler
153         B TMR2_IRQHandler
154         PUBWEAK TMR3_IRQHandler
155         SECTION .text:CODE:REORDER(1)
156 TMR3_IRQHandler
157         B TMR3_IRQHandler
158         PUBWEAK UART0_IRQHandler
159         SECTION .text:CODE:REORDER(1)
160 UART0_IRQHandler
161         B UART0_IRQHandler
162         PUBWEAK UART1_IRQHandler
163         SECTION .text:CODE:REORDER(1)
164 UART1_IRQHandler
165         B UART1_IRQHandler
166         PUBWEAK UART2_IRQHandler
167         SECTION .text:CODE:REORDER(1)
168 UART2_IRQHandler
169         B UART2_IRQHandler
170         PUBWEAK UART3_IRQHandler
171         SECTION .text:CODE:REORDER(1)
172 UART3_IRQHandler
173         B UART3_IRQHandler
174         PUBWEAK PWM1_IRQHandler
175         SECTION .text:CODE:REORDER(1)
176 PWM1_IRQHandler
177         B PWM1_IRQHandler
178         PUBWEAK I2C0_IRQHandler
179         SECTION .text:CODE:REORDER(1)
180 I2C0_IRQHandler
181         B I2C0_IRQHandler
182         PUBWEAK I2C1_IRQHandler
183         SECTION .text:CODE:REORDER(1)
184 I2C1_IRQHandler
185         B I2C1_IRQHandler
186         PUBWEAK I2C2_IRQHandler
187         SECTION .text:CODE:REORDER(1)
188 I2C2_IRQHandler
189         B I2C2_IRQHandler
190         PUBWEAK SPI_IRQHandler
191         SECTION .text:CODE:REORDER(1)
192 SPI_IRQHandler
193         B SPI_IRQHandler
194         PUBWEAK SSP0_IRQHandler
195         SECTION .text:CODE:REORDER(1)
196 SSP0_IRQHandler
197         B SSP0_IRQHandler
198         PUBWEAK SSP1_IRQHandler
199         SECTION .text:CODE:REORDER(1)
200 SSP1_IRQHandler
201         B SSP1_IRQHandler
202         PUBWEAK PLL0_IRQHandler
203         SECTION .text:CODE:REORDER(1)
204 PLL0_IRQHandler
205         B PLL0_IRQHandler
206         PUBWEAK RTC_IRQHandler
207         SECTION .text:CODE:REORDER(1)
208 RTC_IRQHandler
209         B RTC_IRQHandler
210         PUBWEAK EINT0_IRQHandler
211         SECTION .text:CODE:REORDER(1)
212 EINT0_IRQHandler
213         B EINT0_IRQHandler
214         PUBWEAK EINT1_IRQHandler
215         SECTION .text:CODE:REORDER(1)
216 EINT1_IRQHandler
217         B EINT1_IRQHandler
218         PUBWEAK EINT2_IRQHandler
219         SECTION .text:CODE:REORDER(1)
220 EINT2_IRQHandler
221         B EINT2_IRQHandler
222         PUBWEAK EINT3_IRQHandler
223         SECTION .text:CODE:REORDER(1)
224 EINT3_IRQHandler
225         B EINT3_IRQHandler
226         PUBWEAK ADC_IRQHandler
227         SECTION .text:CODE:REORDER(1)
228 ADC_IRQHandler
229         B ADC_IRQHandler
230         PUBWEAK BOD_IRQHandler
231         SECTION .text:CODE:REORDER(1)
232 BOD_IRQHandler
233         B BOD_IRQHandler
234         PUBWEAK USB_IRQHandler
235         SECTION .text:CODE:REORDER(1)
236 USB_IRQHandler
237         B USB_IRQHandler
238         PUBWEAK CAN_IRQHandler
239         SECTION .text:CODE:REORDER(1)
240 CAN_IRQHandler
241         B CAN_IRQHandler
242         PUBWEAK GPDMA_IRQHandler
243         SECTION .text:CODE:REORDER(1)
244 GPDMA_IRQHandler
245         B GPDMA_IRQHandler
246         PUBWEAK I2S_IRQHandler
247         SECTION .text:CODE:REORDER(1)
248 I2S_IRQHandler
249         B I2S_IRQHandler
250         PUBWEAK Ethernet_IRQHandler
251         SECTION .text:CODE:REORDER(1)
252 Ethernet_IRQHandler
253         B Ethernet_IRQHandler
254         PUBWEAK RIT_IRQHandler
255         SECTION .text:CODE:REORDER(1)
256 RIT_IRQHandler
257         B RIT_IRQHandler
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)
264 QE_IRQHandler
265         B QE_IRQHandler
266         PUBWEAK PLL1_IRQHandler
267         SECTION .text:CODE:REORDER(1)
268 PLL1_IRQHandler
269         B PLL1_IRQHandler
270
271         END