laiteohjelmointi
Laiteohjelmointi, tai upotettu ohjelmointi, tarkoittaa ohjelmistokehitystä, joka toteutetaan suoraan laitteistolle. Tyypillisesti kyse on mikrokontrollereista, System-on-Chip -ratkaisuista tai FPGA-pohjaisista järjestelmistä, joissa ohjelmisto toimii lähellä laitteistoa ja noudattaa tiukkoja resurssi- ja reaaliaikavaatimuksia. Laiteohjelmisto vastaa perustoimintojen ohjausta, I/O-yhteyksiä, tilanhallintaa ja turvallisuutta.
Käytetyt kielet ja työkalut vaihtelevat alustasta riippuen. Yleisimmät kielet ovat C ja C++, sekä toisinaan assembly-kieli
Kehitysprosessissa huomioidaan laitteiston ominaisuudet, rajalliset resurssit ja mahdolliset reaaliaikavaatimukset. Kehitys voi olla bare-metal-tyyppistä tai käyttää kevyttä
Elinkaaren hallinta kattaa versionhallinnan, ohjelmistopäivitykset ja dokumentaation. Laiteohjelmointi kehittyy koon, virrankäytön, turvallisuuden ja ohjelmointikielien kehittymisen myötä,