1 ;/**************************************************************************//**
2 ; * @file startup_ARMCM4.s
3 ; * @brief CMSIS Cortex-M4 Core Device Startup File
4 ; * for CM4 Device Series
6 ; * @date 14. January 2011
7 ; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
9 ; ******************************************************************************/
12 ; <h> Stack Configuration
13 ; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
16 Stack_Size EQU 0x00000400
18 AREA STACK, NOINIT, READWRITE, ALIGN=3
19 Stack_Mem SPACE Stack_Size
23 ; <h> Heap Configuration
24 ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
27 Heap_Size EQU 0x00000000
29 AREA HEAP, NOINIT, READWRITE, ALIGN=3
31 Heap_Mem SPACE Heap_Size
39 ; Vector Table Mapped to Address 0 at Reset
41 AREA RESET, DATA, READONLY
46 __Vectors DCD __initial_sp ; Top of Stack
47 DCD Reset_Handler ; Reset Handler
48 DCD NMI_Handler ; NMI Handler
49 DCD HardFault_Handler ; Hard Fault Handler
50 DCD MemManage_Handler ; MPU Fault Handler
51 DCD BusFault_Handler ; Bus Fault Handler
52 DCD UsageFault_Handler ; Usage Fault Handler
57 DCD SVC_Handler ; SVCall Handler
58 DCD DebugMon_Handler ; Debug Monitor Handler
60 DCD PendSV_Handler ; PendSV Handler
61 DCD SysTick_Handler ; SysTick Handler
64 DCD DEF_IRQHandler ; 0: Default
67 __Vectors_Size EQU __Vectors_End - __Vectors
69 AREA |.text|, CODE, READONLY
75 EXPORT Reset_Handler [WEAK]
85 ; Dummy Exception Handlers (infinite loops which can be modified)
88 EXPORT NMI_Handler [WEAK]
93 EXPORT HardFault_Handler [WEAK]
98 EXPORT MemManage_Handler [WEAK]
103 EXPORT BusFault_Handler [WEAK]
108 EXPORT UsageFault_Handler [WEAK]
112 EXPORT SVC_Handler [WEAK]
117 EXPORT DebugMon_Handler [WEAK]
121 EXPORT PendSV_Handler [WEAK]
125 EXPORT SysTick_Handler [WEAK]
130 EXPORT DEF_IRQHandler [WEAK]
139 ; User Initial Stack & Heap
149 IMPORT __use_two_region_memory
150 EXPORT __user_initial_stackheap
151 __user_initial_stackheap
154 LDR R1, =(Stack_Mem + Stack_Size)
155 LDR R2, = (Heap_Mem + Heap_Size)