summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2008-10-30 20:01:01 +0000
committerRafaël Carré <rafael.carre@gmail.com>2008-10-30 20:01:01 +0000
commitf4a0f457be567092da038853b9ff295742678175 (patch)
treeb75f94b9bba32b9fc155ea63de7143253de5cd51
parent29a5373724d143d2629cafd8cc0c1961546c1bd6 (diff)
Sansav2 bootloader: explicitely link everything into IRAM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18937 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/as3525/boot.lds26
1 files changed, 20 insertions, 6 deletions
diff --git a/firmware/target/arm/as3525/boot.lds b/firmware/target/arm/as3525/boot.lds
index f94f1c33da..eb977a1023 100644
--- a/firmware/target/arm/as3525/boot.lds
+++ b/firmware/target/arm/as3525/boot.lds
@@ -5,23 +5,37 @@ OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
STARTUP(target/arm/crt0.o)
+#define DRAMSIZE (MEMORYSIZE * 0x100000)
+#define DRAMORIG 0x30000000
+#define IRAMORIG 0
+#define IRAMSIZE 0x50000
+
+MEMORY
+{
+ DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
+ IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
+}
+
SECTIONS
{
- /*. = IRAMORIG; */
+ . = IRAMORIG;
.text : {
*(.init.text)
+ *(.glue_7)
+ *(.glue_7t)
*(.text*)
- }
+ } > IRAM
.data : {
*(.icode)
*(.irodata)
*(.idata)
*(.data*)
- *(.ncdata*);
+ *(.ncdata*)
+ *(.rodata*)
_dataend = . ;
- }
+ } > IRAM
.stack :
{
@@ -31,7 +45,7 @@ SECTIONS
. += 0x2000;
_stackend = .;
stackend = .;
- }
+ } > IRAM
.bss : {
_edata = .;
@@ -39,5 +53,5 @@ SECTIONS
*(.ibss);
*(.ncbss*);
_end = .;
- }
+ } > IRAM
}