Firmware fejlesztés Mártonfalvi Zsolt Hardware programozó
Áttekintés Beágyazott rendszer A fejlesztés menete Milyen eszközökkel?
Beágyazott rendszer Egy beágyazott rendszer (angolul: embedded system) olyan processzoralapú programvezérlésű eszköz melyet egy konkrét feladat ellátására terveztek. Jellemzői korlátosak az erőforrásai (energia, tárkapacitás, utasításkészlet, végrehajtási sebesség stb.), kicsi a fizikai mérete (a hordozó lemez mérete néhány mm2-től egy-kétszáz cm2-ig terjed), magasak a megbízhatósági és rendelkezésre állási követelményei (a hétköznapi informatikai alkalmazásokhoz képest). Professzionális gyártási technológia Mobiltelefon, GPS, ABS, motorvezérlő elektronika, riasztó, RFID olvasó stb.
A fejlesztés menete hogyan, mivel és miért fejlesztünk
Egy eszköz születése, és élete Feladat -> terv Mikrokontroller választás, fejlesztőeszköz szerszámok Fejlesztés development boardon Prototipus fejlesztés, következő prototipus Teszt Végleges hardver Teszt, tesztfarm üzemeltetés Gyártás Upgrade.teszt, upgrade.
Szerszámkészlet Professzionális fejlesztőkörnyezet IDE (Integrated development environment) Rowley Crossworks for ARM ARM7 ARM9 Xscale, CORTEX C, C++, GNU Crossworks lib, CTL Verziókezelő rendszer (SVN) Programozó eszközök, debuggerek Logikai és protokoll analizátorok Saját fejlesztésű tesztkörnyezet
Az alapanyag STELLARIS ARM mikrovezérlő család A világ egyik legnagyobb gyártója Nagy támogatottság, folyamatos fejlesztés 32 bites ARM architektúra Gyors, hatékony, szabványos Gyártó által fejlesztett periféria könyvtárak Development boards( szinte minden feladatra) Csak a családon belül több mint 200 féle kontroller, egységes architektúrával Stabil alapok, könnyebb gyorsabb fejelsztés Már indulhat a fejlesztés saját panel elkészülése előtt Skálázhatóság, a fejlesztések könnyen adaptálhatóak kisebb vagy nagyobb kontrollerre
Mi van egy mikrovezrélőben?
Karmesterrel vagy karmester nélkül? Nincs karmester (Superloop) Hagyományos technológia, egyszerű alkalmazásokra A program fix sorrendű funkciók egymásutáni sorozata Időkritikus feladatok csak interuptokkal Időzítések implementálása nehézkes, a változtatások kihatnak az egész loopra Nehezen olvasható egyre koszosabb kód Könnyű megtanulni (PIC-ezzünk hamar) Nem kerül pénzbe Karmester vezényel (RTOS) Legkorszerűbb technika, komplex rendszerek fejlesztésésre is A program taszkokból áll ezek az események hatására egymás között üzeneteket cserélnek, Scheduler vezényel Időkritikus feladatok magasabb prioritású taszkokban Időzítésekre az RTOS biztosít beépített eszközöket A kód jól struktúrált, életszerű, tiszta Megtanultuk Megvettük
Valós idejű operációs rendszer RTOS RTOS sajátosságok Task Scheduling Multitasking Determinisztikus működés Rövid interrupt rutinuk Inter-task kommunikáció Definiált verem használat Rendszer menedzselés Megjegyzés A taszkok akkor hívódnak amikor szükség van rájuk, jobb a programfolyamat, eseményekre reagálunk Olyan mintha az összes taskunk egyszerre futna Az események és az interruptok az előre definiált időzítések szerint mennek végbe Egzakt váratlan eseményektől mentes programműködés, kiszámítható viselkedés Az RTOS biztosítja az eszközöket az adatok áramlására Memória-task-interrupt-hw-erőforrások Minden task saját memóritartülettel bír A fejlesztésre lehet koncentrálni vs erőforrás mngmnt
Építőköveink
Összegzés Minden tudás egy helyen: Mi gyártjuk mi készítjük a programot, mi supportáljuk Bitszinten imerjük a termékünket Mi valóban meg tudjuk oldani az integrációt más rendszerekkel (áttételek nélkül) Tud valaki jobban segíteni mint a fejlesztők??? Mi telepítünk is nagy rendszereket, nem csak eladunk -> még több tapasztalat A fejlesztések során korszerű eszközkészletet, és módszertanokat alkamazunk mert az eszközeinknek folyamatosan működniük kell napi 24 órában A cég 1991-től létezik, nagy szakmai tapasztalat a garancia arra, hogy megvalósítjuk igényeit. Több száz ügyfél, több száz installáció van mögöttünk. 15 éves gyakorlat a firmware fejlesztésben (senior fejlesztők) Ismerjük a magyar sajátosságokat Szeretünk nem részfeladatokra, hanem komplex megvalósításokra törekedni Szeretjük a munkánkat
Kérdések www.welcome3.hu