From 3e33906a4a035e1873519c7bc34908a9c181802a Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Thu, 23 Jun 2016 11:30:23 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9653 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- .../ARMCMx/compilers/GCC/ld/XMC1100x0064.ld | 16 +++++------ .../startup/ARMCMx/compilers/GCC/ld/rules_data.ld | 32 +++++++++++----------- .../startup/ARMCMx/devices/XMC1100/veneers_gcc.S | 11 ++++---- 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 -- cgit v1.2.3