63 lines
		
	
	
	
		
			1.6 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			63 lines
		
	
	
	
		
			1.6 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								/* Linker script for the FPGA implementation of the V850E2 NA85E2C cpu core
							 | 
						||
| 
								 | 
							
								   (CONFIG_V850E2_FPGA85E2C).  */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								MEMORY {
							 | 
						||
| 
								 | 
							
									/* Reset vector.  */
							 | 
						||
| 
								 | 
							
									RESET	 : ORIGIN = 0, LENGTH = 0x10
							 | 
						||
| 
								 | 
							
									/* Interrupt vectors.  */
							 | 
						||
| 
								 | 
							
									INTV      : ORIGIN = 0x10, LENGTH = 0x470
							 | 
						||
| 
								 | 
							
									/* The `window' in RAM were we're allowed to load stuff.  */
							 | 
						||
| 
								 | 
							
									RAM_LOW   : ORIGIN = 0x480, LENGTH = 0x0005FB80
							 | 
						||
| 
								 | 
							
									/* Some more ram above the window were we can put bss &c.  */
							 | 
						||
| 
								 | 
							
									RAM_HIGH  : ORIGIN = 0x00060000, LENGTH = 0x000A0000
							 | 
						||
| 
								 | 
							
									/* This is the area visible from the outside world (we can use
							 | 
						||
| 
								 | 
							
									   this only for uninitialized data).  */
							 | 
						||
| 
								 | 
							
									VISIBLE   : ORIGIN = 0x00200000, LENGTH = 0x00060000
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								SECTIONS {
							 | 
						||
| 
								 | 
							
									.reset : {
							 | 
						||
| 
								 | 
							
										__kram_start = . ;
							 | 
						||
| 
								 | 
							
										__intv_start = . ;
							 | 
						||
| 
								 | 
							
									        	*(.intv.reset)	/* Reset vector */
							 | 
						||
| 
								 | 
							
									} > RESET
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									.ram_low : {
							 | 
						||
| 
								 | 
							
										__r0_ram = . ;		/* Must be near address 0.  */
							 | 
						||
| 
								 | 
							
										. = . + 32 ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										TEXT_CONTENTS
							 | 
						||
| 
								 | 
							
										DATA_CONTENTS
							 | 
						||
| 
								 | 
							
										ROOT_FS_CONTENTS
							 | 
						||
| 
								 | 
							
										RAMK_INIT_CONTENTS_NO_END
							 | 
						||
| 
								 | 
							
										INITRAMFS_CONTENTS
							 | 
						||
| 
								 | 
							
									} > RAM_LOW
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        /* Where the interrupt vectors are initially loaded.  */
							 | 
						||
| 
								 | 
							
									__intv_load_start = . ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									.intv : {
							 | 
						||
| 
								 | 
							
											*(.intv.common)	/* Vectors common to all v850e proc. */
							 | 
						||
| 
								 | 
							
											*(.intv.mach)	/* Machine-specific int. vectors.  */
							 | 
						||
| 
								 | 
							
										__intv_end = . ;
							 | 
						||
| 
								 | 
							
									} > INTV  AT> RAM_LOW
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									.ram_high : {
							 | 
						||
| 
								 | 
							
										/* This is here so that when we free init memory the
							 | 
						||
| 
								 | 
							
										   load-time copy of the interrupt vectors and any empty
							 | 
						||
| 
								 | 
							
										   space at the end of the `RAM_LOW' area is freed too.  */
							 | 
						||
| 
								 | 
							
										. = ALIGN (4096);
							 | 
						||
| 
								 | 
							
										__init_end = . ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										BSS_CONTENTS
							 | 
						||
| 
								 | 
							
										__kram_end = . ;
							 | 
						||
| 
								 | 
							
										BOOTMAP_CONTENTS
							 | 
						||
| 
								 | 
							
									} > RAM_HIGH
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									.visible : {
							 | 
						||
| 
								 | 
							
										_memcons_output = . ;
							 | 
						||
| 
								 | 
							
										. = . + 0x8000 ;
							 | 
						||
| 
								 | 
							
										_memcons_output_end = . ;
							 | 
						||
| 
								 | 
							
									} > VISIBLE
							 | 
						||
| 
								 | 
							
								}
							 |