/* Linker script for the NEC AS85EP1 V850E evaluation board (CONFIG_V850E_AS85EP1). */ MEMORY { /* 1MB of internal instruction memory. */ iMEM0 : ORIGIN = 0, LENGTH = 0x00100000 /* 1MB of static RAM. */ SRAM : ORIGIN = SRAM_ADDR, LENGTH = SRAM_SIZE /* About 58MB of DRAM. This can actually be at one of two positions, determined by jump JP3; we have to use the first position because the second is partially out of processor instruction addressing range (though in the second position there's actually 64MB available). */ SDRAM : ORIGIN = SDRAM_ADDR, LENGTH = SDRAM_SIZE } SECTIONS { .resetv : { __intv_start = . ; *(.intv.reset) /* Reset vector */ } > iMEM0 .sram : { RAMK_KRAM_CONTENTS /* We stick most of the interrupt vectors here; they'll be copied into the proper location by the early init code (we can't put them directly in the right place because of hardware bugs). The vectors shouldn't need to be relocated, so we don't have to use `> ... AT> ...' to split the load/vm addresses (and we can't because of problems with the loader). */ . = ALIGN (0x10) ; __intv_copy_src_start = . ; *(.intv.common) /* Vectors common to all v850e proc. */ *(.intv.mach) /* Machine-specific int. vectors. */ . = ALIGN (0x10) ; __intv_copy_src_end = . ; } > SRAM /* Where we end up putting the vectors. */ __intv_copy_dst_start = 0x10 ; __intv_copy_dst_end = __intv_copy_dst_start + (__intv_copy_src_end - __intv_copy_src_start) ; __intv_end = __intv_copy_dst_end ; .root : { ROOT_FS_CONTENTS } > SDRAM }