Leksykon IT › Programowanie › Skrypt linkera

Skrypt linkera

Programowanie Svenska → Zaktualizowano: 2026-11-02

Plik, który mówi linkerowi, w którym miejscu pamięci ma się znaleźć każda część programu — przypis na PC, cała mapa w firmware.

System operacyjny ładuje programy tam, gdzie mu wygodnie. Mikrokontroler nie ma systemu, tylko flash pod jednym adresem i RAM pod innym, a program musi się do tego dokładnie dopasować. Skrypt linkera (.ld dla GNU ld) deklaruje te obszary w bloku MEMORY, a potem rozmieszcza sekcje: kod i stałe (.text, .rodata) we flashu, zmienne zerowane (.bss) w RAM-ie.

Ciekawy jest przypadek .data, czyli zmiennych z wartością początkową: muszą leżeć w RAM-ie, ale ich wartości startowe mają przetrwać wyłączenie zasilania. Skrypt nadaje im więc dwa adresy, jeden we flashu i jeden w RAM-ie, a kod startowy kopiuje je przed main(). Tu definiuje się też symbole, np. szczyt stosu. Większość ludzi bierze szablon producenta i nigdy go nie rusza — dopóki bootloader nie potrzebuje miejsca.

← Wróć do leksykonu