1 MEMORY 2 { 3 TEXTMEM (ARX) : ORIGIN = 0x10000, LENGTH = 32K 4 DATAMEM (AW) : ORIGIN = 0x20000, LENGTH = 32K 5 LOADMEM (AW) : ORIGIN = 0x30000, LENGTH = 32K 6 } 7 8 /* Map should be: 9 10 SIZE VMA LMA 11 .bss1 10 20000 20000 12 .bss2 30 20000 20010 13 .bss3 20 20000 20040 14 .mbss 230 20030 20060 15 16 .mtext 20 10000 30000 17 .text1 80 10020 30020 18 .text2 40 10020 300a0 19 .text3 20 10020 300e0 20 21 .data1 30 20260 30100 22 .data2 40 20260 30130 23 .data3 50 20260 30170 */ 24 25 SECTIONS 26 { 27 OVERLAY : 28 { 29 .bss1 { *(.bss1) } 30 .bss2 { *(.bss2) } 31 .bss3 { *(.bss3) } 32 } > DATAMEM 33 34 end_of_bss_overlays = . ; 35 36 .mtext : { *(.mtext) } > TEXTMEM AT > LOADMEM 37 38 .mbss : AT (__load_stop_bss3) 39 { 40 *(.mbss) 41 . += 0x200; 42 } > DATAMEM 43 44 OVERLAY : 45 { 46 .text1 { *(.text1) } 47 .text2 { *(.text2) } 48 .text3 { *(.text3) } 49 } > TEXTMEM AT > LOADMEM 50 51 end_of_text_overlays = . ; 52 53 OVERLAY : 54 { 55 .data1 { *(.data1) } 56 .data2 { *(.data2) } 57 .data3 { *(.data3) } 58 } > DATAMEM AT > LOADMEM 59 60 end_of_data_overlays = . ; 61 62 . = 0x8000; 63 /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) } 64 } 65