13 changed files with 35 additions and 358 deletions
@ -1,13 +0,0 @@ |
|||
ARCH=avr:1 |
|||
MACHINE= |
|||
SCRIPT_NAME=elf32avr |
|||
OUTPUT_FORMAT="elf32-avr" |
|||
MAXPAGESIZE=1 |
|||
EMBEDDED=yes |
|||
TEMPLATE_NAME=generic |
|||
|
|||
TEXT_LENGTH=1K |
|||
DATA_LENGTH=0 |
|||
EEPROM_LENGTH=64 |
|||
DATA_START=0x60 |
|||
STACK=0 |
|||
@ -1,14 +0,0 @@ |
|||
ARCH=avr:2 |
|||
MACHINE= |
|||
SCRIPT_NAME=elf32avr |
|||
OUTPUT_FORMAT="elf32-avr" |
|||
MAXPAGESIZE=1 |
|||
EMBEDDED=yes |
|||
TEMPLATE_NAME=generic |
|||
|
|||
TEXT_LENGTH=2K |
|||
DATA_LENGTH=128 |
|||
EEPROM_LENGTH=128 |
|||
DATA_START=0x60 |
|||
STACK=0x0DF |
|||
|
|||
@ -1,14 +0,0 @@ |
|||
ARCH=avr:2 |
|||
MACHINE= |
|||
SCRIPT_NAME=elf32avr |
|||
OUTPUT_FORMAT="elf32-avr" |
|||
MAXPAGESIZE=1 |
|||
EMBEDDED=yes |
|||
TEMPLATE_NAME=generic |
|||
|
|||
TEXT_LENGTH=4K |
|||
DATA_LENGTH=128 |
|||
EEPROM_LENGTH=256 |
|||
DATA_START=0x60 |
|||
STACK=0x0DF |
|||
|
|||
@ -1,14 +0,0 @@ |
|||
ARCH=avr:2 |
|||
MACHINE= |
|||
SCRIPT_NAME=elf32avr |
|||
OUTPUT_FORMAT="elf32-avr" |
|||
MAXPAGESIZE=1 |
|||
EMBEDDED=yes |
|||
TEMPLATE_NAME=generic |
|||
|
|||
TEXT_LENGTH=4K |
|||
DATA_LENGTH=256 |
|||
EEPROM_LENGTH=256 |
|||
DATA_START=0x60 |
|||
STACK=0x15F |
|||
|
|||
@ -1,14 +0,0 @@ |
|||
ARCH=avr:2 |
|||
MACHINE= |
|||
SCRIPT_NAME=elf32avr |
|||
OUTPUT_FORMAT="elf32-avr" |
|||
MAXPAGESIZE=1 |
|||
EMBEDDED=yes |
|||
TEMPLATE_NAME=generic |
|||
|
|||
TEXT_LENGTH=8K |
|||
DATA_LENGTH=512 |
|||
EEPROM_LENGTH=512 |
|||
DATA_START=0x60 |
|||
STACK=0x25F |
|||
|
|||
@ -1,13 +0,0 @@ |
|||
ARCH=avr:3 |
|||
MACHINE= |
|||
SCRIPT_NAME=elf32avr |
|||
OUTPUT_FORMAT="elf32-avr" |
|||
MAXPAGESIZE=1 |
|||
EMBEDDED=yes |
|||
TEMPLATE_NAME=generic |
|||
|
|||
TEXT_LENGTH=128K |
|||
DATA_LENGTH=4000 |
|||
EEPROM_LENGTH=4K |
|||
DATA_START=0x60 |
|||
STACK=0x0FFF |
|||
@ -1,14 +0,0 @@ |
|||
ARCH=avr:5 |
|||
MACHINE= |
|||
SCRIPT_NAME=elf32avr |
|||
OUTPUT_FORMAT="elf32-avr" |
|||
MAXPAGESIZE=1 |
|||
EMBEDDED=yes |
|||
TEMPLATE_NAME=generic |
|||
|
|||
TEXT_LENGTH=16K |
|||
DATA_LENGTH=1K |
|||
EEPROM_LENGTH=512 |
|||
DATA_START=0x60 |
|||
STACK=0x45F |
|||
|
|||
@ -1,13 +0,0 @@ |
|||
ARCH=avr:3 |
|||
MACHINE= |
|||
SCRIPT_NAME=elf32avr |
|||
OUTPUT_FORMAT="elf32-avr" |
|||
MAXPAGESIZE=1 |
|||
EMBEDDED=yes |
|||
TEMPLATE_NAME=generic |
|||
|
|||
TEXT_LENGTH=64K |
|||
DATA_LENGTH=4000 |
|||
EEPROM_LENGTH=2K |
|||
DATA_START=0x60 |
|||
STACK=0x0FFF |
|||
@ -1,151 +0,0 @@ |
|||
cat <<EOF |
|||
OUTPUT_FORMAT("${OUTPUT_FORMAT}","${OUTPUT_FORMAT}","${OUTPUT_FORMAT}") |
|||
OUTPUT_ARCH(${ARCH}) |
|||
|
|||
MEMORY |
|||
{ |
|||
text (rx) : ORIGIN = 0, LENGTH = $TEXT_LENGTH |
|||
data (rw!x) : ORIGIN = (0x800000 + $DATA_START), LENGTH = $DATA_LENGTH |
|||
eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = $EEPROM_LENGTH |
|||
} |
|||
|
|||
SECTIONS |
|||
{ |
|||
/* Read-only sections, merged into text segment: */ |
|||
${TEXT_DYNAMIC+${DYNAMIC}} |
|||
.hash ${RELOCATING-0} : { *(.hash) } |
|||
.dynsym ${RELOCATING-0} : { *(.dynsym) } |
|||
.dynstr ${RELOCATING-0} : { *(.dynstr) } |
|||
.gnu.version ${RELOCATING-0} : { *(.gnu.version) } |
|||
.gnu.version_d ${RELOCATING-0} : { *(.gnu.version_d) } |
|||
.gnu.version_r ${RELOCATING-0} : { *(.gnu.version_r) } |
|||
|
|||
.rel.init ${RELOCATING-0} : { *(.rel.init) } |
|||
.rela.init ${RELOCATING-0} : { *(.rela.init) } |
|||
.rel.text ${RELOCATING-0} : |
|||
{ |
|||
*(.rel.text) |
|||
${RELOCATING+*(.rel.text.*)} |
|||
${RELOCATING+*(.rel.gnu.linkonce.t*)} |
|||
} |
|||
.rela.text ${RELOCATING-0} : |
|||
{ |
|||
*(.rela.text) |
|||
${RELOCATING+*(.rela.text.*)} |
|||
${RELOCATING+*(.rela.gnu.linkonce.t*)} |
|||
} |
|||
.rel.fini ${RELOCATING-0} : { *(.rel.fini) } |
|||
.rela.fini ${RELOCATING-0} : { *(.rela.fini) } |
|||
.rel.rodata ${RELOCATING-0} : |
|||
{ |
|||
*(.rel.rodata) |
|||
${RELOCATING+*(.rel.rodata.*)} |
|||
${RELOCATING+*(.rel.gnu.linkonce.r*)} |
|||
} |
|||
.rela.rodata ${RELOCATING-0} : |
|||
{ |
|||
*(.rela.rodata) |
|||
${RELOCATING+*(.rela.rodata.*)} |
|||
${RELOCATING+*(.rela.gnu.linkonce.r*)} |
|||
} |
|||
.rel.data ${RELOCATING-0} : |
|||
{ |
|||
*(.rel.data) |
|||
${RELOCATING+*(.rel.data.*)} |
|||
${RELOCATING+*(.rel.gnu.linkonce.d*)} |
|||
} |
|||
.rela.data ${RELOCATING-0} : |
|||
{ |
|||
*(.rela.data) |
|||
${RELOCATING+*(.rela.data.*)} |
|||
${RELOCATING+*(.rela.gnu.linkonce.d*)} |
|||
} |
|||
.rel.ctors ${RELOCATING-0} : { *(.rel.ctors) } |
|||
.rela.ctors ${RELOCATING-0} : { *(.rela.ctors) } |
|||
.rel.dtors ${RELOCATING-0} : { *(.rel.dtors) } |
|||
.rela.dtors ${RELOCATING-0} : { *(.rela.dtors) } |
|||
.rel.got ${RELOCATING-0} : { *(.rel.got) } |
|||
.rela.got ${RELOCATING-0} : { *(.rela.got) } |
|||
.rel.bss ${RELOCATING-0} : { *(.rel.bss) } |
|||
.rela.bss ${RELOCATING-0} : { *(.rela.bss) } |
|||
.rel.plt ${RELOCATING-0} : { *(.rel.plt) } |
|||
.rela.plt ${RELOCATING-0} : { *(.rela.plt) } |
|||
|
|||
/* Internal text space or external memory */ |
|||
.text : |
|||
{ |
|||
*(.init) |
|||
*(.progmem.gcc*) |
|||
*(.progmem*) |
|||
${RELOCATING+. = ALIGN(2);} |
|||
*(.text) |
|||
${RELOCATING+. = ALIGN(2);} |
|||
*(.text.*) |
|||
${RELOCATING+. = ALIGN(2);} |
|||
*(.fini) |
|||
${RELOCATING+ _etext = . ; } |
|||
} ${RELOCATING+ > text} |
|||
|
|||
.data ${RELOCATING-0} : ${RELOCATING+AT (ADDR (.text) + SIZEOF (.text))} |
|||
{ |
|||
${RELOCATING+ PROVIDE (__data_start = .) ; } |
|||
*(.data) |
|||
*(.gnu.linkonce.d*) |
|||
${RELOCATING+. = ALIGN(2);} |
|||
${RELOCATING+ _edata = . ; } |
|||
} ${RELOCATING+ > data} |
|||
|
|||
.bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} : |
|||
{ |
|||
${RELOCATING+ PROVIDE (__bss_start = .) ; } |
|||
*(.bss) |
|||
*(COMMON) |
|||
${RELOCATING+ PROVIDE (__bss_end = .) ; } |
|||
${RELOCATING+ _end = . ; } |
|||
} ${RELOCATING+ > data} |
|||
|
|||
.eeprom ${RELOCATING-0}: |
|||
${RELOCATING+AT (ADDR (.text) + SIZEOF (.text) + SIZEOF (.data))} |
|||
{ |
|||
*(.eeprom*) |
|||
${RELOCATING+ __eeprom_end = . ; } |
|||
} ${RELOCATING+ > eeprom} |
|||
|
|||
/* Stabs debugging sections. */ |
|||
.stab 0 : { *(.stab) } |
|||
.stabstr 0 : { *(.stabstr) } |
|||
.stab.excl 0 : { *(.stab.excl) } |
|||
.stab.exclstr 0 : { *(.stab.exclstr) } |
|||
.stab.index 0 : { *(.stab.index) } |
|||
.stab.indexstr 0 : { *(.stab.indexstr) } |
|||
.comment 0 : { *(.comment) } |
|||
|
|||
/* DWARF debug sections. |
|||
Symbols in the DWARF debugging sections are relative to the beginning |
|||
of the section so we begin them at 0. */ |
|||
|
|||
/* DWARF 1 */ |
|||
.debug 0 : { *(.debug) } |
|||
.line 0 : { *(.line) } |
|||
|
|||
/* GNU DWARF 1 extensions */ |
|||
.debug_srcinfo 0 : { *(.debug_srcinfo) } |
|||
.debug_sfnames 0 : { *(.debug_sfnames) } |
|||
|
|||
/* DWARF 1.1 and DWARF 2 */ |
|||
.debug_aranges 0 : { *(.debug_aranges) } |
|||
.debug_pubnames 0 : { *(.debug_pubnames) } |
|||
|
|||
/* DWARF 2 */ |
|||
.debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } |
|||
.debug_abbrev 0 : { *(.debug_abbrev) } |
|||
.debug_line 0 : { *(.debug_line) } |
|||
.debug_frame 0 : { *(.debug_frame) } |
|||
.debug_str 0 : { *(.debug_str) } |
|||
.debug_loc 0 : { *(.debug_loc) } |
|||
.debug_macinfo 0 : { *(.debug_macinfo) } |
|||
|
|||
PROVIDE (__stack = ${STACK}) ; |
|||
} |
|||
EOF |
|||
|
|||
Loading…
Reference in new issue