-
Notifications
You must be signed in to change notification settings - Fork 0
/
lpc2368.ld
88 lines (72 loc) · 1.64 KB
/
lpc2368.ld
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
MEMORY
{
flash : ORIGIN = 0x00000000, LENGTH = 500K
/* ram : ORIGIN = 0x40000000, LENGTH = 32K */
/* ram : ORIGIN = 0x40000000, LENGTH = (32K - 32) */
ram : ORIGIN = 0x40000000, LENGTH = (64K - 32) /* LPC2387 */
usbram : ORIGIN = 0x7FD00000, LENGTH = 8K
ethram_0 : ORIGIN = 0x7FE00000, LENGTH = 2K
ethram : ORIGIN = 0x7FE00000, LENGTH = 16K
}
__stack_end__ = 0x40000000 + 32K - 4;
SECTIONS
{
. = 0;
startup : { *(.startup)} >flash
prog :
{
*(.text)
*(.rodata)
*(.rodata*)
*(.glue_7)
*(.glue_7t)
*(.lokasi_font)
} >flash
__end_of_text__ = .;
/* .ARM.exidx is sorted, so has to go in its own output section. */
__exidx_start = .;
.ARM.exidx :
{
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
} >flash
__exidx_end = .;
.data :
{
__data_beg__ = .;
__data_beg_src__ = __end_of_text__;
*(.data)
__data_end__ = .;
} >ram AT>flash
.bss :
{
__bss_beg__ = .;
*(.bss)
} >ram
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections. */
. = ALIGN(32 / 8);
_bss_end__ = . ;
__bss_end__ = . ;
__end__ = . ;
/*.usbram (NOLOAD): harus dikasih NOLOAD supaya bisa di LOAD */
.usbram (NOLOAD) :
{
__usbram_beg__ = .;
/*(.usb_text)*/
/*(.dmaram)*/
*(.index_text)
__usbram_end__ = .;
} >usbram
.ethram (NOLOAD):
{
__ethram_beg__ = .;
*(.ethram)
*(.eth_test_text)
*(.eth_test)
__ethram_end__ = .;
} >ethram
}
. = ALIGN(32 / 8);
_end = .;
PROVIDE (end = .);