50 lines
1.6 KiB
Plaintext
50 lines
1.6 KiB
Plaintext
/* 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
|
|
}
|