summaryrefslogtreecommitdiff
path: root/tmk_core/tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC13XX/TOOLCHAIN_IAR/startup_LPC1347.s
blob: b90a8bee48589dbf042d532ec9693b2f17e8f8eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
/**************************************************
 *
 * Part one of the system initialization code, contains low-level
 * initialization, plain thumb variant.
 *
 * Copyright 2012 IAR Systems. All rights reserved.
 *
 * $Revision: 1106 $
 *
 **************************************************/

;
; The modules in this file are included in the libraries, and may be replaced
; by any user-defined modules that define the PUBLIC symbol _program_start or
; a user defined start symbol.
; To override the cstartup defined in the library, simply add your modified
; version to the workbench project.
;
; The vector table is normally located at address 0.
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
; The name "__vector_table" has special meaning for C-SPY:
; it is where the SP start value is found, and the NVIC vector
; table register (VTOR) is initialized to this address if != 0.
;
; Cortex-M version
;

        MODULE  ?cstartup

        ;; Forward declaration of sections.
        SECTION CSTACK:DATA:NOROOT(3)

        SECTION .intvec:CODE:NOROOT(2)

        EXTERN  __iar_program_start
        EXTERN  SystemInit
        PUBLIC  __vector_table
        PUBLIC  __vector_table_0x1c

        DATA
__vector_table
        DCD     sfe(CSTACK)                 ; Top of Stack
        DCD     Reset_Handler         ; Reset Handler
        DCD     NMI_Handler                 ; NMI Handler
        DCD     HardFault_Handler           ; Hard Fault Handler
        DCD     MemManage_Handler           ; MPU Fault Handler
        DCD     BusFault_Handler            ; Bus Fault Handler
        DCD     UsageFault_Handler          ; Usage Fault Handler
__vector_table_0x1c
        DCD     0                           ; Reserved
        DCD     0                           ; Reserved
        DCD     0                           ; Reserved
        DCD     0                           ; Reserved
        DCD     SVC_Handler                 ; SVCall Handler
        DCD     DebugMon_Handler            ; Debug Monitor Handler
        DCD     0                           ; Reserved
        DCD     PendSV_Handler              ; PendSV Handler
        DCD     SysTick_Handler             ; SysTick Handler
        DCD     FLEX_INT0_IRQHandler        ; GPIO pin interrupt 0       
        DCD     FLEX_INT1_IRQHandler        ; GPIO pin interrupt 1       
        DCD     FLEX_INT2_IRQHandler        ; GPIO pin interrupt 2       
        DCD     FLEX_INT3_IRQHandler        ; GPIO pin interrupt 3       
        DCD     FLEX_INT4_IRQHandler        ; GPIO pin interrupt 4       
        DCD     FLEX_INT5_IRQHandler        ; GPIO pin interrupt 5       
        DCD     FLEX_INT6_IRQHandler        ; GPIO pin interrupt 6       
        DCD     FLEX_INT7_IRQHandler        ; GPIO pin interrupt 7       
        DCD     GINT0_IRQHandler            ; GPIO GROUP0 interrupt      
        DCD     GINT1_IRQHandler            ; GPIO GROUP1 interrupt      
        DCD     0                           ; Reserved
        DCD     0                           ; Reserved
        DCD     0                           ; Reserved
        DCD     0                           ; Reserved
        DCD     SSP1_IRQHandler             ; SSP1 interrupt             
        DCD     I2C_IRQHandler              ; I2C interrupt              
        DCD     CT16B0_IRQHandler           ; CT16B0 Match 0-3, Capture 0
        DCD     CT16B1_IRQHandler           ; CT16B1 Match 0-3, Capture 0
        DCD     CT32B0_IRQHandler           ; CT32B0 Match 0-3, Capture 0
        DCD     CT32B1_IRQHandler           ; CT32B1 Match 0-3, Capture 0
        DCD     SSP0_IRQHandler             ; SSP0 interrupt             
        DCD     USART_IRQHandler            ; USART interrupt            
        DCD     USB_IRQHandler              ; USB_IRQ interrupt          
        DCD     USB_FIQHandler              ; USB_FIQ interrupt          
        DCD     ADC_IRQHandler              ; ADC interrupt              
        DCD     WWDT_IRQHandler             ; WWDT interrupt             
        DCD     BOD_IRQHandler              ; BOD interrupt              
        DCD     0                           ; Reserved
        DCD     0                           ; Reserved
        DCD     0                           ; Reserved
        DCD     USBWakeup_IRQHandler        ; USB_WAKEUP interrupt       
        
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Default interrupt handlers.
;;
        THUMB
        PUBWEAK Reset_Handler
        SECTION .text:CODE:NOROOT:REORDER(2)
Reset_Handler

        LDR     R0, =SystemInit
        BLX     R0
        LDR     R0, =__iar_program_start
        BX      R0
        
      PUBWEAK NMI_Handler       
      PUBWEAK HardFault_Handler 
      PUBWEAK MemManage_Handler 
      PUBWEAK BusFault_Handler  
      PUBWEAK UsageFault_Handler
      PUBWEAK SVC_Handler       
      PUBWEAK DebugMon_Handler  
      PUBWEAK PendSV_Handler      
      PUBWEAK SysTick_Handler     
      PUBWEAK FLEX_INT0_IRQHandler 
      PUBWEAK FLEX_INT1_IRQHandler 
      PUBWEAK FLEX_INT2_IRQHandler 
      PUBWEAK FLEX_INT3_IRQHandler 
      PUBWEAK FLEX_INT4_IRQHandler 
      PUBWEAK FLEX_INT5_IRQHandler 
      PUBWEAK FLEX_INT6_IRQHandler 
      PUBWEAK FLEX_INT7_IRQHandler 
      PUBWEAK GINT0_IRQHandler    
      PUBWEAK GINT1_IRQHandler    
      PUBWEAK SSP1_IRQHandler     
      PUBWEAK I2C_IRQHandler      
      PUBWEAK CT16B0_IRQHandler   
      PUBWEAK CT16B1_IRQHandler   
      PUBWEAK CT32B0_IRQHandler   
      PUBWEAK CT32B1_IRQHandler   
      PUBWEAK SSP0_IRQHandler     
      PUBWEAK USART_IRQHandler    
      PUBWEAK USB_IRQHandler  
      PUBWEAK USB_FIQHandler  
      PUBWEAK ADC_IRQHandler      
      PUBWEAK WWDT_IRQHandler     
      PUBWEAK BOD_IRQHandler      
      PUBWEAK USBWakeup_IRQHandler    

      SECTION .text:CODE:REORDER:NOROOT(1)
      THUMB
      
NMI_Handler       
HardFault_Handler 
MemManage_Handler 
BusFault_Handler  
UsageFault_Handler
SVC_Handler       
DebugMon_Handler  
PendSV_Handler    
SysTick_Handler   
FLEX_INT0_IRQHandler 
FLEX_INT1_IRQHandler 
FLEX_INT2_IRQHandler 
FLEX_INT3_IRQHandler 
FLEX_INT4_IRQHandler 
FLEX_INT5_IRQHandler 
FLEX_INT6_IRQHandler 
FLEX_INT7_IRQHandler 
GINT0_IRQHandler    
GINT1_IRQHandler    
SSP1_IRQHandler     
I2C_IRQHandler      
CT16B0_IRQHandler   
CT16B1_IRQHandler   
CT32B0_IRQHandler   
CT32B1_IRQHandler   
SSP0_IRQHandler     
USART_IRQHandler    
USB_IRQHandler  
USB_FIQHandler  
ADC_IRQHandler      
WWDT_IRQHandler     
BOD_IRQHandler      
USBWakeup_IRQHandler
Default_Handler          
        B Default_Handler 

        END