OUTPUT_ARCH(mips) ENTRY(__start) flash_start = 0x9fc00000; MEMORY { FLASH(R) : ORIGIN = 0x9fc00000, LENGTH = 0x00400000 RAM(RW) : ORIGIN = (0x80000000+0x01000000), LENGTH = (0x2000000-((0x80000000+0x01000000)-0x80000000)) } SECTIONS { .text : AT (flash_start) { _ftext = .; *(.text) *(.rodata) *(.rodata1) *(.rodata.str1.4) *(.rodata.cst4) *(.rodata.cst8) *(.fini) *(.reginfo) } > FLASH . = ALIGN(16); _etext = .; etext = .; .data : AT (_etext) { _fdata = .; *(data) SORT(CONSTRUCTORS) } > RAM . = ALIGN(4); . = ALIGN(4); _edata = .; _fbss = .; _ram_image_start = flash_start + 0x10000; .sbss (NOLOAD) : { *(.sbss) *(.scommon) } .bss (NOLOAD) : { _bss_start = .; *(.bss) *(COMMON) . = ALIGN(4); } > RAM . = ALIGN(4); _end = .; PROVIDE(_end = .); end = .; PROVIDE(end = .); }