1 OUTPUT_ARCH(mips) 2 ENTRY(_start) 3 4 /* See... 5 * FIGURE 4-5: MEMORY MAP ON RESET FOR PIC32MX170/270 DEVICES (64 KB RAM, 256 KB FLASH) 6 * PIC32MX1XX/2XX 28/36/44-pin Family Data Sheet 7 */ 8 9 MEMORY 10 { 11 kseg1_data_mem (w!x) : ORIGIN = 0xA0000000, LENGTH = 0x10000 12 kseg0_boot_mem (rx) : ORIGIN = 0x9FC00000, LENGTH = 0xBF0 13 kseg0_program_mem (rx) : ORIGIN = 0x9D000000, LENGTH = 0x40000 14 physical_boot_mem (rx) : ORIGIN = 0x1FC00000, LENGTH = 0xBF0 15 physical_program_mem (rx) : ORIGIN = 0x1D000000, LENGTH = 0x40000 16 sfrs : ORIGIN = 0xBF800000, LENGTH = 0x100000 17 configsfrs : ORIGIN = 0xBFC00BF0, LENGTH = 0x10 18 config3 : ORIGIN = 0xBFC00BF0, LENGTH = 0x4 19 config2 : ORIGIN = 0xBFC00BF4, LENGTH = 0x4 20 config1 : ORIGIN = 0xBFC00BF8, LENGTH = 0x4 21 config0 : ORIGIN = 0xBFC00BFC, LENGTH = 0x4 22 physical_config3 : ORIGIN = 0x3FC00BF0, LENGTH = 0x4 23 physical_config2 : ORIGIN = 0x3FC00BF4, LENGTH = 0x4 24 physical_config1 : ORIGIN = 0x3FC00BF8, LENGTH = 0x4 25 physical_config0 : ORIGIN = 0x3FC00BFC, LENGTH = 0x4 26 } 27 28 SECTIONS 29 { 30 .text : { *(.text*) } > kseg0_boot_mem AT > physical_boot_mem 31 .flash : { *(.flash*) } > kseg0_program_mem AT > physical_program_mem 32 .bss : { *(.bss*) } > kseg1_data_mem 33 .got : { 34 _gp = ALIGN(16); 35 *(.got*) 36 } > kseg0_boot_mem AT > physical_boot_mem 37 .devcfg0 : { 38 *(.devcfg0) 39 } > config0 AT > physical_config0 40 .devcfg1 : { 41 *(.devcfg1) 42 } > config1 AT > physical_config1 43 .devcfg2 : { 44 *(.devcfg2) 45 } > config2 AT > physical_config2 46 /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) } 47 }