Sulautettujen järjestelmien käynnistyslataimet voivat erota hieman yleiskäyttöisistä tietokoneista, koska voit määrittää prosessorin (koodimuistin lisäksi, usein "sulakkeet") aloittamaan suorituksen eri muistiosoitteesta . Tämä sallii koodin (käynnistyslataimen) injektoinnin, joka voi tarkkailla erityistä signaalia tekemään jotain erilaista (tyypillisesti laitteen uudelleenohjelmoimiseksi). Jos signaalia ei näy, käynnistyslataimet ohjaavat yleensä perinteiseen käynnistysosoitteeseen ja asiat jatkuvat normaalisti.
Säädettävä käynnistyssijainti sallii yhden, kiinteän binaarin, joka toimii käynnistyslataimen kanssa ja ilman sitä, niin kauan kuin pääohjelma käännetään, se ei ole päällekkäinen käynnistyslataimen muistin kanssa. Joten laitetta ohjelmoitaessa on kaksi karkeaa vaihtoehtoa:
- Ohjelmoi laite vain pääohjelmalla ja jätä käynnistyslataimen sulake yksin. Palautettaessa prosessori aloittaa pääohjelman suorittamisen normaalissa paikassa.
- Ohjelmoi laite (muokkaamattomalla) pääohjelmalla ja käynnistyslataimella ja aseta käynnistyslataimen sulake tarvittaessa. Palautettaessa prosessori käynnistää käynnistyslataimen, joka voi tehdä jotain (esim. Uudelleenohjelmointi) tai ei mitään (siirtää ohjauksen normaaliin sijaintiin).
Jos prosessorilla ei ole käynnistyslataimen sulaketta ja haluat käynnistyslataimen, se on hieman monimutkaisempi, mutta silti mahdollista (esim. ATtiny-käynnistyslataimet).
Upotetut järjestelmät eivät missään tapauksessa tarvitse käynnistyslatainta kuten tietokoneita. Kun prosessori käynnistyy tai muuten palautuu, käynnistyy nollauskeskeytys, jonka (pitäisi) palauttaa muisti ja oheislaitteet datalehdessä määritettyyn tilaan. AVR: ssä ohjelmalaskuri on asetettu vain nollaksi, joten prosessori tarttuu kaikkeen siellä olevaan ja menee. Jos käytät keskeytyksiä, tyypillisesti ensimmäinen joukko muistiosoitteita ovat kaikki JMP xxxx
, joka toimii vektoritaulukkona, mutta jos et ole keskeytyksettä, ohjelmalogiikka voi alkaa vasta sitten ja siellä.