OUTPUT_FORMAT(binary) ENTRY(_start) SECTIONS { /* loader starts at :100h */ . = 0x100; .loader : { * (.loader); * (.ldrtext); } /* main program will be moved to 2MB by the loader */ . = 2M; _main_start = .; .startup : { * (.startup); } .text : { * (.text*); } .rodata : { * (.rodata*); } .data : { * (.data*); } .bss ALIGN(4): { _bss_start = .; * (.bss*); * (COMMON); . = ALIGN(4); _bss_end = .; } _bss_size = SIZEOF(.bss); _main_size = . - _main_start; _mem_start = .; }