blob: 818e836452d6fc3f439dc0e83934381c26bff305 (
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
|
#include "config.h"
ENTRY(main)
OUTPUT_ARCH(mips)
STARTUP(atj213x/crt0.o)
MEMORY
{
DRAM : ORIGIN = DRAM_ORIG, LENGTH = DRAM_SIZE
IRAM : ORIGIN = IRAM_ORIG, LENGTH = IRAM_SIZE
}
SECTIONS
{
.init.text :
{
relocstart = .;
oc_codestart = .;
KEEP(*(.init.text*))
} > IRAM
.icode :
{
*(.icode*)
} > IRAM
.data :
{
*(.rodata*)
*(.data*)
*(.rel.dyn)
. = ALIGN(8);
_gp = ABSOLUTE(. + 0x7ff0);
*(.sdata*)
} > IRAM
.bss (NOLOAD) :
{
bssbegin = .;
*(.sbss*)
*(.bss*)
*(COMMON)
*(.scommon*)
. = ALIGN(4);
bssend = .;
} > IRAM
.exception.tlb_refill (IRAM_ORIG + 0x1000) :
{
_irqbase = .;
KEEP(*(.exception.tlb_refill))
} > IRAM
.exception.cache_error (IRAM_ORIG + 0x1100) :
{
KEEP(*(.exception.cache_error))
} > IRAM
.exception.general_exception (IRAM_ORIG + 0x1180) :
{
KEEP(*(.exception.general_exception))
} > IRAM
.exception.irq (IRAM_ORIG + 0x1200) :
{
KEEP(*(.exception.irq))
} > IRAM
.text :
{
*(.text*)
. = ALIGN(16);
relocend = .;
} > IRAM
.stack (NOLOAD) :
{
. = ALIGN(4);
stackbegin = .;
oc_codeend = .;
oc_stackstart = .;
. += 0x2000;
stackend = .;
irqstackbegin = .;
. += 0x400;
irqstackend = .;
oc_stackend = .;
oc_bufferstart = .;
} > IRAM
.end IRAM_ORIG+IRAM_SIZE (NOLOAD) :
{
oc_bufferend = .;
} > IRAM
}
|