Beágyazottszoftver-fejlesztés

VIMIAC17  |  Villamosmérnök BSc  |  Félév: 5  |  Kredit: 5

A tantárgy célkitűzése

A tárgy elsődleges célja a hallgatók bevezetése a beágyazott szoftverek fejlesztési témakörébe.
A tárgy keretén belül ismertetésre kerülnek a beágyazott fejlesztés C nyelvű alapjai, a
keresztfordítás sajátosságai, a C kód fordításának lépései és feltételei beágyazott vezérlők esetén.
A hallgatók megismerik a memóriába leképezett perifériák elérési módszereit és az erre vonatkozó
szabványosítási törekvéseket, mint például a CMSIS-Core-t.
Bemutatásra kerülnek a beágyazott szoftverekben alkalmazott hardware absztrakciós rétegek
kezdve az alacsony szintű, mikrovezérlő szintű absztrakciókkal, firmware könyvtárakkal, folytatva az
erre épülő magasabb board szintű absztrakciókkal, valamint az absztrakciós rétegek
létrehozásához tartozó általános szabályokkal: kommentezési, elnevezési, nyelvi készletet
korlátozó (MISRA-C) szabályok és rétegszervezési minták. Ismertetjük a perifériák lekérdezése,
megszakítása és DMA (Direct Memory Access) alapú kezelési elveit és a LibC függvénykönyvtár
portolását.
A tárgy ismerteti a beágyazott szoftverekben általánosan alkalmazott üzemmódokat, ezeken belül
hangsúlyozottan bemutatásra kerül a diagnosztikai és energiatakarékos üzemmód.
A hallgatók megismerhetik a fejlesztés során sokszor alkalmazott debugolási folyamatok lépéseit
és felépítését, valamint a modern vezérlők által nyújtott trace és debug lehetőségeket.
A tárgy a szoftverütemezés témakörével zárul. Bemutatásra kerülnek az egyszerű ütemező
architektúrák úgymint a Round-Robin és függvénysoralapú ütemezés, és részletesen foglalkozunk a beágyazott operációs rendszerekkel. A FreeRTOS-en keresztül ismertetésre kerülnek a
párhuzamos programozás alapjai és problémái: szálak létrehozása, közös erőforrások használata,
kölcsönös kizárás, szálszinkronizáció, egyéb OS szolgáltatások. Példákkal illusztráljuk a beágyazott
OS-ek használatának tipikus nehézségeit: stack problémák, időzítési, ütemezési problémák.

A tárgy oktatói

Orosz György
Orosz György

tanszékvezető helyettes, docens

tárgyfelelős