Skip to content

Commit 8c9d38f

Browse files
committed
Align ARMC linker script with GCC
1 parent 0c3879a commit 8c9d38f

File tree

1 file changed

+14
-3
lines changed
  • targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F412xG/TOOLCHAIN_ARM

1 file changed

+14
-3
lines changed

targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F412xG/TOOLCHAIN_ARM/stm32f412xg.sct

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,14 @@
3333
/* Round up VECTORS_SIZE to 8 bytes */
3434
#define VECTORS_SIZE (((NVIC_NUM_VECTORS * 4) + 7) AND ~7)
3535

36+
#define MBED_CRASH_REPORT_RAM_SIZE 0x100
37+
38+
#define MBED_IRAM1_START (MBED_RAM_START + VECTORS_SIZE + MBED_CRASH_REPORT_RAM_SIZE)
39+
#define MBED_IRAM1_SIZE (MBED_RAM_SIZE - VECTORS_SIZE - MBED_CRASH_REPORT_RAM_SIZE)
40+
41+
42+
#define RAM_FIXED_SIZE (MBED_BOOT_STACK_SIZE + VECTORS_SIZE + MBED_CRASH_REPORT_RAM_SIZE)
43+
3644
LR_IROM1 MBED_APP_START MBED_APP_SIZE {
3745

3846
ER_IROM1 MBED_APP_START MBED_APP_SIZE {
@@ -41,11 +49,14 @@ LR_IROM1 MBED_APP_START MBED_APP_SIZE {
4149
.ANY (+RO)
4250
}
4351

44-
RW_IRAM1 (MBED_RAM_START + VECTORS_SIZE) { ; RW data
45-
.ANY (+RW +ZI)
52+
RW_m_crash_data (MBED_RAM_START + VECTORS_SIZE) EMPTY MBED_CRASH_REPORT_RAM_SIZE { ; RW data
53+
}
54+
55+
RW_IRAM1 MBED_IRAM1_START MBED_IRAM1_SIZE { ; RW data
56+
.ANY (+RW +ZI)
4657
}
4758

48-
ARM_LIB_HEAP AlignExpr(+0, 16) EMPTY (MBED_RAM_START + MBED_RAM_SIZE - MBED_BOOT_STACK_SIZE - AlignExpr(ImageLimit(RW_IRAM1), 16)) { ; Heap growing up
59+
ARM_LIB_HEAP AlignExpr(+0, 16) EMPTY (MBED_RAM_START + MBED_RAM_SIZE - RAM_FIXED_SIZE - AlignExpr(ImageLimit(RW_IRAM1), 16)) {
4960
}
5061

5162
ARM_LIB_STACK (MBED_RAM_START + MBED_RAM_SIZE) EMPTY -MBED_BOOT_STACK_SIZE { ; Stack region growing down

0 commit comments

Comments
 (0)