Az 'Embedded' egy kicsit betöltött kifejezés.
Bizonyos szempontból az egyetlen alkalmazás futtatására szolgáló rendszert beágyazott rendszernek lehet nevezni, amennyiben van valamilyen hardver ellenőrzött. Vitathatatlanul hívhat beágyazott rendszernek egy 400 MHz-es, 2 GB RAM-mal rendelkező, java alkalmazást futtató PPC604-et egy linux tetején, ha véletlenül helyi I / O modulokon keresztül irányít egy folyamatot. Másrészt egy arduino, amely csak valamilyen minimális hálózati alkalmazást futtat, nem sok beágyazott rendszer. De valószínűleg a „beágyazott” miatt a legtöbb ember a flash alapú vezérlőkre gondol, csupán néhány száz bájt RAM-mal, nincs operációs rendszer, és rengeteg chip-en működő periféria van.
Ennek ellenére valószínűleg a két legnagyobb akadályt a beágyazatlan programozók általában szembesítik a beágyazott rendszerek tanulásával, az I / O regiszterek és a megszakítások.
A megszakítások a beágyazott programozók számára a két fogalom közül valójában könnyebben kezelhetők, mivel ezek fő kérdéseivel, az egyidejűséggel és az eseményvezérelt programozással gyakran találkozunk a mainstream alkalmazásokban. Ami megszakítja a megszakítást, az a felismerés, hogy a rendszer rendkívül érzékenyen reagál a megszakítás kezelésének minőségére, valamint a hardver kezelésének bonyolultsága a megszakítási állapot törlése és a következőre való felállítás érdekében. A grafikus felhasználói felület segítségével a holtpont csak az alkalmazást megöli. A megszakításkezelővel a holtpont az egész rendszert lezárja.
Úgy tűnik, hogy az I / O eszközök okozzák a legnagyobb nehézséget. Az avatatlanok számára meglepetés lehet felfedezni, hogy ennek a regiszternek az olvasása itt hatással van arra a nyilvántartásra ott . Az 1-es írása a bitek törléséhez. Állapotbitek, amelyek kitisztítják magukat, amikor elolvassuk az adatregisztert, stb. Az I / O hardverekkel annyi lehetőség kínálkozik, hogy nincs általános szabály a kezelésére, csak az eszköz adatlapjainak megkeresésének és értelmezésének megtanulása. Ha soros portra ír egy eszközillesztõt, sokat megtanul az alacsony szintû I / O programozásról.
Ezeknek a dolgoknak a megtanulása valójában nem helyettesítheti, mint az, hogy feltegye az ujját, és programozzon egyenes C és / vagy szerelési nyelv a csupasz fémen. Még a fent említett java alapú beágyazott rendszernek is szüksége van eszközillesztõre az I / O-hoz, és ez azt jelenti, hogy végül néhány C-vel kell foglalkoznunk. A tapasztalat a legjobb tanár. Válasszon egy mikrovezérlőt, legyen az MSP430, TMS320, AVR, ARM, PIC, 68HC11, bármi, keressen egy eval készletet és építsen fel néhány rendszert.