-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcartridge.lds
88 lines (71 loc) · 1.51 KB
/
cartridge.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
79
80
81
82
83
84
85
86
87
88
OUTPUT_FORMAT("elf32-sh", "elf32-sh", "elf32-sh")
OUTPUT_ARCH(sh)
MEMORY
{
cs0 (arx ) : ORIGIN = 0x22000000, LENGTH = 32M
work_ram_h (arwx) : ORIGIN = 0x26000000, LENGTH = 1M
}
__ip_bin_offset = 0x2000;
SECTIONS
{
. = ORIGIN(work_ram_h) + __ip_bin_offset;
.text.start ALIGN(4) : SUBALIGN(4)
{
KEEP(*(.text.id))
KEEP(*(.text.sec))
KEEP(*(.text.arej))
KEEP(*(.text.area))
KEEP(*(.text.areb))
KEEP(*(.text.aree))
KEEP(*(.text.arek))
KEEP(*(.text.arel))
KEEP(*(.text.aret))
KEEP(*(.text.areu))
KEEP(*(.text.init))
KEEP(*(.text.start))
KEEP(*(.text.startup.*))
. = ALIGN (4096);
} > work_ram_h AT> cs0
.text ALIGN(4) : SUBALIGN(4)
{
*(.text.*)
*(.text)
. = ALIGN (4);
} > work_ram_h AT> cs0
.data ALIGN(4) : SUBALIGN(4)
{
*(.data)
*(.data.*)
. = ALIGN (4);
} > work_ram_h AT> cs0
.rodata ALIGN(4) : SUBALIGN(4)
{
*(.rodata)
*(.rodata.*)
. = ALIGN (4);
} > work_ram_h AT> cs0
.bss ALIGN(4) (NOLOAD) : SUBALIGN(4)
{
*(.bss)
*(.bss.*)
*(COMMON)
. = ALIGN (4);
} > work_ram_h
. = ORIGIN(cs0) + (. - (ORIGIN(work_ram_h) + __ip_bin_offset));
.ctors ALIGN(4) : SUBALIGN(4)
{
KEEP(*(.ctors))
KEEP(*(.ctors.*))
. = ALIGN (4);
} > cs0
.rom ALIGN(4) : SUBALIGN(4)
{
*(.rom)
*(.rom.*)
} > cs0
INCLUDE "debug.lds"
}
_text_size = SIZEOF(.text.start);
_load_addr = 0x00000000; /* not used; there is no 1ST_READ.BIN */
INCLUDE "symbols.lds"
INCLUDE "addresses.lds"