Remove ldscript and put all settings into makefile.
authorasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Mon, 1 Dec 2008 13:12:07 +0000 (13:12 +0000)
committerasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Mon, 1 Dec 2008 13:12:07 +0000 (13:12 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@1945 38d2e660-2303-0410-9eaa-f027e97ec537

examples/triface/boot/boot.ld [deleted file]
examples/triface/triface.mk

diff --git a/examples/triface/boot/boot.ld b/examples/triface/boot/boot.ld
deleted file mode 100644 (file)
index 733f1e9..0000000
+++ /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) }
-}
index 3b0ae2836cc72309ffa6b8531084db5576a414e4..430c421fac60f215d95d9cf5f6c03d08225b7b8e 100644 (file)
@@ -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)
+
+