blob: 671a3c6bbeae6eb6199eeb80a14fe66a0407a686 (
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
|
OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr")
OUTPUT_ARCH(avr:5)
MEMORY
{
text (rx) : ORIGIN = 0, LENGTH = 128K
data (rw!x) : ORIGIN = 0x800060, LENGTH = 64K /* 0xffa0? */
eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 64K
fuse (rw!x) : ORIGIN = 0x820000, LENGTH = 1K
lock (rw!x) : ORIGIN = 0x830000, LENGTH = 1K
signature (rw!x) : ORIGIN = 0x840000, LENGTH = 1K
user_signatures (rw!x) : ORIGIN = 0x850000, LENGTH = 1K
}
SECTIONS
{
.text :
{
*(.vectors)
KEEP(*(.vectors))
*(.start)
*(.text)
_etext = .;
} >text
.data :
{
*(.data)
. = ALIGN(2);
_edata = . ;
} >data AT>text
.bss ADDR(.data) + SIZEOF (.data) : AT (ADDR (.bss))
{
*(.bss)
*(.bss*)
*(COMMON)
. = ALIGN(2);
} >data
.eeprom :
{
KEEP(*(.eeprom*))
} >eeprom
.fuse :
{
KEEP(*(.fuse))
KEEP(*(.lfuse))
KEEP(*(.hfuse))
KEEP(*(.efuse))
} >fuse
.lock :
{
KEEP(*(.lock*))
} >lock
.signature :
{
KEEP(*(.signature*))
} >signature
_end = .;
}
|