-
Notifications
You must be signed in to change notification settings - Fork 0
/
loader.lds
78 lines (66 loc) · 1.21 KB
/
loader.lds
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
OUTPUT_FORMAT("elf32-shl", "elf32-shl", "elf32-shl")
MEMORY
{
p1ram : ORIGIN = 0xac005000, LENGTH = 0x0000
p2ram : ORIGIN = 0xac010000, LENGTH = 0xff0000
ldram : ORIGIN = 0xacffd000, LENGTH = 0x4000
}
SECTIONS
{
. = ORIGIN(p2ram);
.text.startup ALIGN(4) : SUBALIGN(4)
{
KEEP(*(.text.start))
KEEP(*(.text.startup.*))
. = ALIGN(4);
} > p2ram
.ctors ALIGN(4) : SUBALIGN(4)
{
KEEP(*(.ctors))
KEEP(*(.ctors.*))
. = ALIGN(4);
} > p2ram
. = ORIGIN(ldram);
.text ALIGN(4) : SUBALIGN(4)
{
KEEP(*(.text.main))
*(.text.*)
*(.text)
. = ALIGN(4);
} > ldram AT> p2ram
.data ALIGN(4) :
{
*(.data)
*(.data.*)
. = ALIGN(4);
} > ldram AT> p2ram
.rodata ALIGN(4) :
{
*(.rodata)
*(.rodata.*)
. = ALIGN(4);
} > ldram AT> p2ram
.bss ALIGN(4) (NOLOAD) :
{
*(.bss)
*(.bss.*)
*(COMMON)
. = ALIGN(4);
} > ldram
.text.vbr ALIGN(4) : SUBALIGN(4)
{
/*
KEEP(*(.vbr.100))
. = ALIGN(0x300);
KEEP(*(.vbr.400))
. = ALIGN(0x200);
KEEP(*(.vbr.600))
*/
} > p2ram
INCLUDE "debug.lds"
}
INCLUDE "symbols.lds"
INCLUDE "addresses.lds"
__stack_end = 0x8c00f000;
__send_buf = 0xac000020;
__recv_buf = 0xac004000;