1 ;/**************************************************************************//**
2 ; * @file startup_netx90_app.s
3 ; * @brief CMSIS Cortex-M ARMv7-M based Core Device Startup File for
4 ; * ARMCM4 Device netx90_app
6 ; * @date 02. March 2016
7 ; ******************************************************************************/
9 ; * Copyright (c) 2009-2016 ARM Limited. All rights reserved.
11 ; * SPDX-License-Identifier: Apache-2.0
13 ; * Licensed under the Apache License, Version 2.0 (the License); you may
14 ; * not use this file except in compliance with the License.
15 ; * You may obtain a copy of the License at
17 ; * www.apache.org/licenses/LICENSE-2.0
19 ; * Unless required by applicable law or agreed to in writing, software
20 ; * distributed under the License is distributed on an AS IS BASIS, WITHOUT
21 ; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 ; * See the License for the specific language governing permissions and
23 ; * limitations under the License.
27 ;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
31 ; <h> Stack Configuration
32 ; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
35 Stack_Size EQU 0x00000400
37 AREA STACK, NOINIT, READWRITE, ALIGN=3
38 Stack_Mem SPACE Stack_Size
42 ; <h> Heap Configuration
43 ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
46 Heap_Size EQU 0x00000C00
48 AREA HEAP, NOINIT, READWRITE, ALIGN=3
50 Heap_Mem SPACE Heap_Size
58 ; Vector Table Mapped to Address 0 at Reset
60 AREA RESET, DATA, READONLY
65 __Vectors DCD __initial_sp ; Top of Stack
66 DCD Reset_Handler ; Reset Handler
67 DCD NMI_Handler ; NMI Handler
68 DCD HardFault_Handler ; Hard Fault Handler
69 DCD MemManage_Handler ; MPU Fault Handler
70 DCD BusFault_Handler ; Bus Fault Handler
71 DCD UsageFault_Handler ; Usage Fault Handler
76 DCD SVC_Handler ; SVCall Handler
77 DCD DebugMon_Handler ; Debug Monitor Handler
79 DCD PendSV_Handler ; PendSV Handler
80 DCD SysTick_Handler ; SysTick Handler
83 DCD SW_IRQHandler ; 0: software
84 DCD TIM0_IRQHandler ; 1: timer_app0
85 DCD TIM1_IRQHandler ; 2: timer_app1
86 DCD TIM2_IRQHandler ; 3: timer_app2
87 DCD SYSTIME_IRQHandler ; 4: timer_app_systime_s
88 DCD WDG_IRQHandler ; 5: wdg_app
89 DCD DMAC_IRQHandler ; 6: dmac_app
90 DCD MCP_IRQHandler ; 7: mcp_app
91 DCD UART_IRQHandler ; 8: uart_app
92 DCD I2C_IRQHandler ; 9: i2c-app
93 DCD I2CXPIC_IRQHandler ; 10: i2c_xpic_app
94 DCD ECC1_IRQHandler ; 11: ecc_app_1bit_error
95 DCD ECC2_IRQHandler ; 12: ecc_app_2bit_error
96 DCD XPICDEBUG_IRQHandler ; 13: xpic_debug_app
97 DCD WDGXPIC_IRQHandler ; 14: wdg_xpic_app_arm
98 DCD NFIFO_ARM_APP_IRQHandler ; 15: nfifo_arm_app
99 DCD IOLINK_IRQHandler ; 16: io_link_irq_xpic_app
100 DCD SPI0_IRQHandler ; 17: spi0_app
101 DCD SPI1_IRQHandler ; 18: spi1_app
102 DCD SPI2_IRQHandler ; 19: spi2_app
103 DCD SPIXPIC_IRQHandler ; 20: spi_xpic_app
104 DCD UARTXPIC_IRQHandler ; 21: uart_xpic_app
105 DCD ASIC_IRQHandler ; 22: bod
106 DCD SQI_IRQHandler ; 23: sqi
107 DCD HIFPIO_IRQHandler ; 24: hif_pio_arm
108 DCD FETH_IRQHandler ; 25: eth
109 DCD ADC0_IRQHandler ; 26: adc0
110 DCD ADC1_IRQHandler ; 27: adc1
111 DCD HASH_IRQHandler ; 28: hash
112 DCD AES_IRQHandler ; 29: aes
113 DCD MTGY_IRQHandler ; 30: mtgy
114 DCD HIFRDY_IRQHandler ; 31: hif_rdy_to
115 DCD GPIO0_IRQHandler ; 32: gpio_app0
116 DCD GPIO1_IRQHandler ; 33: gpio_app1
117 DCD GPIO2_IRQHandler ; 34: gpio_app2
118 DCD GPIO3_IRQHandler ; 35: gpio_app3
119 DCD GPIO4_IRQHandler ; 36: gpio_app4
120 DCD GPIO5_IRQHandler ; 37: gpio_app5
121 DCD GPIO6_IRQHandler ; 38: gpio_app6
122 DCD GPIO7_IRQHandler ; 39: gpio_app7
123 DCD GPIOTIM0_IRQHandler ; 40: gpio_app_timer0
124 DCD GPIOTIM1_IRQHandler ; 41: gpio_app_timer1
125 DCD GPIOTIM2_IRQHandler ; 42: gpio_app_timer2
126 DCD XCTRIGGER0_IRQHandler ; 43: trigger_out_edge0
127 DCD XCTRIGGER1_IRQHandler ; 44: trigger_out_edge1
128 DCD CTI0_IRQHandler ; 45: cti_arm_app0
129 DCD CTI1_IRQHandler ; 46: cti_arm_app1
130 DCD FPU_IRQHandler ; 47: fpu_arm_app
131 DCD HSC0_IRQHandler ; 48: hs_com_host_hsc0
132 DCD HSC1_IRQHandler ; 49: hs_com_host_hsc1
133 DCD HSC2_IRQHandler ; 50: hs_com_host_hsc2
134 DCD HSC3_IRQHandler ; 51: hs_com_host_hsc3
135 DCD HSC4_IRQHandler ; 52: hs_com_host_hsc4
136 DCD HSC5_IRQHandler ; 53: hs_com_host_hsc5
137 DCD HSC6_IRQHandler ; 54: hs_com_host_hsc6
138 DCD HSC7_IRQHandler ; 55: hs_com_host_hsc7
139 DCD HSC8TO15_IRQHandler ; 56: hs_com_host_hsc8to15
140 DCD IDPM_IRQHandler ; 57: idpm_com_host
141 DCD ENDAT1_IRQHandler ; 58: endat_app0
142 DCD ENDAT2_IRQHandler ; 59: endat_app1
143 DCD BISS0_IRQHandler ; 60: biss_app0
144 DCD BISS1_IRQHandler ; 61: biss_app1
145 DCD CAN0_IRQHandler ; 62: can_ctrl0_app
146 DCD CAN1_IRQHandler ; 63: can_ctrl1_app
147 DCD FIREWALL_IRQHandler ; 64: firewall
182 __Vectors_Size EQU __Vectors_End - __Vectors
184 AREA |.text|, CODE, READONLY
190 EXPORT Reset_Handler [WEAK]
200 ; Dummy Exception Handlers (infinite loops which can be modified)
204 EXPORT NMI_Handler [WEAK]
209 EXPORT HardFault_Handler [WEAK]
214 EXPORT MemManage_Handler [WEAK]
219 EXPORT BusFault_Handler [WEAK]
224 EXPORT UsageFault_Handler [WEAK]
229 EXPORT SVC_Handler [WEAK]
234 EXPORT DebugMon_Handler [WEAK]
239 EXPORT PendSV_Handler [WEAK]
244 EXPORT SysTick_Handler [WEAK]
250 EXPORT SW_IRQHandler [WEAK]
251 EXPORT TIM0_IRQHandler [WEAK]
252 EXPORT TIM1_IRQHandler [WEAK]
253 EXPORT TIM2_IRQHandler [WEAK]
254 EXPORT SYSTIME_IRQHandler [WEAK]
255 EXPORT WDG_IRQHandler [WEAK]
256 EXPORT DMAC_IRQHandler [WEAK]
257 EXPORT MCP_IRQHandler [WEAK]
258 EXPORT UART_IRQHandler [WEAK]
259 EXPORT I2C_IRQHandler [WEAK]
260 EXPORT I2CXPIC_IRQHandler [WEAK]
261 EXPORT ECC1_IRQHandler [WEAK]
262 EXPORT ECC2_IRQHandler [WEAK]
263 EXPORT XPICDEBUG_IRQHandler [WEAK]
264 EXPORT WDGXPIC_IRQHandler [WEAK]
265 EXPORT NFIFO_ARM_APP_IRQHandler [WEAK]
266 EXPORT IOLINK_IRQHandler [WEAK]
267 EXPORT SPI0_IRQHandler [WEAK]
268 EXPORT SPI1_IRQHandler [WEAK]
269 EXPORT SPI2_IRQHandler [WEAK]
270 EXPORT SPIXPIC_IRQHandler [WEAK]
271 EXPORT UARTXPIC_IRQHandler [WEAK]
272 EXPORT ASIC_IRQHandler [WEAK]
273 EXPORT SQI_IRQHandler [WEAK]
274 EXPORT HIFPIO_IRQHandler [WEAK]
275 EXPORT FETH_IRQHandler [WEAK]
276 EXPORT ADC0_IRQHandler [WEAK]
277 EXPORT ADC1_IRQHandler [WEAK]
278 EXPORT HASH_IRQHandler [WEAK]
279 EXPORT AES_IRQHandler [WEAK]
280 EXPORT MTGY_IRQHandler [WEAK]
281 EXPORT HIFRDY_IRQHandler [WEAK]
282 EXPORT GPIO0_IRQHandler [WEAK]
283 EXPORT GPIO1_IRQHandler [WEAK]
284 EXPORT GPIO2_IRQHandler [WEAK]
285 EXPORT GPIO3_IRQHandler [WEAK]
286 EXPORT GPIO4_IRQHandler [WEAK]
287 EXPORT GPIO5_IRQHandler [WEAK]
288 EXPORT GPIO6_IRQHandler [WEAK]
289 EXPORT GPIO7_IRQHandler [WEAK]
290 EXPORT GPIOTIM0_IRQHandler [WEAK]
291 EXPORT GPIOTIM1_IRQHandler [WEAK]
292 EXPORT GPIOTIM2_IRQHandler [WEAK]
293 EXPORT XCTRIGGER0_IRQHandler [WEAK]
294 EXPORT XCTRIGGER1_IRQHandler [WEAK]
295 EXPORT CTI0_IRQHandler [WEAK]
296 EXPORT CTI1_IRQHandler [WEAK]
297 EXPORT FPU_IRQHandler [WEAK]
298 EXPORT HSC0_IRQHandler [WEAK]
299 EXPORT HSC1_IRQHandler [WEAK]
300 EXPORT HSC2_IRQHandler [WEAK]
301 EXPORT HSC3_IRQHandler [WEAK]
302 EXPORT HSC4_IRQHandler [WEAK]
303 EXPORT HSC5_IRQHandler [WEAK]
304 EXPORT HSC6_IRQHandler [WEAK]
305 EXPORT HSC7_IRQHandler [WEAK]
306 EXPORT HSC8TO15_IRQHandler [WEAK]
307 EXPORT IDPM_IRQHandler [WEAK]
308 EXPORT ENDAT1_IRQHandler [WEAK]
309 EXPORT ENDAT2_IRQHandler [WEAK]
310 EXPORT BISS0_IRQHandler [WEAK]
311 EXPORT BISS1_IRQHandler [WEAK]
312 EXPORT CAN0_IRQHandler [WEAK]
313 EXPORT CAN1_IRQHandler [WEAK]
314 EXPORT FIREWALL_IRQHandler [WEAK]
359 XCTRIGGER0_IRQHandler
360 XCTRIGGER1_IRQHandler
389 ; User Initial Stack & Heap
399 IMPORT __use_two_region_memory
400 EXPORT __user_initial_stackheap
402 __user_initial_stackheap PROC
404 LDR R1, =(Stack_Mem + Stack_Size)
405 LDR R2, = (Heap_Mem + Heap_Size)