| /* 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 |
| } |