blob: 34ab1adf668c4fd667ca60d6fe167c2fb0ffe571 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
ENTRY(start)
OUTPUT_FORMAT(elf32-sh)
INPUT(crt0.o)
#define PLUGINSIZE 0x8000
#ifdef DEBUG
#define DRAMSIZE 0x1f0000 - PLUGINSIZE
#define ORIGADDR 0x09010000
#else
#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE
#define ORIGADDR 0x09000000
#endif
#define ENDADDR (ORIGADDR + DRAMSIZE)
MEMORY
{
DRAM : ORIGIN = ORIGADDR, LENGTH = DRAMSIZE
IRAM : ORIGIN = 0x0f000000, LENGTH = 0x1000
}
SECTIONS
{
.vectors :
{
*(.resetvectors);
*(.vectors);
. = ALIGN(0x200);
*(.init.text)
} > DRAM
.text :
{
*(.text)
. = ALIGN(0x4);
} > DRAM
.data :
{
*(.data)
} > DRAM
.rodata :
{
*(.rodata)
*(.rodata.str1.4)
. = ALIGN(0x4);
} > DRAM
.stack :
{
*(.stack)
_stackbegin = .;
/* We put the copy of the .iram section here to save space */
_iramcopy = .;
. += 0x2000;
_topramcopy = .;
. += 0x300;
_stackend = .;
} > DRAM
.bss :
{
_edata = .;
*(.bss)
*(COMMON)
_end = .;
} > DRAM
#ifdef DEBUG
.heap :
{
_poolstart = .;
. = 0x20000;
_poolend = .;
} > DRAM
#endif
.mp3buf :
{
_mp3buffer = .;
} > DRAM
.mp3end ENDADDR - 0x300:
{
_mp3end = .;
} > DRAM
.topram : AT ( _topramcopy ) {
_topramstart = .;
*(.topcode)
_topramend = .;
} > DRAM
.plugin ENDADDR:
{
_pluginbuf = .;
}
.iram 0xf000000 : AT ( _iramcopy )
{
_iramstart = .;
*(.icode)
*(.idata)
_iramend = .;
} > IRAM
}
|