OUTPUT_ARCH(sh3) ENTRY(initialize) MEMORY { rom : o = 0x00300200, l = 512k ram : o = 0x08100000, l = 64k /* pretty safe guess */ } SECTIONS { .text : { *(.pretext) /* init stuff */ *(.text) } > rom .rodata : { *(.rodata) *(.rodata.str1.4) _romdata = . ; /* symbol for initialization data */ /*initialize = .;*/ } > rom /* .eh_frame : AT(0x00310000) { *(.eh_frame) } > rom */ .bss : { _bbss = . ; _bssdatasize = . ; LONG(0); /* bssdatasize */ *(.bss) *(COMMON); _ebss = . ; } > ram .data BLOCK(4) : AT(_romdata) { _bdata = . ; *(.data); _edata = . ; /* Provide a default */ _end = . ; } > ram /* PROVIDE(_stack = .); PROVIDE(_end = .); */ /DISCARD/ : { *(.eh_frame) } }