From 066e5c4216d6003d84242f7de768edc581c24348 Mon Sep 17 00:00:00 2001 From: asterix Date: Mon, 1 Dec 2008 13:12:07 +0000 Subject: [PATCH] Remove ldscript and put all settings into makefile. git-svn-id: https://src.develer.com/svnoss/bertos/trunk@1945 38d2e660-2303-0410-9eaa-f027e97ec537 --- examples/triface/boot/boot.ld | 170 ---------------------------------- examples/triface/triface.mk | 8 +- 2 files changed, 5 insertions(+), 173 deletions(-) delete mode 100644 examples/triface/boot/boot.ld diff --git a/examples/triface/boot/boot.ld b/examples/triface/boot/boot.ld deleted file mode 100644 index 733f1e99..00000000 --- a/examples/triface/boot/boot.ld +++ /dev/null @@ -1,170 +0,0 @@ -/* Linker script for boot loader */ - -OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr") -OUTPUT_ARCH(avr:5) -MEMORY -{ - text (rx) : ORIGIN = 0xE000, LENGTH = 8K - data (rw!x) : ORIGIN = 0x800060, LENGTH = 4000 - eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 2K -} -SECTIONS -{ - /* Read-only sections, merged into text segment: */ - .hash : { *(.hash) } - .dynsym : { *(.dynsym) } - .dynstr : { *(.dynstr) } - .gnu.version : { *(.gnu.version) } - .gnu.version_d : { *(.gnu.version_d) } - .gnu.version_r : { *(.gnu.version_r) } - .rel.init : { *(.rel.init) } - .rela.init : { *(.rela.init) } - .rel.text : - { - *(.rel.text) - *(.rel.text.*) - *(.rel.gnu.linkonce.t*) - } - .rela.text : - { - *(.rela.text) - *(.rela.text.*) - *(.rela.gnu.linkonce.t*) - } - .rel.fini : { *(.rel.fini) } - .rela.fini : { *(.rela.fini) } - .rel.rodata : - { - *(.rel.rodata) - *(.rel.rodata.*) - *(.rel.gnu.linkonce.r*) - } - .rela.rodata : - { - *(.rela.rodata) - *(.rela.rodata.*) - *(.rela.gnu.linkonce.r*) - } - .rel.data : - { - *(.rel.data) - *(.rel.data.*) - *(.rel.gnu.linkonce.d*) - } - .rela.data : - { - *(.rela.data) - *(.rela.data.*) - *(.rela.gnu.linkonce.d*) - } - .rel.ctors : { *(.rel.ctors) } - .rela.ctors : { *(.rela.ctors) } - .rel.dtors : { *(.rel.dtors) } - .rela.dtors : { *(.rela.dtors) } - .rel.got : { *(.rel.got) } - .rela.got : { *(.rela.got) } - .rel.bss : { *(.rel.bss) } - .rela.bss : { *(.rela.bss) } - .rel.plt : { *(.rel.plt) } - .rela.plt : { *(.rela.plt) } - /* Internal text space or external memory */ - .text : - { - KEEP(*(.vectors)) - __ctors_start = . ; - *(.ctors) - __ctors_end = . ; - __dtors_start = . ; - *(.dtors) - __dtors_end = . ; - *(.progmem.gcc*) - *(.progmem*) - . = ALIGN(2); - KEEP(*(.init0)) /* Start here after reset. */ - KEEP(*(.init1)) - KEEP(*(.init2)) /* Clear __zero_reg__, set up stack pointer. */ - KEEP(*(.init3)) - KEEP(*(.init4)) /* Initialize data and BSS. */ - KEEP(*(.init5)) - KEEP(*(.init6)) /* C++ constructors. */ - KEEP(*(.init7)) - KEEP(*(.init8)) - KEEP(*(.init9)) /* Call main(). */ - *(.text) - . = ALIGN(2); - *(.text.*) - . = ALIGN(2); - *(.fini9) /* _exit() starts here. */ - *(.fini8) - *(.fini7) - *(.fini6) /* C++ destructors. */ - *(.fini5) - *(.fini4) - *(.fini3) - *(.fini2) - *(.fini1) - *(.fini0) /* Infinite loop after program termination. */ - _etext = . ; - } > text - .data : AT (ADDR (.text) + SIZEOF (.text)) - { - PROVIDE (__data_start = .) ; - *(.data .data.* .rodata .rodata.*) - *(.gnu.linkonce.d*) - . = ALIGN(2); - _edata = . ; - PROVIDE (__data_end = .) ; - } > data - .bss SIZEOF(.data) + ADDR(.data) : - { - PROVIDE (__bss_start = .) ; - *(.bss .bss.*) - *(COMMON) - PROVIDE (__bss_end = .) ; - } > data - __data_load_start = LOADADDR(.data); - __data_load_end = __data_load_start + SIZEOF(.data); - /* Global data not cleared after reset. */ - .noinit SIZEOF(.bss) + ADDR(.bss) : - { - PROVIDE (__noinit_start = .) ; - *(.noinit*) - PROVIDE (__noinit_end = .) ; - _end = . ; - PROVIDE (__heap_start = .) ; - } > data - .eeprom : - AT (ADDR (.text) + SIZEOF (.text) + SIZEOF (.data)) - { - *(.eeprom*) - __eeprom_end = . ; - } > 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) } -} diff --git a/examples/triface/triface.mk b/examples/triface/triface.mk index 3b0ae283..430c421f 100644 --- a/examples/triface/triface.mk +++ b/examples/triface/triface.mk @@ -15,6 +15,7 @@ triface_DEBUG = 1 # Our target application TRG += triface CPU = atmega1281 +BOOT_ADDR_START = 0x1E000 triface_CROSS = avr- @@ -22,7 +23,7 @@ ifeq ($(CPU), atmega1281) triface_hfuse = 0x98 triface_lfuse = 0x3d triface_efuse = 0x7f -triface_lock = 0xff +triface_lock = 0x2f else triface_hfuse = 0x88 triface_lfuse = 0xff @@ -79,5 +80,6 @@ boot_CSRC = \ boot_CROSS = avr- boot_CPPFLAGS = -D'ARCH=(ARCH_TRIFACE|ARCH_BOOT)' -Iexamples/triface/boot -Ibertos/cpu/avr boot_CFLAGS = -Os -mcall-prologues -boot_LDSCRIPT = examples/triface/boot/boot.ld -boot_LDFLAGS = -Wl,--relax +boot_LDFLAGS = -Wl,--relax -Wl,--section-start=.text=$(BOOT_ADDR_START) + + -- 2.25.1