diff options
author | Barry Wardell <rockbox@barrywardell.net> | 2008-05-01 17:13:33 +0000 |
---|---|---|
committer | Barry Wardell <rockbox@barrywardell.net> | 2008-05-01 17:13:33 +0000 |
commit | 93b8a076ec61c92e4fc996fb04bab4e7aa22da10 (patch) | |
tree | bbce700344ad60d5b3c5dfd2c2781e1b3a704efd | |
parent | a1fa57fc01232c027e01417180989f36e76367bf (diff) | |
download | rockbox-93b8a076ec61c92e4fc996fb04bab4e7aa22da10.tar.gz rockbox-93b8a076ec61c92e4fc996fb04bab4e7aa22da10.zip |
Make the linker complain if the bootloader isn't going to fit into IRAM on PP devices.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17298 a1c6a512-1295-4272-9138-f99709370657
-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) | |||
29 | #define FLASHSIZE 2M | 29 | #define FLASHSIZE 2M |
30 | #endif | 30 | #endif |
31 | 31 | ||
32 | MEMORY | ||
33 | { | ||
34 | DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE | ||
35 | IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE | ||
36 | } | ||
37 | |||
32 | SECTIONS | 38 | SECTIONS |
33 | { | 39 | { |
34 | . = IRAMORIG; | 40 | . = IRAMORIG; |
@@ -36,26 +42,28 @@ SECTIONS | |||
36 | .text : { | 42 | .text : { |
37 | *(.init.text) | 43 | *(.init.text) |
38 | *(.text*) | 44 | *(.text*) |
39 | } | 45 | *(.glue_7) |
46 | *(.glue_7t) | ||
47 | } > IRAM | ||
40 | 48 | ||
41 | .data : { | 49 | .data : { |
42 | *(.icode) | 50 | *(.icode) |
43 | *(.irodata) | 51 | *(.irodata) |
44 | *(.idata) | 52 | *(.idata) |
45 | *(.data*) | 53 | *(.data*) |
46 | *(.ncdata*); | 54 | *(.ncdata*) |
55 | *(.rodata*) | ||
47 | _dataend = . ; | 56 | _dataend = . ; |
48 | } | 57 | } > IRAM |
49 | 58 | ||
50 | .stack : | 59 | .stack : { |
51 | { | ||
52 | *(.stack) | 60 | *(.stack) |
53 | _stackbegin = .; | 61 | _stackbegin = .; |
54 | stackbegin = .; | 62 | stackbegin = .; |
55 | . += 0x2000; | 63 | . += 0x2000; |
56 | _stackend = .; | 64 | _stackend = .; |
57 | stackend = .; | 65 | stackend = .; |
58 | } | 66 | } > IRAM |
59 | 67 | ||
60 | /* The bss section is too large for IRAM - we just move it 16MB into the | 68 | /* The bss section is too large for IRAM - we just move it 16MB into the |
61 | DRAM */ | 69 | DRAM */ |
@@ -67,5 +75,5 @@ SECTIONS | |||
67 | *(.ibss); | 75 | *(.ibss); |
68 | *(.ncbss*); | 76 | *(.ncbss*); |
69 | _end = .; | 77 | _end = .; |
70 | } | 78 | } > DRAM |
71 | } | 79 | } |
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) | |||
13 | #define FLASHORIG 0x001f0000 | 13 | #define FLASHORIG 0x001f0000 |
14 | #define FLASHSIZE 2M | 14 | #define FLASHSIZE 2M |
15 | 15 | ||
16 | MEMORY | ||
17 | { | ||
18 | DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE | ||
19 | IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE | ||
20 | } | ||
21 | |||
16 | SECTIONS | 22 | SECTIONS |
17 | { | 23 | { |
18 | . = IRAMORIG; | 24 | . = IRAMORIG; |
@@ -20,26 +26,28 @@ SECTIONS | |||
20 | .text : { | 26 | .text : { |
21 | *(.init.text) | 27 | *(.init.text) |
22 | *(.text*) | 28 | *(.text*) |
23 | } | 29 | *(.glue_7) |
30 | *(.glue_7t) | ||
31 | } > IRAM | ||
24 | 32 | ||
25 | .data : { | 33 | .data : { |
26 | *(.icode) | 34 | *(.icode) |
27 | *(.irodata) | 35 | *(.irodata) |
28 | *(.idata) | 36 | *(.idata) |
29 | *(.data*) | 37 | *(.data*) |
30 | *(.ncdata*); | 38 | *(.ncdata*) |
39 | *(.rodata*) | ||
31 | _dataend = . ; | 40 | _dataend = . ; |
32 | } | 41 | } > IRAM |
33 | 42 | ||
34 | .stack : | 43 | .stack : { |
35 | { | ||
36 | *(.stack) | 44 | *(.stack) |
37 | _stackbegin = .; | 45 | _stackbegin = .; |
38 | stackbegin = .; | 46 | stackbegin = .; |
39 | . += 0x2000; | 47 | . += 0x2000; |
40 | _stackend = .; | 48 | _stackend = .; |
41 | stackend = .; | 49 | stackend = .; |
42 | } | 50 | } > IRAM |
43 | 51 | ||
44 | /* The bss section is too large for IRAM - we just move it 16MB into the | 52 | /* The bss section is too large for IRAM - we just move it 16MB into the |
45 | DRAM */ | 53 | DRAM */ |
@@ -51,5 +59,5 @@ SECTIONS | |||
51 | *(.ibss); | 59 | *(.ibss); |
52 | *(.ncbss*); | 60 | *(.ncbss*); |
53 | _end = .; | 61 | _end = .; |
54 | } | 62 | } > DRAM |
55 | } | 63 | } |
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) | |||
13 | #define FLASHORIG 0x001f0000 | 13 | #define FLASHORIG 0x001f0000 |
14 | #define FLASHSIZE 2M | 14 | #define FLASHSIZE 2M |
15 | 15 | ||
16 | MEMORY | ||
17 | { | ||
18 | DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE | ||
19 | IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE | ||
20 | } | ||
21 | |||
16 | SECTIONS | 22 | SECTIONS |
17 | { | 23 | { |
18 | . = IRAMORIG; | 24 | . = IRAMORIG; |
@@ -20,7 +26,9 @@ SECTIONS | |||
20 | .text : { | 26 | .text : { |
21 | *(.init.text) | 27 | *(.init.text) |
22 | *(.text*) | 28 | *(.text*) |
23 | } | 29 | *(.glue_7) |
30 | *(.glue_7t) | ||
31 | } > IRAM | ||
24 | 32 | ||
25 | .data : { | 33 | .data : { |
26 | *(.icode) | 34 | *(.icode) |
@@ -28,18 +36,18 @@ SECTIONS | |||
28 | *(.idata) | 36 | *(.idata) |
29 | *(.data*) | 37 | *(.data*) |
30 | *(.ncdata*) | 38 | *(.ncdata*) |
39 | *(.rodata*) | ||
31 | _dataend = . ; | 40 | _dataend = . ; |
32 | } | 41 | } > IRAM |
33 | 42 | ||
34 | .stack : | 43 | .stack : { |
35 | { | ||
36 | *(.stack) | 44 | *(.stack) |
37 | _stackbegin = .; | 45 | _stackbegin = .; |
38 | stackbegin = .; | 46 | stackbegin = .; |
39 | . += 0x2000; | 47 | . += 0x2000; |
40 | _stackend = .; | 48 | _stackend = .; |
41 | stackend = .; | 49 | stackend = .; |
42 | } | 50 | } > IRAM |
43 | 51 | ||
44 | /* The bss section is too large for IRAM - we just move it 16MB into the | 52 | /* The bss section is too large for IRAM - we just move it 16MB into the |
45 | DRAM */ | 53 | DRAM */ |
@@ -51,5 +59,5 @@ SECTIONS | |||
51 | *(.ibss); | 59 | *(.ibss); |
52 | *(.ncbss*); | 60 | *(.ncbss*); |
53 | _end = .; | 61 | _end = .; |
54 | } | 62 | } > DRAM |
55 | } | 63 | } |
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) | |||
15 | #define FLASHORIG 0x001f0000 | 15 | #define FLASHORIG 0x001f0000 |
16 | #define FLASHSIZE 2M | 16 | #define FLASHSIZE 2M |
17 | 17 | ||
18 | MEMORY | ||
19 | { | ||
20 | DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE | ||
21 | IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE | ||
22 | } | ||
18 | 23 | ||
19 | SECTIONS | 24 | SECTIONS |
20 | { | 25 | { |
@@ -23,7 +28,9 @@ SECTIONS | |||
23 | .text : { | 28 | .text : { |
24 | *(.init.text) | 29 | *(.init.text) |
25 | *(.text*) | 30 | *(.text*) |
26 | } | 31 | *(.glue_7) |
32 | *(.glue_7t) | ||
33 | } > IRAM | ||
27 | 34 | ||
28 | .data : { | 35 | .data : { |
29 | *(.icode) | 36 | *(.icode) |
@@ -31,18 +38,18 @@ SECTIONS | |||
31 | *(.idata) | 38 | *(.idata) |
32 | *(.data*) | 39 | *(.data*) |
33 | *(.ncdata*) | 40 | *(.ncdata*) |
41 | *(.rodata*) | ||
34 | _dataend = . ; | 42 | _dataend = . ; |
35 | } | 43 | } > IRAM |
36 | 44 | ||
37 | .stack : | 45 | .stack : { |
38 | { | ||
39 | *(.stack) | 46 | *(.stack) |
40 | _stackbegin = .; | 47 | _stackbegin = .; |
41 | stackbegin = .; | 48 | stackbegin = .; |
42 | . += 0x2000; | 49 | . += 0x2000; |
43 | _stackend = .; | 50 | _stackend = .; |
44 | stackend = .; | 51 | stackend = .; |
45 | } | 52 | } > IRAM |
46 | 53 | ||
47 | /* The bss section is too large for IRAM - we just move it 16MB into the | 54 | /* The bss section is too large for IRAM - we just move it 16MB into the |
48 | DRAM */ | 55 | DRAM */ |
@@ -54,5 +61,5 @@ SECTIONS | |||
54 | *(.ibss); | 61 | *(.ibss); |
55 | *(.ncbss*); | 62 | *(.ncbss*); |
56 | _end = .; | 63 | _end = .; |
57 | } | 64 | } > DRAM |
58 | } | 65 | } |