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.

Programok hibaelhárítása

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:

  1. A szubrutinokkal kapcsolatos programok lépésről lépésre történő hibakeresése;
  2. Programok lépésenkénti hibakeresése egy alprogrammal, mint egy operátorral;
  3. 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:

Kapcsolódó cikkek