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