IT-lexikon › Programmering › Startkod

Startkod

Programmering In English → Uppdaterad: 2026-11-03

Koden som körs mellan reset och main() och ser till att C-språkets antaganden om minnet faktiskt stämmer.

C lovar att globala variabler med startvärde har det värdet och att alla andra är noll. På en dator ordnar operativsystemets laddare det. På bare metal gör ingen det, så startkoden måste: kopiera sektionen .data från flash till RAM, nollställa .bss, ställa in klockor, köra C++-konstruktorer och sedan anropa main. Adresserna hämtas från symboler som länkskriptet definierar.

Namnet crt0, C runtime zero, kommer från Unix. På Cortex-M heter ingången Reset_Handler och pekas ut av vektortabellen; hårdvaran laddar stackpekaren själv, så allt kan skrivas i C. Brukar levereras som en assemblerfil av tillverkaren, och läses sällan innan en global variabel envist vägrar ha sitt startvärde.

← Tillbaka till lexikonet