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 .boot : { *(.boot*) } > kseg0_boot_mem AT > physical_boot_mem 31 .vectors : { *(.vectors*) } > kseg0_program_mem AT > physical_program_mem 32 .text : { *(.text*) } > kseg0_program_mem AT > physical_program_mem 33 .bss : { *(.bss*) } > kseg1_data_mem 34 .rodata : { *(.rodata*) } > kseg0_program_mem AT > physical_program_mem 35 .got : { 36 _gp = ALIGN(16); 37 *(.got*) 38 } > kseg0_program_mem AT > physical_program_mem 39 .devcfg0 : { *(.devcfg0) } > config0 AT > physical_config0 40 .devcfg1 : { *(.devcfg1) } > config1 AT > physical_config1 41 .devcfg2 : { *(.devcfg2) } > config2 AT > physical_config2 42 /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) } 43 }