| /*******************************************************************/ |
| /* */ |
| /* This file is automatically generated by linker script generator.*/ |
| /* */ |
| /* Version: */ |
| /* */ |
| /* Copyright (c) 2010 Xilinx, Inc. All rights reserved. */ |
| /* */ |
| /* Description : MicroBlaze Linker Script */ |
| /* */ |
| /*******************************************************************/ |
| |
| _STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x400; |
| _HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x4; |
| |
| /* Define Memories in the system */ |
| |
| MEMORY |
| { |
| microblaze_0_local_memory_ilmb_bram_if_cntlr_microblaze_0_local_memory_dlmb_bram_if_cntlr : ORIGIN = 0x00000050, LENGTH = 0x0003FFB0 |
| mig_7series_0 : ORIGIN = 0x80000000, LENGTH = 0x40000000 |
| } |
| |
| /* Specify the default entry point to the program */ |
| |
| ENTRY(_start) |
| |
| /* Define the sections, and where they are mapped in memory */ |
| |
| SECTIONS |
| { |
| .vectors.reset 0x00000000 : { |
| KEEP (*(.vectors.reset)) |
| } |
| |
| .vectors.sw_exception 0x00000008 : { |
| KEEP (*(.vectors.sw_exception)) |
| } |
| |
| .vectors.interrupt 0x00000010 : { |
| KEEP (*(.vectors.interrupt)) |
| } |
| |
| .vectors.hw_exception 0x00000020 : { |
| KEEP (*(.vectors.hw_exception)) |
| } |
| |
| .text : { |
| *(.text) |
| *(.text.*) |
| *(.gnu.linkonce.t.*) |
| } > mig_7series_0 |
| |
| .init : { |
| KEEP (*(.init)) |
| } > mig_7series_0 |
| |
| .fini : { |
| KEEP (*(.fini)) |
| } > mig_7series_0 |
| |
| .ctors : { |
| __CTOR_LIST__ = .; |
| ___CTORS_LIST___ = .; |
| KEEP (*crtbegin.o(.ctors)) |
| KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors)) |
| KEEP (*(SORT(.ctors.*))) |
| KEEP (*(.ctors)) |
| __CTOR_END__ = .; |
| ___CTORS_END___ = .; |
| } > mig_7series_0 |
| |
| .dtors : { |
| __DTOR_LIST__ = .; |
| ___DTORS_LIST___ = .; |
| KEEP (*crtbegin.o(.dtors)) |
| KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors)) |
| KEEP (*(SORT(.dtors.*))) |
| KEEP (*(.dtors)) |
| PROVIDE(__DTOR_END__ = .); |
| PROVIDE(___DTORS_END___ = .); |
| } > mig_7series_0 |
| |
| .rodata : { |
| __rodata_start = .; |
| *(.rodata) |
| *(.rodata.*) |
| *(.gnu.linkonce.r.*) |
| __rodata_end = .; |
| } > mig_7series_0 |
| |
| .sdata2 : { |
| . = ALIGN(8); |
| __sdata2_start = .; |
| *(.sdata2) |
| *(.sdata2.*) |
| *(.gnu.linkonce.s2.*) |
| . = ALIGN(8); |
| __sdata2_end = .; |
| } > mig_7series_0 |
| |
| .sbss2 : { |
| __sbss2_start = .; |
| *(.sbss2) |
| *(.sbss2.*) |
| *(.gnu.linkonce.sb2.*) |
| __sbss2_end = .; |
| } > mig_7series_0 |
| |
| .data : { |
| . = ALIGN(4); |
| __data_start = .; |
| *(.data) |
| *(.data.*) |
| *(.gnu.linkonce.d.*) |
| __data_end = .; |
| } > microblaze_0_local_memory_ilmb_bram_if_cntlr_microblaze_0_local_memory_dlmb_bram_if_cntlr |
| |
| .got : { |
| *(.got) |
| } > mig_7series_0 |
| |
| .got1 : { |
| *(.got1) |
| } > mig_7series_0 |
| |
| .got2 : { |
| *(.got2) |
| } > mig_7series_0 |
| |
| .eh_frame : { |
| *(.eh_frame) |
| } > mig_7series_0 |
| |
| .jcr : { |
| *(.jcr) |
| } > mig_7series_0 |
| |
| .gcc_except_table : { |
| *(.gcc_except_table) |
| } > mig_7series_0 |
| |
| .sdata : { |
| . = ALIGN(8); |
| __sdata_start = .; |
| *(.sdata) |
| *(.sdata.*) |
| *(.gnu.linkonce.s.*) |
| __sdata_end = .; |
| } > mig_7series_0 |
| |
| .sbss (NOLOAD) : { |
| . = ALIGN(4); |
| __sbss_start = .; |
| *(.sbss) |
| *(.sbss.*) |
| *(.gnu.linkonce.sb.*) |
| . = ALIGN(8); |
| __sbss_end = .; |
| } > mig_7series_0 |
| |
| .tdata : { |
| __tdata_start = .; |
| *(.tdata) |
| *(.tdata.*) |
| *(.gnu.linkonce.td.*) |
| __tdata_end = .; |
| } > mig_7series_0 |
| |
| .tbss : { |
| __tbss_start = .; |
| *(.tbss) |
| *(.tbss.*) |
| *(.gnu.linkonce.tb.*) |
| __tbss_end = .; |
| } > mig_7series_0 |
| |
| .bss (NOLOAD) : { |
| . = ALIGN(4); |
| __bss_start = .; |
| *(.bss) |
| *(.bss.*) |
| *(.gnu.linkonce.b.*) |
| *(COMMON) |
| . = ALIGN(4); |
| __bss_end = .; |
| } > microblaze_0_local_memory_ilmb_bram_if_cntlr_microblaze_0_local_memory_dlmb_bram_if_cntlr |
| |
| _SDA_BASE_ = __sdata_start + ((__sbss_end - __sdata_start) / 2 ); |
| |
| _SDA2_BASE_ = __sdata2_start + ((__sbss2_end - __sdata2_start) / 2 ); |
| |
| /* Generate Stack and Heap definitions */ |
| |
| .heap (NOLOAD) : { |
| . = ALIGN(8); |
| _heap = .; |
| _heap_start = .; |
| . += _HEAP_SIZE; |
| _heap_end = .; |
| } > microblaze_0_local_memory_ilmb_bram_if_cntlr_microblaze_0_local_memory_dlmb_bram_if_cntlr |
| |
| .stack (NOLOAD) : { |
| _stack_end = .; |
| . += _STACK_SIZE; |
| . = ALIGN(8); |
| _stack = .; |
| __stack = _stack; |
| } > microblaze_0_local_memory_ilmb_bram_if_cntlr_microblaze_0_local_memory_dlmb_bram_if_cntlr |
| |
| _end = .; |
| } |
| |