Altera-jtag0

源代码在线查看: generated.x

软件大小: 7086 K
上传用户: shuji156652
关键词: Altera-jtag
下载地址: 免注册下载 普通下载 VIP

相关代码

				/* generated.x				 *				 * Machine generated for a CPU named "cpu" as defined in:				 * c:\jtag\software\hello_world_4_syslib\..\..\nios.ptf				 *				 * Generated: 2008-10-09 22:27:18.484				 *				 */								/*								DO NOT MODIFY THIS FILE								   Changing this file will have subtle consequences				   which will almost certainly lead to a nonfunctioning				   system. If you do modify this file, be aware that your				   changes will be overwritten and lost when this file				   is generated again.								DO NOT MODIFY THIS FILE								*/								MEMORY				{				    reset : ORIGIN = 0x00800000, LENGTH = 32				    sdram : ORIGIN = 0x00800020, LENGTH = 8388576				    onchip_mem : ORIGIN = 0x01002000, LENGTH = 8192				}								    /* Define symbols for each memory base-address */				 __alt_mem_sdram = 0x00800000 ;				 __alt_mem_onchip_mem = 0x01002000 ;																OUTPUT_FORMAT( "elf32-littlenios2",				               "elf32-littlenios2",				               "elf32-littlenios2" )				OUTPUT_ARCH( nios2 )				ENTRY( _start )								/* Do we need any of these for elf?				   __DYNAMIC = 0;				 */								SECTIONS				{				    .entry :				    {				        KEEP (*(.entry))				    } > reset								    .exceptions :				    {				        PROVIDE (__ram_exceptions_start = ABSOLUTE(.));				        . = ALIGN(0x20);				        *(.irq)				        KEEP (*(.exceptions.entry.label));				        KEEP (*(.exceptions.entry.user));				        KEEP (*(.exceptions.entry));				        KEEP (*(.exceptions.irqtest.user));				        KEEP (*(.exceptions.irqtest));				        KEEP (*(.exceptions.irqhandler.user));				        KEEP (*(.exceptions.irqhandler));				        KEEP (*(.exceptions.irqreturn.user));				        KEEP (*(.exceptions.irqreturn));				        KEEP (*(.exceptions.notirq.label));				        KEEP (*(.exceptions.notirq.user));				        KEEP (*(.exceptions.notirq));				        KEEP (*(.exceptions.soft.user));				        KEEP (*(.exceptions.soft));				        KEEP (*(.exceptions.unknown.user));				        KEEP (*(.exceptions.unknown));				        KEEP (*(.exceptions.exit.label));				        KEEP (*(.exceptions.exit.user));				        KEEP (*(.exceptions.exit));				        KEEP (*(.exceptions));				        PROVIDE (__ram_exceptions_end = ABSOLUTE(.));				    } > sdram								    PROVIDE (__flash_exceptions_start = LOADADDR(.exceptions));								    .text :				    {				        /*				         * All code sections are merged into the text output section, along with				         * the read only data sections.				         *				         */								        PROVIDE (stext = ABSOLUTE(.));								        *(.interp)				        *(.hash)				        *(.dynsym)				        *(.dynstr)				        *(.gnu.version)				        *(.gnu.version_d)				        *(.gnu.version_r)				        *(.rel.init)				        *(.rela.init)				        *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)				        *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)				        *(.rel.fini)				        *(.rela.fini)				        *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)				        *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)				        *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)				        *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)				        *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)				        *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)				        *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)				        *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)				        *(.rel.ctors)				        *(.rela.ctors)				        *(.rel.dtors)				        *(.rela.dtors)				        *(.rel.got)				        *(.rela.got)				        *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*)				        *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)				        *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*)				        *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)				        *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*)				        *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)				        *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*)				        *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)				        *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)				        *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)				        *(.rel.plt)				        *(.rela.plt)								        KEEP (*(.init))				        *(.plt)				        *(.text .stub .text.* .gnu.linkonce.t.*)								        /* .gnu.warning sections are handled specially by elf32.em.  */								        *(.gnu.warning.*)				        KEEP (*(.fini))				        PROVIDE (__etext = ABSOLUTE(.));				        PROVIDE (_etext = ABSOLUTE(.));				        PROVIDE (etext = ABSOLUTE(.));								        *(.eh_frame_hdr)				        /* Ensure the __preinit_array_start label is properly aligned.  We				           could instead move the label definition inside the section, but				           the linker would then create the section even if it turns out to				           be empty, which isn't pretty.  */				        . = ALIGN(32 / 8);				        PROVIDE (__preinit_array_start = ABSOLUTE(.));				        *(.preinit_array)				        PROVIDE (__preinit_array_end = ABSOLUTE(.));				        PROVIDE (__init_array_start = ABSOLUTE(.));				        *(.init_array)				        PROVIDE (__init_array_end = ABSOLUTE(.));				        PROVIDE (__fini_array_start = ABSOLUTE(.));				        *(.fini_array)				        PROVIDE (__fini_array_end = ABSOLUTE(.));				        SORT(CONSTRUCTORS)				        KEEP (*(.eh_frame))				        *(.gcc_except_table)				        *(.dynamic)				        PROVIDE (__CTOR_LIST__ = ABSOLUTE(.));				        KEEP (*(.ctors))				        KEEP (*(SORT(.ctors.*)))				        PROVIDE (__CTOR_END__ = ABSOLUTE(.));				        PROVIDE (__DTOR_LIST__ = ABSOLUTE(.));				        KEEP (*(.dtors))				        KEEP (*(SORT(.dtors.*)))				        PROVIDE (__DTOR_END__ = ABSOLUTE(.));				        KEEP (*(.jcr))				        . = ALIGN(32 / 8);				    } >  sdram =0x3a880100 /* NOP on Nios2 (big endian) */								    .rodata :				    {				        PROVIDE (__ram_rodata_start = ABSOLUTE(.));				        . = ALIGN(32 / 8);				        *(.rodata .rodata.* .gnu.linkonce.r.*)				        *(.rodata1)				        . = ALIGN(32 / 8);				        PROVIDE (__ram_rodata_end = ABSOLUTE(.));				    } > sdram								    PROVIDE (__flash_rodata_start = LOADADDR(.rodata));								    .rwdata  :AT (LOADADDR (.rodata) + SIZEOF (.rodata))				    {				        PROVIDE (__ram_rwdata_start = ABSOLUTE(.));				        . = ALIGN(32 / 8);				        *(.got.plt) *(.got)				        *(.data1)				        *(.data .data.* .gnu.linkonce.d.*)								        _gp = ABSOLUTE(. + 0x8000);				        PROVIDE(gp = _gp);								        *(.sdata .sdata.* .gnu.linkonce.s.*)				        *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)								        . = ALIGN(32 / 8);				        _edata = ABSOLUTE(.);				        PROVIDE (edata = ABSOLUTE(.));				        PROVIDE (__ram_rwdata_end = ABSOLUTE(.));				    } > onchip_mem								    PROVIDE (__flash_rwdata_start = LOADADDR(.rwdata));								    .bss :				    {				        __bss_start = ABSOLUTE(.);				        PROVIDE (__sbss_start = ABSOLUTE(.));				        PROVIDE (___sbss_start = ABSOLUTE(.));								        *(.dynsbss)				        *(.sbss .sbss.* .gnu.linkonce.sb.*)				        *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)				        *(.scommon)								        PROVIDE (__sbss_end = ABSOLUTE(.));				        PROVIDE (___sbss_end = ABSOLUTE(.));								        *(.dynbss)				        *(.bss .bss.* .gnu.linkonce.b.*)				        *(COMMON)								        . = ALIGN(32 / 8);				        __bss_end = ABSOLUTE(.);				    } > onchip_mem								    /*				     * One output section for each of the available partitions. These are not				     * used by default, but can be used by users applications using the .section				     * directive.				     *				     * The memory partition used for the heap is treated in  special way, i.e. a				     * symbol is added to point to the heap start.				     *				     * Note that when running from flash, these sections are not loaded by the				     * HAL.				     *				     */								    .sdram LOADADDR (.rwdata) + SIZEOF (.rwdata): AT (LOADADDR (.rwdata) + SIZEOF (.rwdata))				    {				        PROVIDE (_alt_partition_sdram_start = ABSOLUTE(.));				        *(.sdram .sdram.*)				        . = ALIGN(32 / 8);				        PROVIDE (_alt_partition_sdram_end = ABSOLUTE(.));				    } > sdram								    PROVIDE (_alt_partition_sdram_load_addr = LOADADDR(.sdram));								    .onchip_mem : AT (LOADADDR (.sdram) + SIZEOF (.sdram))				    {				        PROVIDE (_alt_partition_onchip_mem_start = ABSOLUTE(.));				        *(.onchip_mem .onchip_mem.*)				        . = ALIGN(32 / 8);				        PROVIDE (_alt_partition_onchip_mem_end = ABSOLUTE(.));				        _end = ABSOLUTE(.);				        end = ABSOLUTE(.);				        __alt_stack_base = ABSOLUTE(.);				    } > onchip_mem								    PROVIDE (_alt_partition_onchip_mem_load_addr = LOADADDR(.onchip_mem));								    /*				     * Stabs debugging sections.				     *				     */								    .stab          0 : { *(.stab) }				    .stabstr       0 : { *(.stabstr) }				    .stab.excl     0 : { *(.stab.excl) }				    .stab.exclstr  0 : { *(.stab.exclstr) }				    .stab.index    0 : { *(.stab.index) }				    .stab.indexstr 0 : { *(.stab.indexstr) }				    .comment       0 : { *(.comment) }				    /* DWARF debug sections.				       Symbols in the DWARF debugging sections are relative to the beginning				       of the section so we begin them at 0.  */				    /* DWARF 1 */				    .debug          0 : { *(.debug) }				    .line           0 : { *(.line) }				    /* GNU DWARF 1 extensions */				    .debug_srcinfo  0 : { *(.debug_srcinfo) }				    .debug_sfnames  0 : { *(.debug_sfnames) }				    /* DWARF 1.1 and DWARF 2 */				    .debug_aranges  0 : { *(.debug_aranges) }				    .debug_pubnames 0 : { *(.debug_pubnames) }				    /* DWARF 2 */				    .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }				    .debug_abbrev   0 : { *(.debug_abbrev) }				    .debug_line     0 : { *(.debug_line) }				    .debug_frame    0 : { *(.debug_frame) }				    .debug_str      0 : { *(.debug_str) }				    .debug_loc      0 : { *(.debug_loc) }				    .debug_macinfo  0 : { *(.debug_macinfo) }				    /* SGI/MIPS DWARF 2 extensions */				    .debug_weaknames 0 : { *(.debug_weaknames) }				    .debug_funcnames 0 : { *(.debug_funcnames) }				    .debug_typenames 0 : { *(.debug_typenames) }				    .debug_varnames  0 : { *(.debug_varnames) }								    /* Altera debug extensions */				    .debug_alt_sim_info 0 : { *(.debug_alt_sim_info) }				}				/* provide a pointer for the stack */								/*				 * Don't override this, override the __alt_stack_* symbols instead.				 */				__alt_data_end = 0x01004000;								/*				 * The next two symbols define the location of the default stack.  You can				 * override them to move the stack to a different memory.				 */				PROVIDE( __alt_stack_pointer = __alt_data_end );				PROVIDE( __alt_stack_limit   = __alt_stack_base );								/*				 * This symbol controls where the start of the heap is.  If the stack is				 * contiguous with the heap then the stack will contract as memory is				 * allocated to the heap.				 * Override this symbol to put the heap in a different memory.				 */				PROVIDE( __alt_heap_start    = end );				PROVIDE( __alt_heap_limit    = 0x01004000 );											

相关资源