Verifikációs környezet fejlesztése PCI Express eszközökhöz

OData támogatás
Konzulens:
Szántó Péter
Méréstechnika és Információs Rendszerek Tanszék

E diplomamunka egy verifikációs rendszer elkészítését és felhasználási lehetőségeit mutatja be. A témát az Ericsson Magyarország Kft. mikrohullámú átvitelt támogató rendszereket gyártó ETH/XH részlegén folyó fejlesztések inspirálták. A divízió moduláris termékcsaládjának elemei PCI Express rendszerbuszon kommunikálnak egymással, így annak helyes működése elengedhetetlen a termék sikerességéhez.

A verifikációs lehetőségeket biztosító szoftver három részből áll: az eszközökkel való alacsonyszintű kommunikációért felelős eszközmeghajtóból (driver), a magasabb szintű funkcionalitást megvalósító Linux felhasználói réteg alkalmazásból, illetve kényelmi szerepet tölt be a távoli gépen futó grafikus felhasználói felülettel rendelkező kliens.

A PCI Express és a PCI protokollok szoftverkompatibilisek egymással, így az eszközmeghajtó a PCI specifikációban bevezetett CAM (Configuration Access Mechanism) mechanizmust valósítja meg, melyen keresztül elérhető a modulok konfigurációs regisztertere. A felhasználói réteg felelős a driver-rel való kommunikációért, a memória- és I/O-terek manipulálásáért, ezáltal a teljes PCI Express címteret elérhetjük, az oda ágyazott eszközök funkcionalitását leellenőrizhetjük.

A távoli kliens, és a céleszközön futó felhasználói réteg alkalmazás között egy, a célra alkalmasan definiált parancssoros nyelven kommunikálhatunk. A parancsértelmező a Lex (Lexical Analyzer Generator) és a Yacc (Yet Another Compiler Compiler) programok segítségével lett elkészítve. A JavaFX API lehetőségeit kihasználó GUI rendelkezik egy szkript ütemezővel, így a parancsokat automatizált tesztvégrehajtásra is használhatjuk, a beépített adatrögzítő funkció pedig segít a teszteredmények utólagos kiértékelésében.

A végeredményül létrejött szoftver alkalmas akár egyszerre három PCI Express gyökérpont, és a hozzájuk tartozó rendszerbuszra kapcsolt eszközök verifikációjára. Az egyszerű parancssoros interfész megkönnyíti az eszközprototipizálás, és a kártyaélesztés folyamatát, míg az automatizált szkriptfuttatás a rutinszerűen végrehajtott regressziós jellegű tesztek esetében nyújt nagy segítséget a verifikációt végző felhasználó számára.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.