Linker script (bağlayıcı betiği)
Bağlayıcıya programın her parçasının bellekte nereye gideceğini söyleyen dosya — PC’de dipnot, firmware’de haritanın tamamı.
İşletim sistemi programları istediği yere yükler. Mikrodenetleyicide işletim sistemi yoktur; bir adreste flaş, başka bir adreste RAM bulunur ve program bunlara tam olarak uymak zorundadır. Bağlayıcı betiği (GNU ld için .ld) bu bölgeleri bir MEMORY bloğunda tanımlar, ardından bölümleri yerleştirir: kod ve sabitler (.text, .rodata) flaşa, sıfırlanmış değişkenler (.bss) RAM’e.
İlginç olan, başlangıç değerli değişkenler olan .data’dır: RAM’de yaşamaları gerekir ama ilk değerlerinin güç kesintisinden sağ çıkması gerekir. Betik bu yüzden onlara iki adres verir, biri flaşta biri RAM’de; başlangıç kodu main()’den önce kopyalamayı yapar. Yığının tepesi gibi semboller de burada tanımlanır. Çoğu kişi üreticinin şablonunu alır ve bir önyükleyiciye yer lazım olana dek ona dokunmaz.