;/**************************************************************************//**
; * @file startup_TM4C123.s
; * @brief CMSIS Cortex-M4 Core Device Startup File for
; * TI Tiva TM4C123 Blizzard Class Device
; * @version V1.00
; * @date 15. May 2013
; *
; * @note
; * Copyright (C) 2011 ARM Limited. All rights reserved.
; *
; * @par
; * ARM Limited (ARM) is supplying this software for use with Cortex-M
; * processor based microcontrollers. This file can be freely distributed
; * within development tools that are supporting such ARM based processors.
; *
; * @par
; * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
; * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
; * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
; *
; ******************************************************************************/
;/*
;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
;*/
; Stack Configuration
; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
;
Stack_Size EQU 0x00000200
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
__initial_sp
; Heap Configuration
; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
;
Heap_Size EQU 0x00000000
AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem SPACE Heap_Size
__heap_limit
PRESERVE8
THUMB
; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY
EXPORT __Vectors
EXPORT __Vectors_End
EXPORT __Vectors_Size
__Vectors DCD __initial_sp ; 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
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
; External Interrupts
DCD GPIOA_Handler ; 0: GPIO Port A
DCD GPIOB_Handler ; 1: GPIO Port B
DCD GPIOC_Handler ; 2: GPIO Port C
DCD GPIOD_Handler ; 3: GPIO Port D
DCD GPIOE_Handler ; 4: GPIO Port E
DCD UART0_Handler ; 5: UART0 Rx and Tx
DCD UART1_Handler ; 6: UART1 Rx and Tx
DCD SSI0_Handler ; 7: SSI0 Rx and Tx
DCD I2C0_Handler ; 8: I2C0 Master and Slave
DCD PMW0_FAULT_Handler ; 9: PWM Fault
DCD PWM0_0_Handler ; 10: PWM Generator 0
DCD PWM0_1_Handler ; 11: PWM Generator 1
DCD PWM0_2_Handler ; 12: PWM Generator 2
DCD QEI0_Handler ; 13: Quadrature Encoder 0
DCD ADC0SS0_Handler ; 14: ADC Sequence 0
DCD ADC0SS1_Handler ; 15: ADC Sequence 1
DCD ADC0SS2_Handler ; 16: ADC Sequence 2
DCD ADC0SS3_Handler ; 17: ADC Sequence 3
DCD WDT0_Handler ; 18: Watchdog timer
DCD TIMER0A_Handler ; 19: Timer 0 subtimer A
DCD TIMER0B_Handler ; 20: Timer 0 subtimer B
DCD TIMER1A_Handler ; 21: Timer 1 subtimer A
DCD TIMER1B_Handler ; 22: Timer 1 subtimer B
DCD TIMER2A_Handler ; 23: Timer 2 subtimer A
DCD TIMER2B_Handler ; 24: Timer 2 subtimer B
DCD COMP0_Handler ; 25: Analog Comparator 0
DCD COMP1_Handler ; 26: Analog Comparator 1
DCD COMP2_Handler ; 27: Analog Comparator 2
DCD SYSCTL_Handler ; 28: System Control (PLL, OSC, BO)
DCD FLASH_Handler ; 29: FLASH Control
DCD GPIOF_Handler ; 30: GPIO Port F
DCD GPIOG_Handler ; 31: GPIO Port G
DCD GPIOH_Handler ; 32: GPIO Port H
DCD UART2_Handler ; 33: UART2 Rx and Tx
DCD SSI1_Handler ; 34: SSI1 Rx and Tx
DCD TIMER3A_Handler ; 35: Timer 3 subtimer A
DCD TIMER3B_Handler ; 36: Timer 3 subtimer B
DCD I2C1_Handler ; 37: I2C1 Master and Slave
DCD QEI1_Handler ; 38: Quadrature Encoder 1
DCD CAN0_Handler ; 39: CAN0
DCD CAN1_Handler ; 40: CAN1
DCD CAN2_Handler ; 41: CAN2
DCD 0 ; 42: Reserved
DCD HIB_Handler ; 43: Hibernate
DCD USB0_Handler ; 44: USB0
DCD PWM0_3_Handler ; 45: PWM Generator 3
DCD UDMA_Handler ; 46: uDMA Software Transfer
DCD UDMAERR_Handler ; 47: uDMA Error
DCD ADC1SS0_Handler ; 48: ADC1 Sequence 0
DCD ADC1SS1_Handler ; 49: ADC1 Sequence 1
DCD ADC1SS2_Handler ; 50: ADC1 Sequence 2
DCD ADC1SS3_Handler ; 51: ADC1 Sequence 3
DCD 0 ; 52: Reserved
DCD 0 ; 53: Reserved
DCD GPIOJ_Handler ; 54: GPIO Port J
DCD GPIOK_Handler ; 55: GPIO Port K
DCD GPIOL_Handler ; 56: GPIO Port L
DCD SSI2_Handler ; 57: SSI2 Rx and Tx
DCD SSI3_Handler ; 58: SSI3 Rx and Tx
DCD UART3_Handler ; 59: UART3 Rx and Tx
DCD UART4_Handler ; 60: UART4 Rx and Tx
DCD UART5_Handler ; 61: UART5 Rx and Tx
DCD UART6_Handler ; 62: UART6 Rx and Tx
DCD UART7_Handler ; 63: UART7 Rx and Tx
DCD 0 ; 64: Reserved
DCD 0 ; 65: Reserved
DCD 0 ; 66: Reserved
DCD 0 ; 67: Reserved
DCD I2C2_Handler ; 68: I2C2 Master and Slave
DCD I2C3_Handler ; 69: I2C3 Master and Slave
DCD TIMER4A_Handler ; 70: Timer 4 subtimer A
DCD TIMER4B_Handler ; 71: Timer 4 subtimer B
DCD 0 ; 72: Reserved
DCD 0 ; 73: Reserved
DCD 0 ; 74: Reserved
DCD 0 ; 75: Reserved
DCD 0 ; 76: Reserved
DCD 0 ; 77: Reserved
DCD 0 ; 78: Reserved
DCD 0 ; 79: Reserved
DCD 0 ; 80: Reserved
DCD 0 ; 81: Reserved
DCD 0 ; 82: Reserved
DCD 0 ; 83: Reserved
DCD 0 ; 84: Reserved
DCD 0 ; 85: Reserved
DCD 0 ; 86: Reserved
DCD 0 ; 87: Reserved
DCD 0 ; 88: Reserved
DCD 0 ; 89: Reserved
DCD 0 ; 90: Reserved
DCD 0 ; 91: Reserved
DCD TIMER5A_Handler ; 92: Timer 5 subtimer A
DCD TIMER5B_Handler ; 93: Timer 5 subtimer B
DCD WTIMER0A_Handler ; 94: Wide Timer 0 subtimer A
DCD WTIMER0B_Handler ; 95: Wide Timer 0 subtimer B
DCD WTIMER1A_Handler ; 96: Wide Timer 1 subtimer A
DCD WTIMER1B_Handler ; 97: Wide Timer 1 subtimer B
DCD WTIMER2A_Handler ; 98: Wide Timer 2 subtimer A
DCD WTIMER2B_Handler ; 99: Wide Timer 2 subtimer B
DCD WTIMER3A_Handler ; 100: Wide Timer 3 subtimer A
DCD WTIMER3B_Handler ; 101: Wide Timer 3 subtimer B
DCD WTIMER4A_Handler ; 102: Wide Timer 4 subtimer A
DCD WTIMER4B_Handler ; 103: Wide Timer 4 subtimer B
DCD WTIMER5A_Handler ; 104: Wide Timer 5 subtimer A
DCD WTIMER5B_Handler ; 105: Wide Timer 5 subtimer B
DCD FPU_Handler ; 106: FPU
DCD 0 ; 107: Reserved
DCD 0 ; 108: Reserved
DCD I2C4_Handler ; 109: I2C4 Master and Slave
DCD I2C5_Handler ; 110: I2C5 Master and Slave
DCD GPIOM_Handler ; 111: GPIO Port M
DCD GPION_Handler ; 112: GPIO Port N
DCD QEI2_Handler ; 113: Quadrature Encoder 2
DCD 0 ; 114: Reserved
DCD 0 ; 115: Reserved
DCD GPIOP0_Handler ; 116: GPIO Port P (Summary or P0)
DCD GPIOP1_Handler ; 117: GPIO Port P1
DCD GPIOP2_Handler ; 118: GPIO Port P2
DCD GPIOP3_Handler ; 119: GPIO Port P3
DCD GPIOP4_Handler ; 120: GPIO Port P4
DCD GPIOP5_Handler ; 121: GPIO Port P5
DCD GPIOP6_Handler ; 122: GPIO Port P6
DCD GPIOP7_Handler ; 123: GPIO Port P7
DCD GPIOQ0_Handler ; 124: GPIO Port Q (Summary or Q0)
DCD GPIOQ1_Handler ; 125: GPIO Port Q1
DCD GPIOQ2_Handler ; 126: GPIO Port Q2
DCD GPIOQ3_Handler ; 127: GPIO Port Q3
DCD GPIOQ4_Handler ; 128: GPIO Port Q4
DCD GPIOQ5_Handler ; 129: GPIO Port Q5
DCD GPIOQ6_Handler ; 130: GPIO Port Q6
DCD GPIOQ7_Handler ; 131: GPIO Port Q7
DCD GPIOR_Handler ; 132: GPIO Port R
DCD GPIOS_Handler ; 133: GPIO Port S
DCD PMW1_0_Handler ; 134: PWM 1 Generator 0
DCD PWM1_1_Handler ; 135: PWM 1 Generator 1
DCD PWM1_2_Handler ; 136: PWM 1 Generator 2
DCD PWM1_3_Handler ; 137: PWM 1 Generator 3
DCD PWM1_FAULT_Handler ; 138: PWM 1 Fault
__Vectors_End
__Vectors_Size EQU __Vectors_End - __Vectors
AREA |.text|, CODE, READONLY
; Reset Handler
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT SystemInit
IMPORT __main
LDR R0, =SystemInit
BLX R0
LDR R0, =__main
BX R0
ENDP
; Dummy Exception Handlers (infinite loops which can be modified)
NMI_Handler PROC
EXPORT NMI_Handler [WEAK]
B .
ENDP
HardFault_Handler\
PROC
EXPORT HardFault_Handler [WEAK]
B .
ENDP
MemManage_Handler\
PROC
EXPORT MemManage_Handler [WEAK]
B .
ENDP
BusFault_Handler\
PROC
EXPORT BusFault_Handler [WEAK]
B .
ENDP
UsageFault_Handler\
PROC
EXPORT UsageFault_Handler [WEAK]
B .
ENDP
SVC_Handler PROC
EXPORT SVC_Handler [WEAK]
B .
ENDP
DebugMon_Handler\
PROC
EXPORT DebugMon_Handler [WEAK]
B .
ENDP
PendSV_Handler\
PROC
EXPORT PendSV_Handler [WEAK]
B .
ENDP
SysTick_Handler\
PROC
EXPORT SysTick_Handler [WEAK]
B .
ENDP
GPIOA_Handler\
PROC
EXPORT GPIOA_Handler [WEAK]
B .
ENDP
GPIOB_Handler\
PROC
EXPORT GPIOB_Handler [WEAK]
B .
ENDP
GPIOC_Handler\
PROC
EXPORT GPIOC_Handler [WEAK]
B .
ENDP
GPIOD_Handler\
PROC
EXPORT GPIOD_Handler [WEAK]
B .
ENDP
GPIOE_Handler\
PROC
EXPORT GPIOE_Handler [WEAK]
B .
ENDP
UART0_Handler\
PROC
EXPORT UART0_Handler [WEAK]
B .
ENDP
UART1_Handler\
PROC
EXPORT UART1_Handler [WEAK]
B .
ENDP
SSI0_Handler\
PROC
EXPORT SSI0_Handler [WEAK]
B .
ENDP
I2C0_Handler\
PROC
EXPORT I2C0_Handler [WEAK]
B .
ENDP
PMW0_FAULT_Handler\
PROC
EXPORT PMW0_FAULT_Handler [WEAK]
B .
ENDP
PWM0_0_Handler\
PROC
EXPORT PWM0_0_Handler [WEAK]
B .
ENDP
PWM0_1_Handler\
PROC
EXPORT PWM0_1_Handler [WEAK]
B .
ENDP
PWM0_2_Handler\
PROC
EXPORT PWM0_2_Handler [WEAK]
B .
ENDP
QEI0_Handler\
PROC
EXPORT QEI0_Handler [WEAK]
B .
ENDP
ADC0SS0_Handler\
PROC
EXPORT ADC0SS0_Handler [WEAK]
B .
ENDP
ADC0SS1_Handler\
PROC
EXPORT ADC0SS1_Handler [WEAK]
B .
ENDP
ADC0SS2_Handler\
PROC
EXPORT ADC0SS2_Handler [WEAK]
B .
ENDP
ADC0SS3_Handler\
PROC
EXPORT ADC0SS3_Handler [WEAK]
B .
ENDP
WDT0_Handler\
PROC
EXPORT WDT0_Handler [WEAK]
B .
ENDP
TIMER0A_Handler\
PROC
EXPORT TIMER0A_Handler [WEAK]
B .
ENDP
TIMER0B_Handler\
PROC
EXPORT TIMER0B_Handler [WEAK]
B .
ENDP
TIMER1A_Handler\
PROC
EXPORT TIMER1A_Handler [WEAK]
B .
ENDP
TIMER1B_Handler\
PROC
EXPORT TIMER1B_Handler [WEAK]
B .
ENDP
TIMER2A_Handler\
PROC
EXPORT TIMER2A_Handler [WEAK]
B .
ENDP
TIMER2B_Handler\
PROC
EXPORT TIMER2B_Handler [WEAK]
B .
ENDP
COMP0_Handler\
PROC
EXPORT COMP0_Handler [WEAK]
B .
ENDP
COMP1_Handler\
PROC
EXPORT COMP1_Handler [WEAK]
B .
ENDP
COMP2_Handler\
PROC
EXPORT COMP2_Handler [WEAK]
B .
ENDP
SYSCTL_Handler\
PROC
EXPORT SYSCTL_Handler [WEAK]
B .
ENDP
FLASH_Handler\
PROC
EXPORT FLASH_Handler [WEAK]
B .
ENDP
GPIOF_Handler\
PROC
EXPORT GPIOF_Handler [WEAK]
B .
ENDP
GPIOG_Handler\
PROC
EXPORT GPIOG_Handler [WEAK]
B .
ENDP
GPIOH_Handler\
PROC
EXPORT GPIOH_Handler [WEAK]
B .
ENDP
UART2_Handler\
PROC
EXPORT UART2_Handler [WEAK]
B .
ENDP
SSI1_Handler\
PROC
EXPORT SSI1_Handler [WEAK]
B .
ENDP
TIMER3A_Handler\
PROC
EXPORT TIMER3A_Handler [WEAK]
B .
ENDP
TIMER3B_Handler\
PROC
EXPORT TIMER3B_Handler [WEAK]
B .
ENDP
I2C1_Handler\
PROC
EXPORT I2C1_Handler [WEAK]
B .
ENDP
QEI1_Handler\
PROC
EXPORT QEI1_Handler [WEAK]
B .
ENDP
CAN0_Handler\
PROC
EXPORT CAN0_Handler [WEAK]
B .
ENDP
CAN1_Handler\
PROC
EXPORT CAN1_Handler [WEAK]
B .
ENDP
CAN2_Handler\
PROC
EXPORT CAN2_Handler [WEAK]
B .
ENDP
HIB_Handler\
PROC
EXPORT HIB_Handler [WEAK]
B .
ENDP
USB0_Handler\
PROC
EXPORT USB0_Handler [WEAK]
B .
ENDP
PWM0_3_Handler\
PROC
EXPORT PWM0_3_Handler [WEAK]
B .
ENDP
UDMA_Handler\
PROC
EXPORT UDMA_Handler [WEAK]
B .
ENDP
UDMAERR_Handler\
PROC
EXPORT UDMAERR_Handler [WEAK]
B .
ENDP
ADC1SS0_Handler\
PROC
EXPORT ADC1SS0_Handler [WEAK]
B .
ENDP
ADC1SS1_Handler\
PROC
EXPORT ADC1SS1_Handler [WEAK]
B .
ENDP
ADC1SS2_Handler\
PROC
EXPORT ADC1SS2_Handler [WEAK]
B .
ENDP
ADC1SS3_Handler\
PROC
EXPORT ADC1SS3_Handler [WEAK]
B .
ENDP
GPIOJ_Handler\
PROC
EXPORT GPIOJ_Handler [WEAK]
B .
ENDP
GPIOK_Handler\
PROC
EXPORT GPIOK_Handler [WEAK]
B .
ENDP
GPIOL_Handler\
PROC
EXPORT GPIOL_Handler [WEAK]
B .
ENDP
SSI2_Handler\
PROC
EXPORT SSI2_Handler [WEAK]
B .
ENDP
SSI3_Handler\
PROC
EXPORT SSI3_Handler [WEAK]
B .
ENDP
UART3_Handler\
PROC
EXPORT UART3_Handler [WEAK]
B .
ENDP
UART4_Handler\
PROC
EXPORT UART4_Handler [WEAK]
B .
ENDP
UART5_Handler\
PROC
EXPORT UART5_Handler [WEAK]
B .
ENDP
UART6_Handler\
PROC
EXPORT UART6_Handler [WEAK]
B .
ENDP
UART7_Handler\
PROC
EXPORT UART7_Handler [WEAK]
B .
ENDP
I2C2_Handler\
PROC
EXPORT I2C2_Handler [WEAK]
B .
ENDP
I2C3_Handler\
PROC
EXPORT I2C3_Handler [WEAK]
B .
ENDP
TIMER4A_Handler\
PROC
EXPORT TIMER4A_Handler [WEAK]
B .
ENDP
TIMER4B_Handler\
PROC
EXPORT TIMER4B_Handler [WEAK]
B .
ENDP
TIMER5A_Handler\
PROC
EXPORT TIMER5A_Handler [WEAK]
B .
ENDP
TIMER5B_Handler\
PROC
EXPORT TIMER5B_Handler [WEAK]
B .
ENDP
WTIMER0A_Handler\
PROC
EXPORT WTIMER0A_Handler [WEAK]
B .
ENDP
WTIMER0B_Handler\
PROC
EXPORT WTIMER0B_Handler [WEAK]
B .
ENDP
WTIMER1A_Handler\
PROC
EXPORT WTIMER1A_Handler [WEAK]
B .
ENDP
WTIMER1B_Handler\
PROC
EXPORT WTIMER1B_Handler [WEAK]
B .
ENDP
WTIMER2A_Handler\
PROC
EXPORT WTIMER2A_Handler [WEAK]
B .
ENDP
WTIMER2B_Handler\
PROC
EXPORT WTIMER2B_Handler [WEAK]
B .
ENDP
WTIMER3A_Handler\
PROC
EXPORT WTIMER3A_Handler [WEAK]
B .
ENDP
WTIMER3B_Handler\
PROC
EXPORT WTIMER3B_Handler [WEAK]
B .
ENDP
WTIMER4A_Handler\
PROC
EXPORT WTIMER4A_Handler [WEAK]
B .
ENDP
WTIMER4B_Handler\
PROC
EXPORT WTIMER4B_Handler [WEAK]
B .
ENDP
WTIMER5A_Handler\
PROC
EXPORT WTIMER5A_Handler [WEAK]
B .
ENDP
WTIMER5B_Handler\
PROC
EXPORT WTIMER5B_Handler [WEAK]
B .
ENDP
FPU_Handler\
PROC
EXPORT FPU_Handler [WEAK]
B .
ENDP
I2C4_Handler\
PROC
EXPORT I2C4_Handler [WEAK]
B .
ENDP
I2C5_Handler\
PROC
EXPORT I2C5_Handler [WEAK]
B .
ENDP
GPIOM_Handler\
PROC
EXPORT GPIOM_Handler [WEAK]
B .
ENDP
GPION_Handler\
PROC
EXPORT GPION_Handler [WEAK]
B .
ENDP
QEI2_Handler\
PROC
EXPORT QEI2_Handler [WEAK]
B .
ENDP
GPIOP0_Handler\
PROC
EXPORT GPIOP0_Handler [WEAK]
B .
ENDP
GPIOP1_Handler\
PROC
EXPORT GPIOP1_Handler [WEAK]
B .
ENDP
GPIOP2_Handler\
PROC
EXPORT GPIOP2_Handler [WEAK]
B .
ENDP
GPIOP3_Handler\
PROC
EXPORT GPIOP3_Handler [WEAK]
B .
ENDP
GPIOP4_Handler\
PROC
EXPORT GPIOP4_Handler [WEAK]
B .
ENDP
GPIOP5_Handler\
PROC
EXPORT GPIOP5_Handler [WEAK]
B .
ENDP
GPIOP6_Handler\
PROC
EXPORT GPIOP6_Handler [WEAK]
B .
ENDP
GPIOP7_Handler\
PROC
EXPORT GPIOP7_Handler [WEAK]
B .
ENDP
GPIOQ0_Handler\
PROC
EXPORT GPIOQ0_Handler [WEAK]
B .
ENDP
GPIOQ1_Handler\
PROC
EXPORT GPIOQ1_Handler [WEAK]
B .
ENDP
GPIOQ2_Handler\
PROC
EXPORT GPIOQ2_Handler [WEAK]
B .
ENDP
GPIOQ3_Handler\
PROC
EXPORT GPIOQ3_Handler [WEAK]
B .
ENDP
GPIOQ4_Handler\
PROC
EXPORT GPIOQ4_Handler [WEAK]
B .
ENDP
GPIOQ5_Handler\
PROC
EXPORT GPIOQ5_Handler [WEAK]
B .
ENDP
GPIOQ6_Handler\
PROC
EXPORT GPIOQ6_Handler [WEAK]
B .
ENDP
GPIOQ7_Handler\
PROC
EXPORT GPIOQ7_Handler [WEAK]
B .
ENDP
GPIOR_Handler\
PROC
EXPORT GPIOR_Handler [WEAK]
B .
ENDP
GPIOS_Handler\
PROC
EXPORT GPIOS_Handler [WEAK]
B .
ENDP
PMW1_0_Handler\
PROC
EXPORT PMW1_0_Handler [WEAK]
B .
ENDP
PWM1_1_Handler\
PROC
EXPORT PWM1_1_Handler [WEAK]
B .
ENDP
PWM1_2_Handler\
PROC
EXPORT PWM1_2_Handler [WEAK]
B .
ENDP
PWM1_3_Handler\
PROC
EXPORT PWM1_3_Handler [WEAK]
B .
ENDP
PWM1_FAULT_Handler\
PROC
EXPORT PWM1_FAULT_Handler [WEAK]
B .
ENDP
ALIGN
; User Initial Stack & Heap
IF :DEF:__MICROLIB
EXPORT __initial_sp
EXPORT __heap_base
EXPORT __heap_limit
ELSE
IMPORT __use_two_region_memory
EXPORT __user_initial_stackheap
__user_initial_stackheap
LDR R0, = Heap_Mem
LDR R1, =(Stack_Mem + Stack_Size)
LDR R2, = (Heap_Mem + Heap_Size)
LDR R3, = Stack_Mem
BX LR
ALIGN
ENDIF
END