summaryrefslogtreecommitdiff
path: root/nuttx/configs/olimex-lpc2378
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-11-04 17:18:25 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-11-04 17:18:25 +0000
commit813efa266bb67269669e532b5ce6f00ee2097948 (patch)
treeac30163b79435767a2d5c7a4b350531bb945c3b9 /nuttx/configs/olimex-lpc2378
parentd619bef95e6e08dea3d15b52f991e056fb869ebf (diff)
downloadpx4-nuttx-813efa266bb67269669e532b5ce6f00ee2097948.tar.gz
px4-nuttx-813efa266bb67269669e532b5ce6f00ee2097948.tar.bz2
px4-nuttx-813efa266bb67269669e532b5ce6f00ee2097948.zip
Massive clean-up of linker scripts from Freddie Chopin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5307 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/configs/olimex-lpc2378')
-rw-r--r--nuttx/configs/olimex-lpc2378/nsh/Make.defs4
-rw-r--r--nuttx/configs/olimex-lpc2378/ostest/Make.defs4
-rwxr-xr-xnuttx/configs/olimex-lpc2378/ostest/ld.script166
-rwxr-xr-xnuttx/configs/olimex-lpc2378/scripts/ld.script (renamed from nuttx/configs/olimex-lpc2378/nsh/ld.script)42
4 files changed, 25 insertions, 191 deletions
diff --git a/nuttx/configs/olimex-lpc2378/nsh/Make.defs b/nuttx/configs/olimex-lpc2378/nsh/Make.defs
index 022f3670b..5fba7e214 100644
--- a/nuttx/configs/olimex-lpc2378/nsh/Make.defs
+++ b/nuttx/configs/olimex-lpc2378/nsh/Make.defs
@@ -72,13 +72,13 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/olimex-lpc2378/ostest/Make.defs b/nuttx/configs/olimex-lpc2378/ostest/Make.defs
index 043f7ad8e..2c007cd39 100644
--- a/nuttx/configs/olimex-lpc2378/ostest/Make.defs
+++ b/nuttx/configs/olimex-lpc2378/ostest/Make.defs
@@ -72,13 +72,13 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/olimex-lpc2378/ostest/ld.script b/nuttx/configs/olimex-lpc2378/ostest/ld.script
deleted file mode 100755
index e9ffbb450..000000000
--- a/nuttx/configs/olimex-lpc2378/ostest/ld.script
+++ /dev/null
@@ -1,166 +0,0 @@
-/****************************************************************************
- * configs/olimex-lpc2378/ostest/ld.script
- *
- * Copyright (C) 2010 Rommel Marcelo. All rights reserved.
- * Author: Rommel Marcelo
- *
- * This is part of the NuttX RTOS and based on the LPC2148 port:
- *
- * Copyright (C) 2010, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-MEMORY
-{
- ROM (rx) : ORIGIN = 0x00000000, LENGTH = (512k-8k) /* Flash: 512k - boot code */
- RAM (rw) : ORIGIN = 0x40000000, LENGTH = (32k-32) /* SRAM: 32k - IAP work */
- URAM (rw) : ORIGIN = 0x7FD00000, LENGTH = (8k) /* USB RAM: 8k */
- ERAM (rw) : ORIGIN = 0x7FE00000, LENGTH = (16k) /* Ethernet RAM: 16k */
- BRAM (rw) : ORIGIN = 0xE0084000, LENGTH = (2k) /* Battery RAM: 2k */
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors) /* Startup code */
- *(.text .text.*) /* remaining code */
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*) /* read-only data (constants) */
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- . = ALIGN(4);
- } > ROM
-
- /* This is where the .data section is relocated for execution out
- * FLASH. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
- . = ALIGN(4);
- _eronly = ABSOLUTE(.);
-
- .data :
- {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > RAM AT > ROM
-
- .ARM.extab : {
- *(.ARM.extab*)
- } > RAM
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } > RAM
- __exidx_end = ABSOLUTE(.);
-
-
-/* .bss section which is initialized by 0 */
- /* This section will be filled with zero by startup code */
- .bss (NOLOAD) :
- {
- _sbss = ABSOLUTE(.) ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > RAM
-
- .usbram (NOLOAD) :
- {
- __usbram_start = . ;
- __usbram_start__ = . ;
- *(.usbram)
- . = ALIGN(4);
- } > URAM
-
- .etherram (NOLOAD) :
- {
- __etherram_start = . ;
- __etherram_start__ = . ;
- *(.etherram)
- . = ALIGN(4);
- } > ERAM
-
- .batteryram (NOLOAD) :
- {
- __batteryram_start = . ;
- __batteryram_start__ = . ;
- *(.batteryram)
- . = ALIGN(4);
- } > BRAM
-
- /* Stabs debugging sections. */
- .stab 0 : { *(.stab) }
- .stabstr 0 : { *(.stabstr) }
- .stab.excl 0 : { *(.stab.excl) }
- .stab.exclstr 0 : { *(.stab.exclstr) }
- .stab.index 0 : { *(.stab.index) }
- .stab.indexstr 0 : { *(.stab.indexstr) }
- .comment 0 : { *(.comment) }
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to the beginning
- of the section so we begin them at 0. */
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/nuttx/configs/olimex-lpc2378/nsh/ld.script b/nuttx/configs/olimex-lpc2378/scripts/ld.script
index d591fcd66..8434249b6 100755
--- a/nuttx/configs/olimex-lpc2378/nsh/ld.script
+++ b/nuttx/configs/olimex-lpc2378/scripts/ld.script
@@ -1,5 +1,5 @@
/****************************************************************************
- * configs/olimex-lpc2378/nsh/ld.script
+ * configs/olimex-lpc2378/scripts/ld.script
*
* Copyright (C) 2010 Rommel Marcelo. All rights reserved.
* Author: Rommel Marcelo
@@ -52,11 +52,11 @@ SECTIONS
{
.text : {
_stext = ABSOLUTE(.);
- *(.vectors) /* Startup code */
- *(.text .text.*) /* remaining code */
+ *(.vectors)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*) /* read-only data (constants) */
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -64,16 +64,26 @@ SECTIONS
*(.gcc_except_table)
*(.gnu.linkonce.r.*)
_etext = ABSOLUTE(.);
- . = ALIGN(4);
} > ROM
- /* This is where the .data section is relocated for execution out
- * FLASH. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
- . = ALIGN(4);
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > ROM
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > ROM
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > ROM
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
-
+
.data :
{
_sdata = ABSOLUTE(.);
@@ -83,16 +93,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > RAM AT > ROM
- .ARM.extab : {
- *(.ARM.extab*)
- } > RAM
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } > RAM
- __exidx_end = ABSOLUTE(.);
-
/* .bss section which is initialized by 0 */
/* This section will be filled with zero by startup code */
.bss (NOLOAD) :