/*******************************************************************/ /* */ /* This file is automatically generated by linker script generator.*/ /* */ /* Version: Xilinx EDK 11.1 EDK_L.29.1 */ /* */ /* Copyright (c) 2004 Xilinx, Inc. All rights reserved. */ /* */ /* Description : PowerPC440 Linker Script */ /* */ /*******************************************************************/ _STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x400; _HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x400; /* Define Memories in the system */ MEMORY { DDR2_SDRAM_C_MEM_BASEADDR : ORIGIN = 0x00000000, LENGTH = 0x10000000 SRAM_C_MEM0_BASEADDR : ORIGIN = 0xF8000000, LENGTH = 0x00100000 xps_bram_if_cntlr_1 : ORIGIN = 0xFFFFE000, LENGTH = 0x00001F00 } /* Specify the default entry point to the program */ ENTRY(_boot) STARTUP(boot.o) /* Define the sections, and where they are mapped in memory */ SECTIONS { .vectors : { __vectors_start = .; *(.vectors) __vectors_end = .; } > SRAM_C_MEM0_BASEADDR .text : { *(.text) *(.text.*) *(.gnu.linkonce.t.*) } > SRAM_C_MEM0_BASEADDR .init : { KEEP (*(.init)) } > SRAM_C_MEM0_BASEADDR .fini : { KEEP (*(.fini)) } > SRAM_C_MEM0_BASEADDR .rodata : { __rodata_start = .; *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) __rodata_end = .; } > SRAM_C_MEM0_BASEADDR .rodata1 : { __rodata1_start = .; *(.rodata1) *(.rodata1.*) __rodata1_end = .; } > SRAM_C_MEM0_BASEADDR .sdata2 : { __sdata2_start = .; *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) __sdata2_end = .; } > SRAM_C_MEM0_BASEADDR .sbss2 : { __sbss2_start = .; *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) __sbss2_end = .; } > SRAM_C_MEM0_BASEADDR .data : { __data_start = .; *(.data) *(.data.*) *(.gnu.linkonce.d.*) __data_end = .; } > SRAM_C_MEM0_BASEADDR .data1 : { __data1_start = .; *(.data1) *(.data1.*) __data1_end = .; } > SRAM_C_MEM0_BASEADDR .got : { *(.got) } > SRAM_C_MEM0_BASEADDR .got1 : { *(.got1) } > SRAM_C_MEM0_BASEADDR .got2 : { *(.got2) } > SRAM_C_MEM0_BASEADDR .ctors : { __CTOR_LIST__ = .; ___CTORS_LIST___ = .; KEEP (*crtbegin.o(.ctors)) KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) __CTOR_END__ = .; ___CTORS_END___ = .; } > SRAM_C_MEM0_BASEADDR .dtors : { __DTOR_LIST__ = .; ___DTORS_LIST___ = .; KEEP (*crtbegin.o(.dtors)) KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) __DTOR_END__ = .; ___DTORS_END___ = .; } > SRAM_C_MEM0_BASEADDR .fixup : { __fixup_start = .; *(.fixup) __fixup_end = .; } > SRAM_C_MEM0_BASEADDR .eh_frame : { *(.eh_frame) } > SRAM_C_MEM0_BASEADDR .jcr : { *(.jcr) } > SRAM_C_MEM0_BASEADDR .gcc_except_table : { *(.gcc_except_table) } > SRAM_C_MEM0_BASEADDR .sdata : { __sdata_start = .; *(.sdata) *(.sdata.*) *(.gnu.linkonce.s.*) __sdata_end = .; } > SRAM_C_MEM0_BASEADDR .sbss : { __sbss_start = .; *(.sbss) *(.sbss.*) *(.gnu.linkonce.sb.*) *(.scommon) __sbss_end = .; } > SRAM_C_MEM0_BASEADDR .tdata : { __tdata_start = .; *(.tdata) *(.tdata.*) *(.gnu.linkonce.td.*) __tdata_end = .; } > SRAM_C_MEM0_BASEADDR .tbss : { __tbss_start = .; *(.tbss) *(.tbss.*) *(.gnu.linkonce.tb.*) __tbss_end = .; } > SRAM_C_MEM0_BASEADDR .bss : { __bss_start = .; *(.bss) *(.bss.*) *(.gnu.linkonce.b.*) *(COMMON) . = ALIGN(4); __bss_end = .; } > SRAM_C_MEM0_BASEADDR .boot0 0xFFFFFF00 : { __boot0_start = .; *(.boot0) __boot0_end = .; } .boot 0xFFFFFFFC : { __boot_start = .; *(.boot) __boot_end = .; } /* Generate Stack and Heap Sections */ .stack : { _stack_end = .; . += _STACK_SIZE; . = ALIGN(16); __stack = .; } > SRAM_C_MEM0_BASEADDR .heap : { . = ALIGN(16); _heap_start = .; . += _HEAP_SIZE; . = ALIGN(16); _heap_end = .; _end = .; } > SRAM_C_MEM0_BASEADDR }