TARGET_HP34970_FP_F303RD/STM32F303XE.ld

changeset 64
897330ee6e9d
parent 30
71be284c66b3
equal deleted inserted replaced
63:f71f6c0af3cd 64:897330ee6e9d
24 24
25 #if !defined(MBED_APP_SIZE) 25 #if !defined(MBED_APP_SIZE)
26 #define MBED_APP_SIZE MBED_ROM_SIZE 26 #define MBED_APP_SIZE MBED_ROM_SIZE
27 #endif 27 #endif
28 28
29 #if !defined(MBED_BOOT_STACK_SIZE) 29 #if !defined(MBED_CONF_TARGET_BOOT_STACK_SIZE)
30 /* This value is normally defined by the tools 30 /* This value is normally defined by the tools
31 to 0x1000 for bare metal and 0x400 for RTOS */ 31 to 0x1000 for bare metal and 0x400 for RTOS */
32 #define MBED_BOOT_STACK_SIZE 0x400 32 #define MBED_CONF_TARGET_BOOT_STACK_SIZE 0x400
33 #endif 33 #endif
34 34
35 /* Round up VECTORS_SIZE to 8 bytes */ 35 /* Round up VECTORS_SIZE to 8 bytes */
36 #define VECTORS_SIZE (((NVIC_NUM_VECTORS * 4) + 7) & 0xFFFFFFF8) 36 #define VECTORS_SIZE (((NVIC_NUM_VECTORS * 4) + 7) & 0xFFFFFFF8)
37 37
111 } > FLASH 111 } > FLASH
112 __exidx_end = .; 112 __exidx_end = .;
113 113
114 __etext = .; 114 __etext = .;
115 _sidata = .; 115 _sidata = .;
116 116
117 .data : AT (__etext) 117 .data : AT (__etext)
118 { 118 {
119 __data_start__ = .; 119 __data_start__ = .;
120 _sdata = .; 120 _sdata = .;
121 *(vtable) 121 *(vtable)
159 *(.uninitialized) 159 *(.uninitialized)
160 KEEP(*(.keep.uninitialized)) 160 KEEP(*(.keep.uninitialized))
161 . = ALIGN(32); 161 . = ALIGN(32);
162 __uninitialized_end = .; 162 __uninitialized_end = .;
163 } > RAM 163 } > RAM
164 164
165 .bss : 165 .bss :
166 { 166 {
167 . = ALIGN(8); 167 . = ALIGN(8);
168 __bss_start__ = .; 168 __bss_start__ = .;
169 _sbss = .; 169 _sbss = .;
177 .heap (COPY): 177 .heap (COPY):
178 { 178 {
179 __end__ = .; 179 __end__ = .;
180 PROVIDE(end = .); 180 PROVIDE(end = .);
181 *(.heap*) 181 *(.heap*)
182 . = ORIGIN(RAM) + LENGTH(RAM) - MBED_BOOT_STACK_SIZE; 182 . = ORIGIN(RAM) + LENGTH(RAM) - MBED_CONF_TARGET_BOOT_STACK_SIZE;
183 __HeapLimit = .; 183 __HeapLimit = .;
184 } > RAM 184 } > RAM
185 185
186 /* .stack_dummy section doesn't contains any symbols. It is only 186 /* .stack_dummy section doesn't contains any symbols. It is only
187 * used for linker to calculate size of stack sections, and assign 187 * used for linker to calculate size of stack sections, and assign
193 193
194 /* Set stack top to end of RAM, and stack limit move down by 194 /* Set stack top to end of RAM, and stack limit move down by
195 * size of stack_dummy section */ 195 * size of stack_dummy section */
196 __StackTop = ORIGIN(RAM) + LENGTH(RAM); 196 __StackTop = ORIGIN(RAM) + LENGTH(RAM);
197 _estack = __StackTop; 197 _estack = __StackTop;
198 __StackLimit = __StackTop - MBED_BOOT_STACK_SIZE; 198 __StackLimit = __StackTop - MBED_CONF_TARGET_BOOT_STACK_SIZE;
199 PROVIDE(__stack = __StackTop); 199 PROVIDE(__stack = __StackTop);
200 200
201 /* Check if data + heap + stack exceeds RAM limit */ 201 /* Check if data + heap + stack exceeds RAM limit */
202 ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") 202 ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
203 } 203 }

mercurial