Linker script
Při sestavení binárního obrazu programu musíme linkeru říct, kam má v paměťovém prostoru procesoru umístit jednotlivé sekce programu. Jednoduchý příklad takového předpisu, který se nazývá linker script si nyní popíšeme.
/* lm3s800 linker script */
MEMORY {
flash (rx) : ORIGIN = 0x00000000, LENGTH = 64k
ram (rwx): ORIGIN = 0x20000000, LENGTH = 8k
}
_stack_top = 0x20000000 + 8k;
SECTIONS {
.text : {
*(vectors)
*(.text)
*(.rodata)
_text_end = .;
} > flash
/* initialized data */
.data : {
_data_begin = .;
*(.data)
. = ALIGN(4);
_data_end = .;
} > ram AT > flash
/* uninitialized data */
.bss : {
_bss_begin = .;
*(.bss)
*(COMMON)
. = ALIGN(4);
_bss_end = .;
} > ram
}
