blob: d9cb7326247c04fc4df4aa796cc48bc7d9b7a1db (
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
|
INCLUDE file.ld
MEMORY
{
@> @<Some random portion of \ld\ code@> @=
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K
FLASH (rx!w) : ORIGIN = 0x8000000, LENGTH = 128K
ASH (rx) : ORIGIN = 8001000, LENGTH = 128K
@> @<Some random portion of \ld\ code@> @=
CLASH (rx) : ORIGIN = 700000, LENGTH = 128K
ASH (rx) : ORIGIN = $8000000, LENGTH = 128K
CLASH (rx) : ORIGIN = 700000B, LENGTH = 128K
INCLUDE file.mem
@> @<Some random portion of \ld\ code@> @=
}
_estack = 0x20005000;
_bstack = a > 0 ? NEXT(11) : 0x19;
@> @<Some random portion of \ld\ code@> @=
PROVIDE( var1 = . );
PROVIDE_HIDDEN( var2 = . );
@> @<Some random portion of \ld\ code@> @=
HIDDEN( var3 = . );
ENTRY(_entry);
SECTIONS
{
@> @<Some random portion of \ld\ code@> @=
. = ORIGIN(FLASH);
.isr_vector ALIGN(8) (NOLOAD): AT(.) ALIGN(.) ALIGN_WITH_INPUT SUBALIGN(8) SPECIAL
{
. = ALIGN(4);
KEEP(*(.isr_vector))
. = ALIGN(4);
} > FLASH AT > RAM : FLASH : RAM : OTHER = . + 8
@> @<Some random portion of \ld\ code@> @=
.text :
{
/* skip this comment */;
. = ALIGN(4);
*(.text)
*(.text.*)
*(.rodata)
*(.rodata*)
*(.glue_7)
*(.glue_7t)
. = ALIGN(4);
_etext = . + 8;
_sidata = _etext;
PROVIDE( var1 = . );
PROVIDE_HIDDEN( var2 = . );
HIDDEN( var3 = . );
} >FLASH AT > RAM
@> @<Some random portion of \ld\ code@> @=
.data : AT ( _sidata )
{
. = ALIGN(4);
_sdata = . ;
*(.data)
*(.data.*)
. = ALIGN(4);
_edata = . ;
} >RAM
.bss :
{
. = ALIGN(4);
_sbss = .;
*(.bss)
*(COMMON)
. = ALIGN(4);
_ebss = . ;
} >RAM
@> @<Some random portion of \ld\ code@> @=
. = ALIGN(0x0001ABCD);
_ffbegin = .;
OVERLAY : NOCROSSREFS AT ( _ffabs ) {
.free_func0
{
*(.free_func0)
. = ALIGN(4);
}
.free_func1
{
*(.free_func1)
}
} >RAM
}
|