1 ;/**************************************************************************//**
2 ; * @file startup_ARMCM0.s
3 ; * @brief CMSIS Cortex-M0 Core Device Startup File
4 ; * for CM0 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
57 DCD SVC_Handler ; SVCall 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]
97 EXPORT SVC_Handler [WEAK]
101 EXPORT PendSV_Handler [WEAK]
105 EXPORT SysTick_Handler [WEAK]
110 EXPORT DEF_IRQHandler [WEAK]
119 ; User Initial Stack & Heap
129 IMPORT __use_two_region_memory
130 EXPORT __user_initial_stackheap
131 __user_initial_stackheap
134 LDR R1, =(Stack_Mem + Stack_Size)
135 LDR R2, = (Heap_Mem + Heap_Size)