123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386 |
- MEMORY
- {
- reset : ORIGIN = 0x40000, LENGTH = 32
- onchip_memory2 : ORIGIN = 0x40020, LENGTH = 204768
- }
- __alt_mem_onchip_memory2 = 0x40000;
- OUTPUT_FORMAT( "elf32-littlenios2",
- "elf32-littlenios2",
- "elf32-littlenios2" )
- OUTPUT_ARCH( nios2 )
- ENTRY( _start )
- SECTIONS
- {
-
- .entry :
- {
- KEEP (*(.entry))
- } > reset
- .exceptions :
- {
- PROVIDE (__ram_exceptions_start = ABSOLUTE(.));
- . = ALIGN(0x20);
- KEEP (*(.irq));
- KEEP (*(.exceptions.entry.label));
- KEEP (*(.exceptions.entry.user));
- KEEP (*(.exceptions.entry.ecc_fatal));
- 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(.));
- } > onchip_memory2
- PROVIDE (__flash_exceptions_start = LOADADDR(.exceptions));
- .text :
- {
-
- PROVIDE (stext = ABSOLUTE(.));
- KEEP (*(.init))
-
- KEEP (*(.fini))
- PROVIDE (__etext = ABSOLUTE(.));
- PROVIDE (_etext = ABSOLUTE(.));
- PROVIDE (etext = ABSOLUTE(.));
-
- . = ALIGN(4);
- PROVIDE (__preinit_array_start = ABSOLUTE(.));
- PROVIDE (__preinit_array_end = ABSOLUTE(.));
- PROVIDE (__init_array_start = ABSOLUTE(.));
- PROVIDE (__init_array_end = ABSOLUTE(.));
- PROVIDE (__fini_array_start = ABSOLUTE(.));
- PROVIDE (__fini_array_end = ABSOLUTE(.));
- SORT(CONSTRUCTORS)
- KEEP (*(.eh_frame))
- 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(4);
- } > onchip_memory2 = 0x3a880100
- .rodata :
- {
- PROVIDE (__ram_rodata_start = ABSOLUTE(.));
- . = ALIGN(4);
- . = ALIGN(4);
- PROVIDE (__ram_rodata_end = ABSOLUTE(.));
- } > onchip_memory2
- PROVIDE (__flash_rodata_start = LOADADDR(.rodata));
-
- .rwdata LOADADDR (.rodata) + SIZEOF (.rodata) : AT ( LOADADDR (.rodata) + SIZEOF (.rodata)+ SIZEOF (.rwdata) )
- {
- PROVIDE (__ram_rwdata_start = ABSOLUTE(.));
- . = ALIGN(4);
- _gp = ABSOLUTE(. + 0x8000);
- PROVIDE(gp = _gp);
- . = ALIGN(4);
- _edata = ABSOLUTE(.);
- PROVIDE (edata = ABSOLUTE(.));
- PROVIDE (__ram_rwdata_end = ABSOLUTE(.));
- } > onchip_memory2
- PROVIDE (__flash_rwdata_start = LOADADDR(.rwdata));
-
- .bss LOADADDR (.rwdata) + SIZEOF (.rwdata) : AT ( LOADADDR (.rwdata) + SIZEOF (.rwdata) )
- {
- __bss_start = ABSOLUTE(.);
- PROVIDE (__sbss_start = ABSOLUTE(.));
- PROVIDE (___sbss_start = ABSOLUTE(.));
- PROVIDE (__sbss_end = ABSOLUTE(.));
- PROVIDE (___sbss_end = ABSOLUTE(.));
- . = ALIGN(4);
- __bss_end = ABSOLUTE(.);
- } > onchip_memory2
-
-
- .onchip_memory2 LOADADDR (.bss) + SIZEOF (.bss) : AT ( LOADADDR (.bss) + SIZEOF (.bss) )
- {
- PROVIDE (_alt_partition_onchip_memory2_start = ABSOLUTE(.));
- . = ALIGN(4);
- PROVIDE (_alt_partition_onchip_memory2_end = ABSOLUTE(.));
- _end = ABSOLUTE(.);
- end = ABSOLUTE(.);
- __alt_stack_base = ABSOLUTE(.);
- } > onchip_memory2
- PROVIDE (_alt_partition_onchip_memory2_load_addr = LOADADDR(.onchip_memory2));
-
- .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) }
-
-
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- .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) }
-
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-
- .debug_alt_sim_info 0 : { *(.debug_alt_sim_info) }
- }
- __alt_data_end = 0x72000;
- PROVIDE( __alt_stack_pointer = __alt_data_end );
- PROVIDE( __alt_stack_limit = __alt_stack_base );
- PROVIDE( __alt_heap_start = end );
- PROVIDE( __alt_heap_limit = 0x72000 );
|