summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarry Wardell <rockbox@barrywardell.net>2008-05-01 17:13:33 +0000
committerBarry Wardell <rockbox@barrywardell.net>2008-05-01 17:13:33 +0000
commit93b8a076ec61c92e4fc996fb04bab4e7aa22da10 (patch)
treebbce700344ad60d5b3c5dfd2c2781e1b3a704efd
parenta1fa57fc01232c027e01417180989f36e76367bf (diff)
downloadrockbox-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.lds22
-rw-r--r--firmware/target/arm/iriver/boot.lds22
-rw-r--r--firmware/target/arm/olympus/boot.lds20
-rw-r--r--firmware/target/arm/sandisk/boot.lds19
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
32MEMORY
33{
34 DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
35 IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
36}
37
32SECTIONS 38SECTIONS
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
16MEMORY
17{
18 DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
19 IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
20}
21
16SECTIONS 22SECTIONS
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
16MEMORY
17{
18 DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
19 IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
20}
21
16SECTIONS 22SECTIONS
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
18MEMORY
19{
20 DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
21 IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
22}
18 23
19SECTIONS 24SECTIONS
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}