diff options
3 files changed, 30 insertions, 29 deletions
diff --git a/os/common/startup/ARMCMx/compilers/GCC/ld/XMC1100x0064.ld b/os/common/startup/ARMCMx/compilers/GCC/ld/XMC1100x0064.ld index dcd737b5b..b5538b7c6 100644 --- a/os/common/startup/ARMCMx/compilers/GCC/ld/XMC1100x0064.ld +++ b/os/common/startup/ARMCMx/compilers/GCC/ld/XMC1100x0064.ld @@ -27,9 +27,9 @@ MEMORY flash5 : org = 0x00000000, len = 0
flash6 : org = 0x00000000, len = 0
flash7 : org = 0x00000000, len = 0
- ram0 : org = 0x20000000, len = 0xC0
- ram1 : org = 0x200000C0, len = 0x140
- ram2 : org = 0x20000200, len = 16k - 0x140 - 0xC0
+ ram0 : org = 0x20000000, len = 0x200
+ ram1 : org = 0x20000200, len = 16k - 0x200
+ ram2 : org = 0x00000000, len = 0
ram3 : org = 0x00000000, len = 0
ram4 : org = 0x00000000, len = 0
ram5 : org = 0x00000000, len = 0
@@ -65,21 +65,21 @@ REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0); /* RAM region to be used for Main stack. This stack accommodates the processing
of all exceptions and interrupts.*/
-REGION_ALIAS("MAIN_STACK_RAM", ram2);
+REGION_ALIAS("MAIN_STACK_RAM", ram1);
/* RAM region to be used for the process stack. This is the stack used by
the main() function.*/
-REGION_ALIAS("PROCESS_STACK_RAM", ram2);
+REGION_ALIAS("PROCESS_STACK_RAM", ram1);
/* RAM region to be used for data segment.*/
-REGION_ALIAS("DATA_RAM", ram2);
+REGION_ALIAS("DATA_RAM", ram1);
REGION_ALIAS("DATA_RAM_LMA", flash0);
/* RAM region to be used for BSS segment.*/
-REGION_ALIAS("BSS_RAM", ram2);
+REGION_ALIAS("BSS_RAM", ram1);
/* RAM region to be used for the default heap.*/
-REGION_ALIAS("HEAP_RAM", ram2);
+REGION_ALIAS("HEAP_RAM", ram1);
/* Generic rules inclusion.*/
INCLUDE rules.ld
diff --git a/os/common/startup/ARMCMx/compilers/GCC/ld/rules_data.ld b/os/common/startup/ARMCMx/compilers/GCC/ld/rules_data.ld index 083d661bf..c531015ee 100644 --- a/os/common/startup/ARMCMx/compilers/GCC/ld/rules_data.ld +++ b/os/common/startup/ARMCMx/compilers/GCC/ld/rules_data.ld @@ -75,8 +75,8 @@ SECTIONS . = ALIGN(4);
__ram0_init_text__ = LOADADDR(.ram0_init);
__ram0_init__ = .;
- *(.ram0_init)
- *(.ram0_init.*)
+ KEEP(*(.ram0_init))
+ KEEP(*(.ram0_init.*))
. = ALIGN(4);
} > ram0 AT > RAM_INIT_FLASH_LMA
@@ -99,8 +99,8 @@ SECTIONS . = ALIGN(4);
__ram1_init_text__ = LOADADDR(.ram1_init);
__ram1_init__ = .;
- *(.ram1_init)
- *(.ram1_init.*)
+ KEEP(*(.ram1_init))
+ KEEP(*(.ram1_init.*))
. = ALIGN(4);
} > ram1 AT > RAM_INIT_FLASH_LMA
@@ -123,8 +123,8 @@ SECTIONS . = ALIGN(4);
__ram2_init_text__ = LOADADDR(.ram2_init);
__ram2_init__ = .;
- *(.ram2_init)
- *(.ram2_init.*)
+ KEEP(*(.ram2_init))
+ KEEP(*(.ram2_init.*))
. = ALIGN(4);
} > ram2 AT > RAM_INIT_FLASH_LMA
@@ -147,8 +147,8 @@ SECTIONS . = ALIGN(4);
__ram3_init_text__ = LOADADDR(.ram3_init);
__ram3_init__ = .;
- *(.ram3_init)
- *(.ram3_init.*)
+ KEEP(*(.ram3_init))
+ KEEP(*(.ram3_init.*))
. = ALIGN(4);
} > ram3 AT > RAM_INIT_FLASH_LMA
@@ -171,8 +171,8 @@ SECTIONS . = ALIGN(4);
__ram4_init_text__ = LOADADDR(.ram4_init);
__ram4_init__ = .;
- *(.ram4_init)
- *(.ram4_init.*)
+ KEEP(*(.ram4_init))
+ KEEP(*(.ram4_init.*))
. = ALIGN(4);
} > ram4 AT > RAM_INIT_FLASH_LMA
@@ -195,8 +195,8 @@ SECTIONS . = ALIGN(4);
__ram5_init_text__ = LOADADDR(.ram5_init);
__ram5_init__ = .;
- *(.ram5_init)
- *(.ram5_init.*)
+ KEEP(*(.ram5_init))
+ KEEP(*(.ram5_init.*))
. = ALIGN(4);
} > ram5 AT > RAM_INIT_FLASH_LMA
@@ -219,8 +219,8 @@ SECTIONS . = ALIGN(4);
__ram6_init_text__ = LOADADDR(.ram6_init);
__ram6_init__ = .;
- *(.ram6_init)
- *(.ram6_init.*)
+ KEEP(*(.ram6_init))
+ KEEP(*(.ram6_init.*))
. = ALIGN(4);
} > ram6 AT > RAM_INIT_FLASH_LMA
@@ -243,8 +243,8 @@ SECTIONS . = ALIGN(4);
__ram7_init_text__ = LOADADDR(.ram7_init);
__ram7_init__ = .;
- *(.ram7_init)
- *(.ram7_init.*)
+ KEEP(*(.ram7_init))
+ KEEP(*(.ram7_init.*))
. = ALIGN(4);
} > ram7 AT > RAM_INIT_FLASH_LMA
diff --git a/os/common/startup/ARMCMx/devices/XMC1100/veneers_gcc.S b/os/common/startup/ARMCMx/devices/XMC1100/veneers_gcc.S index 8a1bed69d..bb1089838 100644 --- a/os/common/startup/ARMCMx/devices/XMC1100/veneers_gcc.S +++ b/os/common/startup/ARMCMx/devices/XMC1100/veneers_gcc.S @@ -36,14 +36,15 @@ #if !defined(__DOXYGEN__)
- .syntax unified
- .cpu cortex-m0
+ .syntax unified
+ .cpu cortex-m0
.thumb
- .section ram0_init
+ .section .ram0_init, "ax"
- .align 2
- .global __veneers
+ .align 2
+ .thumb_func
+ .global __veneers
__veneers:
.long 0
.long 0
|