]> rtime.felk.cvut.cz Git - sysless.git/commitdiff
lpc21xx.ld-mpram to work with crt0.S
authorMarek Peca <mp@duch.cz>
Mon, 1 May 2006 22:30:00 +0000 (22:30 +0000)
committerMarek Peca <mp@duch.cz>
Mon, 1 May 2006 22:30:00 +0000 (22:30 +0000)
darcs-hash:20060501223001-b965f-627f06050678d53497b1e0c9cfc0a7e2f6d7ff19.gz

board/spejblarm/libs/ldscripts/lpc21xx.ld-mpram

index eb333eb9a5b2fe3f426345376693a84e5f4e593d..e1bf8c1d6092ba7c5ea204c73b11dab43d5aedf9 100644 (file)
@@ -1,38 +1,34 @@
-/***********************************************************************/\r
-/*  This file is part of the ARM Compiler package                      */\r
-/*  Copyright KEIL ELEKTRONIK GmbH 1992-2004                           */\r
-/***********************************************************************/\r
-/*                                                                     */\r
-/*  TARGET.LD:  Linker Script File                                     */\r
-/*                                                                     */\r
-/***********************************************************************/\r
+/***\r
+ * LPC21xx RAM with <0x40000120;0x40000200) hole\r
+ * used by ISP or CAN bootloader\r
+ ***/\r
 \r
-/* Memory Definitions */\r
+STARTUP(crt0.o)\r
+ENTRY(_start)\r
+STACK_SIZE = 0x400;\r
 \r
+/* Memory Definitions */\r
 MEMORY\r
 {\r
   RAML (rw) : ORIGIN = 0x40000000, LENGTH = 0x00000120\r
-  RAMH (rw) : ORIGIN = 0x40000200, LENGTH = 0x00003e00\r
-  /*RAMH (rw) : ORIGIN = 0x40001100, LENGTH = 0x00000f00*/\r
+  RAMH (rw) : ORIGIN = 0x40000200, LENGTH = 0x00004000\r
 }\r
 \r
-STARTUP(crt0mp.o)\r
-\r
 /* Section Definitions */\r
 \r
 SECTIONS\r
 {\r
   .ivec :\r
   {\r
-    *(.ivec)                   /* remaining code */\r
+    *(.ivec)                   /* interrupt entry points */\r
   } > RAML\r
 \r
   /* first section is .text which is used for code */\r
   .text :\r
   {\r
-    /* *crt0mp.o (.text) */         /* Startup code */\r
+    *crt0.o (.text)            /* Startup code */\r
     *(.text)                   /* remaining code */\r
-    *(.rodata)\r
+    *(.rodata)                 /* read-only data (constants) */\r
     *(.rodata*)\r
     *(.glue_7)\r
     *(.glue_7t)\r
@@ -45,13 +41,13 @@ SECTIONS
   /* .data section which is used for initialized data */\r
   .data :\r
   {\r
-    _data = . ;\r
+    _data = .;\r
     *(.data)\r
   } > RAMH\r
 \r
   . = ALIGN(4);\r
   _edata = . ;\r
-   PROVIDE (edata = .);\r
+  PROVIDE (edata = .);\r
 \r
   /* .bss section which is used for uninitialized data */\r
   .bss (NOLOAD) :\r
@@ -60,12 +56,20 @@ SECTIONS
     __bss_start__ = . ;\r
     *(.bss)\r
     *(COMMON)\r
+    . = ALIGN(4);\r
   } > RAMH\r
 \r
   . = ALIGN(4);\r
   __bss_end__ = . ;\r
-  __bss_end__ = . ;\r
-  _end = .;\r
+  PROVIDE (__bss_end = .);\r
+\r
+  .stack ALIGN(256) :\r
+  {\r
+    . += STACK_SIZE;\r
+    PROVIDE (_stack = .);\r
+  } > RAMH\r
+\r
+  _end = . ;\r
   PROVIDE (end = .);\r
 \r
   /* Stabs debugging sections.  */\r