summaryrefslogtreecommitdiff
path: root/firmware/app.lds
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/app.lds')
-rw-r--r--firmware/app.lds36
1 files changed, 26 insertions, 10 deletions
diff --git a/firmware/app.lds b/firmware/app.lds
index e052efea32..a514c46937 100644
--- a/firmware/app.lds
+++ b/firmware/app.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,31 +39,40 @@ 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
71 .iram 0xf000000 : AT ( _end )
72 {
73 _iramstart = .;
74 *(.icode)
75 *(.idata)
76 _iramend = .;
77 } > IRAM
62} 78}