/* ld script for H8/3664F */ OUTPUT_FORMAT( "coff-h8300" ) OUTPUT_ARCH( "h8300h" ) ENTRY( "_start" ) MEMORY { vectors(R) : ORIGIN = 0x0000, LENGTH = 0x0034 rom(RX) : ORIGIN = 0x0100, LENGTH = 0x7f00 ram(RW) : ORIGIN = 0xf780, LENGTH = 0x0680 stack(RW) : ORIGIN = 0xff7c, LENGTH = 0x0004 /* RAM bottom */ short(RW) : ORIGIN = 0xff00, LENGTH = 0x100 /* 8bit short address */ } SECTIONS { .vectors : { SHORT( ABSOLUTE( _start )) /* reset, watch dog timer */ SHORT( ABSOLUTE( _illegal_int )) /* system reserve */ SHORT( ABSOLUTE( _illegal_int )) /* system reserve */ SHORT( ABSOLUTE( _illegal_int )) /* system reserve */ SHORT( ABSOLUTE( _illegal_int )) /* system reserve */ SHORT( ABSOLUTE( _illegal_int )) /* system reserve */ SHORT( ABSOLUTE( _illegal_int )) /* system reserve */ SHORT( DEFINED( _nmi_int ) ? ABSOLUTE( _nmi_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _trap0_int ) ? ABSOLUTE( _trap0_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _trap1_int ) ? ABSOLUTE( _trap1_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _trap2_int ) ? ABSOLUTE( _trap2_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _trap3_int ) ? ABSOLUTE( _trap3_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _break_int ) ? ABSOLUTE( _break_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _sleep_int ) ? ABSOLUTE( _sleep_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _irq0_int ) ? ABSOLUTE( _irq0_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _irq1_int ) ? ABSOLUTE( _irq1_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _irq2_int ) ? ABSOLUTE( _irq2_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _irq3_int ) ? ABSOLUTE( _irq3_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _wkp_int ) ? ABSOLUTE( _wkp_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _ta_int ) ? ABSOLUTE( _ta_int) : ABSOLUTE( _illegal_int )) SHORT( ABSOLUTE( _illegal_int )) /* system reserve */ SHORT( DEFINED( _tw_int ) ? ABSOLUTE( _tw_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _tv_int ) ? ABSOLUTE( _tv_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _sci3_int ) ? ABSOLUTE( _sci3_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _iic_int ) ? ABSOLUTE( _iic_int) : ABSOLUTE( _illegal_int )) SHORT( DEFINED( _ad_int ) ? ABSOLUTE( _ad_int) : ABSOLUTE( _illegal_int )) } > vectors .text : { _text_top = .; *(.text) *(.strings) *(.rodata) _text_end = .; } > rom .ini_data : { _ini_data_top = .; } > rom .data : AT( ADDR( .text ) + SIZEOF( .text )) { _data_top = .; *(.data) _data_end = .; } > ram .bss : { _bss_top = .; *(.bss) *(COMMON) _bss_end = .; } > ram .stack : { _stack = .; /* stack bottom */ *(.stack) } > stack }