diff options
-rw-r--r-- | firmware/target/arm/ipod/boot.lds | 22 | ||||
-rw-r--r-- | firmware/target/arm/iriver/boot.lds | 22 | ||||
-rw-r--r-- | firmware/target/arm/olympus/boot.lds | 20 | ||||
-rw-r--r-- | firmware/target/arm/sandisk/boot.lds | 19 |
4 files changed, 57 insertions, 26 deletions
diff --git a/firmware/target/arm/ipod/boot.lds b/firmware/target/arm/ipod/boot.lds index 5c80f1fbc3..69a89cd5f5 100644 --- a/firmware/target/arm/ipod/boot.lds +++ b/firmware/target/arm/ipod/boot.lds @@ -29,6 +29,12 @@ STARTUP(target/arm/crt0-pp-bl.o) #define FLASHSIZE 2M #endif +MEMORY +{ + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE +} + SECTIONS { . = IRAMORIG; @@ -36,26 +42,28 @@ SECTIONS .text : { *(.init.text) *(.text*) - } + *(.glue_7) + *(.glue_7t) + } > IRAM .data : { *(.icode) *(.irodata) *(.idata) *(.data*) - *(.ncdata*); + *(.ncdata*) + *(.rodata*) _dataend = . ; - } + } > IRAM - .stack : - { + .stack : { *(.stack) _stackbegin = .; stackbegin = .; . += 0x2000; _stackend = .; stackend = .; - } + } > IRAM /* The bss section is too large for IRAM - we just move it 16MB into the DRAM */ @@ -67,5 +75,5 @@ SECTIONS *(.ibss); *(.ncbss*); _end = .; - } + } > DRAM } diff --git a/firmware/target/arm/iriver/boot.lds b/firmware/target/arm/iriver/boot.lds index 77e661f608..ab6a576078 100644 --- a/firmware/target/arm/iriver/boot.lds +++ b/firmware/target/arm/iriver/boot.lds @@ -13,6 +13,12 @@ STARTUP(target/arm/crt0-pp-bl.o) #define FLASHORIG 0x001f0000 #define FLASHSIZE 2M +MEMORY +{ + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE +} + SECTIONS { . = IRAMORIG; @@ -20,26 +26,28 @@ SECTIONS .text : { *(.init.text) *(.text*) - } + *(.glue_7) + *(.glue_7t) + } > IRAM .data : { *(.icode) *(.irodata) *(.idata) *(.data*) - *(.ncdata*); + *(.ncdata*) + *(.rodata*) _dataend = . ; - } + } > IRAM - .stack : - { + .stack : { *(.stack) _stackbegin = .; stackbegin = .; . += 0x2000; _stackend = .; stackend = .; - } + } > IRAM /* The bss section is too large for IRAM - we just move it 16MB into the DRAM */ @@ -51,5 +59,5 @@ SECTIONS *(.ibss); *(.ncbss*); _end = .; - } + } > DRAM } diff --git a/firmware/target/arm/olympus/boot.lds b/firmware/target/arm/olympus/boot.lds index 7b86ad29bc..e083aa4a08 100644 --- a/firmware/target/arm/olympus/boot.lds +++ b/firmware/target/arm/olympus/boot.lds @@ -13,6 +13,12 @@ STARTUP(target/arm/crt0-pp-bl.o) #define FLASHORIG 0x001f0000 #define FLASHSIZE 2M +MEMORY +{ + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE +} + SECTIONS { . = IRAMORIG; @@ -20,7 +26,9 @@ SECTIONS .text : { *(.init.text) *(.text*) - } + *(.glue_7) + *(.glue_7t) + } > IRAM .data : { *(.icode) @@ -28,18 +36,18 @@ SECTIONS *(.idata) *(.data*) *(.ncdata*) + *(.rodata*) _dataend = . ; - } + } > IRAM - .stack : - { + .stack : { *(.stack) _stackbegin = .; stackbegin = .; . += 0x2000; _stackend = .; stackend = .; - } + } > IRAM /* The bss section is too large for IRAM - we just move it 16MB into the DRAM */ @@ -51,5 +59,5 @@ SECTIONS *(.ibss); *(.ncbss*); _end = .; - } + } > DRAM } diff --git a/firmware/target/arm/sandisk/boot.lds b/firmware/target/arm/sandisk/boot.lds index f829076b12..1eeda06340 100644 --- a/firmware/target/arm/sandisk/boot.lds +++ b/firmware/target/arm/sandisk/boot.lds @@ -15,6 +15,11 @@ STARTUP(target/arm/crt0-pp-bl.o) #define FLASHORIG 0x001f0000 #define FLASHSIZE 2M +MEMORY +{ + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE +} SECTIONS { @@ -23,7 +28,9 @@ SECTIONS .text : { *(.init.text) *(.text*) - } + *(.glue_7) + *(.glue_7t) + } > IRAM .data : { *(.icode) @@ -31,18 +38,18 @@ SECTIONS *(.idata) *(.data*) *(.ncdata*) + *(.rodata*) _dataend = . ; - } + } > IRAM - .stack : - { + .stack : { *(.stack) _stackbegin = .; stackbegin = .; . += 0x2000; _stackend = .; stackend = .; - } + } > IRAM /* The bss section is too large for IRAM - we just move it 16MB into the DRAM */ @@ -54,5 +61,5 @@ SECTIONS *(.ibss); *(.ncbss*); _end = .; - } + } > DRAM } |