summaryrefslogtreecommitdiff
path: root/firmware/player.lds
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-08-01 08:12:17 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-08-01 08:12:17 +0000
commit909df0a1391929dd551f96a8f7c97e1b106a7f9f (patch)
treed521eec399288e1716630ca2cd88630bc2100e51 /firmware/player.lds
parentb605b2ec2dca75161584778ad58807046dd33cd7 (diff)
downloadrockbox-909df0a1391929dd551f96a8f7c97e1b106a7f9f.tar.gz
rockbox-909df0a1391929dd551f96a8f7c97e1b106a7f9f.zip
No allows code and data in internal RAM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1497 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/player.lds')
-rw-r--r--firmware/player.lds41
1 files changed, 29 insertions, 12 deletions
diff --git a/firmware/player.lds b/firmware/player.lds
index b46621879c..bb20c2bb25 100644
--- a/firmware/player.lds
+++ b/firmware/player.lds
@@ -1,30 +1,37 @@
1ENTRY(start) 1ENTRY(start)
2OUTPUT_FORMAT(elf32-sh) 2OUTPUT_FORMAT(elf32-sh)
3INPUT(crt0.o) 3INPUT(crt0.o)
4
5MEMORY
6{
7 DRAM : ORIGIN = 0x09000000, LENGTH = 0x200000
8 IRAM : ORIGIN = 0x0f000000, LENGTH = 0x1000
9}
10
4SECTIONS 11SECTIONS
5{ 12{
6 .vectors 0x09000000 : 13 .vectors :
7 { 14 {
8 *(.resetvectors); 15 *(.resetvectors);
9 *(.vectors); 16 *(.vectors);
10 . = ALIGN(0x200); 17 . = ALIGN(0x200);
11 *(.init.text) 18 *(.init.text)
12 } 19 } > DRAM
13 20
14 .text : 21 .text :
15 { 22 {
16 *(.text) 23 *(.text)
17 } 24 } > DRAM
18 25
19 .data : 26 .data :
20 { 27 {
21 *(.data) 28 *(.data)
22 } 29 } > DRAM
23 30
24 .rodata : 31 .rodata :
25 { 32 {
26 *(.rodata) 33 *(.rodata)
27 } 34 } > DRAM
28 35
29 .bss : 36 .bss :
30 { 37 {
@@ -32,35 +39,45 @@ SECTIONS
32 *(.bss) 39 *(.bss)
33 *(COMMON) 40 *(COMMON)
34 _end = .; 41 _end = .;
35 } 42 } > DRAM
36 43
37 .stack : 44 .stack :
38 { 45 {
39 *(.stack) 46 *(.stack)
40 _stackbegin = .; 47 _stackbegin = .;
48 /* We put the copy of the .iram section here to save space */
49 _iramcopy = .;
41 . = 0x2000; 50 . = 0x2000;
42 _stackend = .; 51 _stackend = .;
43 } 52 } > DRAM
44 53
45 .heap : 54 .heap :
46 { 55 {
47 _poolstart = .; 56 _poolstart = .;
48 . = 0x20000; 57 . = 0x20000;
49 _poolend = .; 58 _poolend = .;
50 } 59 } > DRAM
51 60
52 .mp3buf : 61 .mp3buf :
53 { 62 {
54 _mp3buf = .; 63 _mp3buf = .;
55 } 64 } > DRAM
56 65
57 .mp3end 0x09200000 : 66 .mp3end 0x09200000 :
58 { 67 {
59 _mp3end = .; 68 _mp3end = .;
60 } 69 } > DRAM
61 70
62 .pad 0x0900C800 : 71 .pad 0x0900C800 :
63 { 72 {
64 LONG(0); 73 LONG(0);
65 } 74 } > DRAM
75
76 .iram 0xf000000 : AT ( _end )
77 {
78 _iramstart = .;
79 *(.icode)
80 *(.idata)
81 _iramend = .;
82 } > IRAM
66} 83}