h8300h.x

/* Linker script, for H8/3052 on AKI-LAN target */
OUTPUT_FORMAT("coff-h8300")
OUTPUT_ARCH(h8300h)
ENTRY("_start")
MEMORY
{
	/* 0xc4 is a magic entry.  We should have the linker just
	   skip over it one day...  */
	vectors : o = 0x0000, l = 0xc4
	magicvectors : o = 0xc4, l = 0x3c
        /* Internal ROM area */
        rom    : o = 0x000100, l = 0x7feff
	/* External RAM area (128KB on CS1) */
	ram    : o = 0x220000, l = 0x1ffff
	/*ram    : o = 0xffdf10, l = 0x1fff*/
        /* Internal RAM for stack */
        stack  : o = 0xffdf10, l = 0x1fff
	/* The stack starts at the top of internal ram.  */
	topstack : o = 0xffff0c, l = 0x4
	/* This holds variables in the "tiny" sections.  */
	tiny   : o = 0xff8000, l = 0x7f00
	/* At the very top of the address space is the 8-bit area.  */
	eight  : o = 0xffff00, l = 0x100
}
SECTIONS
{
.vectors :
	{
	  /* Use something like this to place a specific
	     function's address into the vector table.
	     LONG (ABSOLUTE (_foobar)).  */
	  *(.vectors)
	}  > vectors
.text :
	{
          _text_start = . ;
	  *(.rodata)
	  *(.text)
	  *(.strings)
          . = ALIGN(2) ;
   	  _text_end = . ;
	}  > rom
.data : AT (_text_end)
	{
           _data_start = . ;
	  *(.data)
          . = ALIGN(2) ;
	   _data_end = . ;
	}  > ram
.bss :
	{
	   _bss_start = . ;
	  *(.bss)
	  *(COMMON)
          . = ALIGN(2) ;
	   _bss_end = . ;
           _end = . ;
	}  >ram
.stack :
	{
	   _stack = . ;
	  *(.stack)
	}  > topstack
.tiny :
	{
	  *(.tiny)
	}  > tiny
.eight :
	{
	  *(.eight)
	}  > eight
.stab 0 (NOLOAD) :
	{
	  [ .stab ]
	}
.stabstr 0 (NOLOAD) :
	{
	  [ .stabstr ]
	}
}

This page was generated at 2005/4/24 14:13:6