Programok hibaelhárítása
- in-circuit emulátor
- beépített szoftver hibakereső
- külső szoftver hibakereső
- egy hibátlan eszköz egy bináris programkóddal a memóriába írva
A számítógépes kijelzőn megjelenő programozási nyelvváltozók megjelenítésén belüli áramkör-emulátor jelentős segítséget nyújt, ha közvetlenül a kifejlesztett eszközökön hibakeresést végez. Ez a módszer biztosítja a legkényelmesebb hibakeresési környezet, amely debuggolható közvetlenül a készülék leállítja a program végrehajtásának nyomon követését a program közvetlenül a forráskód a program állapotát külső port és a belső változók egy része a chip, és írásban nyilatkoztak forráskódját. Ne feledje, hogy egy program hibakeresése során egy in-circuit emulátor használatával szimbolikus információkat kell tartalmaznia az objektummodulokban. A programok hibakereséséhez szükséges eszközök az 1. ábrán láthatók.
1. ábra Példa egy szoftver hibakereső rendszerére mikrokontrollerek számára
Egészen a közelmúltig az áramkörben működő emulátor különálló eszköz volt, a mikrokontroller helyett a fejlett lemezhez csatlakoztatva. A modern mikrokontrollerek szerkezete gyakran tartalmaz beépített áramköri emulátort. Ugyanakkor a számítógéppel való kommunikáció legmegfelelőbb kezelőfelülete a JTAG interfész, bár egyes chip gyártók saját interfészt kínálnak.
Az integrált programozási környezet használatakor felhasználóbarát felületet biztosítanak, ami megkönnyíti a fejlesztett program hibakeresését. Jelenleg a de facto szabvány a Visual C shellhoz hasonló interfészsé vált. Az ilyen szoftverhéj megjelenésének egyik példája a 2. ábrán látható.
2. ábra Példa az integrált szoftver hibakereső rendszer hibakereső megjelenésére
Beépített szoftver hibakereső. amely része az integrált programozási környezetnek, nem teszi lehetővé a mikrokontroller külső lábaihoz csatlakoztatott berendezések működésének ellenőrzését, de jelentősen csökkenti a mikrokontrollerek programozásához szükséges hibakereső komplex költségeit. A mikrokontrollerre küldött jeleket a programozó maga állítja be (ami azt jelenti, hogy ebben a szakaszban hibák merülhetnek fel a berendezés működésének félreértése miatt). Ezeknek a jeleknek a kézi bemenete jelentősen lelassítja a szoftver hibakeresési folyamatát.
Külső szoftver hibakereső. Bizonyos esetekben nem integrált programozási környezetet használnak, hanem egy külön fordítót a kiválasztott programozási nyelvről. Ebben az esetben olyan programokat használhat, amelyek a kiválasztott típusú mikrokontrollert emulálják. Mivel a különböző fordítók tárgyformátuma kissé eltér egymástól, a bemeneti fájl bináris vagy hexadecimális formátumú bootmodul. Ezekben a formátumokban a hibakeresési adatok hiányoznak, ezért az ilyen programok hibakeresése csak a beépített szétszerelővel és a nyomtatott (vagy egy másik ablakban megnyíló) programlistával végezhető el. Természetesen ez még ennél is kényelmesebb módja a hibakeresésnek, mint az integrált programozási környezet és az in-circuit emulátor használata.
A mikroáramkör programozása. Ha bármilyen program hibakeresési módját használja, akkor a készenléti betöltő modul a mikrokontroller programjának belső memóriájába íródik egy programozó segítségével (amely számos modern mikroáramkörbe tartozik). Ezt követően a fejlett eszköz alapos tesztelésére kerül sor az eszköz áramkörének és programjának hibáinak felderítésére. Csak a sikeres átadás után teljes körűen megfogalmazott és egyszerűsítettnek tekinthető.
Ha elég egyszerű programokat írunk, néha csak a teszt utolsó szakaszát használjuk a programok hibakeresésére. Azonban a hibák megtalálása, felkutatása és kijavítása egyedül ezzel a módszerrel nagyon nehézkes! Ugyanaz, mint a hangszer használata nélkül.
Módszerek a programok hibakeresésére
A programok hibaelhárítása a program és a hardver helyes működésének ellenőrzésére szolgál. A szintaktikai hibákat nem tartalmazó program mindazonáltal logikus hibákat tartalmazhat, amelyek megakadályozzák a program számára a benne foglalt funkciókat. Logikai hibák társíthatók a program algoritmusával vagy a mikrokontroller portjaihoz csatlakoztatott berendezés működésének félreértésével.
A beépített integrált programozási környezet hibakeresője lehetővé teszi a programkód olyan részeinek a hibakeresését, amelyek nem függenek a mikrocircuit mikroáramkör részét nem képező berendezések működésétől. Ez általában a matematikai kifejezések kiszámítására vagy az adat-reprezentációs formátumok átalakítására vonatkozik.
A hibakereső programok esetében általában három módszert alkalmaznak:
- A szubrutinokkal kapcsolatos programok lépésről lépésre történő hibakeresése;
- Programok lépésenkénti hibakeresése egy alprogrammal, mint egy operátorral;
- Futtassa a programot a töréspontra.
A programok lépésenkénti hibakeresése az, hogy egy program utasítás végrehajtásra kerül, és azokat a változókat, amelyekhez ezt az operátort ellenőrizni kell.
Ha a program már korrigálta a szubrutinokat, akkor az alprogram lehet egy programkezelő, és a programok hibakeresésének második módját használja.
Ha a programnak már van egy elég nagy része a korábban debugolt programnak, akkor végrehajtható anélkül, hogy befolyásolná azokat a változókat, amelyekre hatással van. A töréspontok használata lehetővé teszi, hogy kihagyja a program már hibás részét. A töréspont olyan helyeken van beállítva, ahol szükséges ellenőrizni a változók tartalmát, vagy egyszerűen ellenőrizni, hogy az adott operátornak van-e szabályozása.
Gyakorlatilag minden hibakereső támogatja ezt a tulajdonságot (valamint a program végrehajtását a kurzor előtt és kilépés az alprogramból). Ezután a program hibakeresése lépésről-lépésre folytatódik, helyi és globális változók vezérlésével, valamint a mikrokontroller belső regiszterei és a mikrocsatornák kimenetén lévő feszültségekkel.
Gyakorlatilag minden hibakereső lehetővé teszi, hogy ellenőrizze az aktuális bank munkarendjeinek tartalmát.
A "Multimodul programok" című cikkel együtt: