/* * Sysam (C) 2016 * * cf64k linker script * cf64k has to stay inside 64KB internal sram */ OUTPUT_ARCH(m68k) ENTRY(_start) MEMORY { sram(rwx) : ORIGIN = 0x20000000, LENGTH = 0x10000 } /* define stack size and heap size here */ _stack_size = 256; /* define beginning and ending of stack */ _stack_start = ORIGIN(sram) + LENGTH(sram); _stack_end = _stack_start - _stack_size; SECTIONS { .text : { _stext = . ; KEEP(*(.vectors)) *(.text) *(.rodata) _etext = . ; } > sram .data : AT (ADDR(.text) + SIZEOF(.text)) { _sdata = . ; *(.data) _edata = . ; } > sram .bss : AT (ADDR(.text) + SIZEOF(.text) + SIZEOF(.data)) { _sbss = . ; *(.bss) *(.bss.*) *(COMMON) _ebss = . ; } > sram ._stack : { . = . + _stack_size; } > sram .stab 0 (NOLOAD) : { *(.stab) } .stabstr 0 (NOLOAD) : { *(.stabstr) } }