- în-circuit emulator
- built-in debugger de software
- program extern de depanare a software-ului
- un dispozitiv debuggabil cu un cod de program binar scris în memorie
În circuit emulator cu afișarea variabilelor de limbaj de programare de pe ecranul calculatorului este de mare ajutor atunci când depanare un program dezvoltat în mod direct pe hardware-ul. Această metodă oferă mediul de depanare cel mai convenabil, care poate fi depanat direct în dispozitiv pentru a opri programul, să monitorizeze punerea în aplicare a programului direct din codul sursă al programului, starea porturilor externe și variabile interne, ca parte a cip, și a declarat în scris codul sursă. Rețineți că, atunci când un program de depanare, folosind în circuit este necesar emulator de a include în modulele obiect de informații simbolice. Echipamentul necesar pentru programele de depanare este prezentat în Figura 1.
Figura 1. Exemplu de sistem de depanare a software-ului pentru microcontrolere
Până de curând, emulatorul în circuit a fost un dispozitiv separat, conectat la placa dezvoltată în locul unui microcontroler. Structura microcontrolerelor moderne include adesea un emulator încorporat în circuit. În același timp, cea mai convenabilă interfață pentru comunicarea cu un computer este interfața JTAG, deși unii producători de chip-uri oferă propria lor interfață.
Atunci când se utilizează mediul de programare integrat, este prevăzută o interfață ușor de utilizat, care facilitează depanarea programului dezvoltat. În prezent, standardul de facto a devenit o interfață similară cu coala Visual C. Un exemplu de apariție a unei astfel de cochilii software este prezentat în Figura 2.
Figura 2. Exemplu de aspect debugger al sistemului integrat de depanare software
Built-in debugger de software. care face parte dintr-un mediu de programare integrat nu permite să controleze funcționarea echipamentului conectat la picioarele exterioare ale microcontrolerului, dar reduce semnificativ costurile de depanare complexe necesare pentru a scrie programe pentru microcontrolere. Semnalele pe care echipamentul trebuie să le trimită microcontrolerului sunt setate de către programator însuși (ceea ce înseamnă că în acest stadiu pot apărea erori datorită unei neînțelegeri a funcționării echipamentului). Intrarea manuală a acestor semnale încetinește semnificativ procesul de depanare a software-ului.
Depanator extern de software. În unele cazuri, nu se folosește un mediu de programare integrat, ci un translator separat din limba de programare selectată. În acest caz, puteți utiliza orice program care emulează tipul de microcontroler selectat. Deoarece formatele obiectului diferitor traducători sunt puțin diferite unul de altul, fișierul de intrare este un modul de boot în format binar sau hexazecimal. În aceste formate, informațiile de depanare sunt complet absente, deci depanarea în astfel de programe se poate face numai cu dezasamblarea încorporată și cu lista de programe tipărite (sau deschise într-o altă fereastră). Firește, acesta este un mod de depanare chiar mai incomod, comparativ cu utilizarea mediului de programare integrat și a emulatorului în circuit.
Programarea microcircuitului. Atunci când se utilizează orice metodă de depanare a unui program, modulul încărcător încărcat este scris în memoria internă a programelor microcontrolerului cu ajutorul unui programator (care este inclus în multe microcircuite microcircuitice moderne). După aceasta, se efectuează o testare amănunțită a dispozitivului dezvoltat pentru a detecta erorile din circuit și din programul acestui dispozitiv. Numai după trecerea cu succes a acestui program de testare este considerat complet scris și raționalizat.
Când scrieți programe destul de simple, uneori numai această ultimă etapă de testare este folosită pentru depanarea programelor. Cu toate acestea, găsirea, găsirea și remedierea erorilor folosind această metodă singură este foarte laborioasă! Este la fel ca încercarea de a configura instrumentul fără a folosi instrumentele!
Metode pentru programele de depanare
Programele de depanare sunt pentru a verifica funcționarea corectă a programului și hardware-ului. Un program care nu conține erori de sintaxă poate totuși să conțină erori logice care împiedică executarea de către program a funcțiilor pe care le conține. Erorile logice pot fi asociate cu algoritmul programului sau cu o neînțelegere a funcționării echipamentului conectat la porturile microcontrolerului.
Built-in integrat de programare debugger de mediu vă permite să depanare acele părți ale codului de program care nu depind de funcționarea echipamentelor care nu fac parte din microcircuit microcircuit. Aceasta se referă de obicei la calculul expresiilor matematice sau la transformarea formatelor de reprezentare a datelor.
Pentru programele de depanare, se folosesc de obicei trei metode:
- Debugarea pas cu pas a programelor cu acces la subrutine;
- Debugarea pas cu pas a programelor cu executarea unei subrutine ca operator;
- Rulați programul la punctul de întrerupere.
Debugarea pas cu pas a programelor este că se execută o singură declarație de program și apoi sunt controlate acele variabile la care trebuie să fie controlat acest operator.
Dacă programul a depistat deja subrutine, atunci subrutina poate fi considerată ca un operator de program și să utilizeze al doilea mod de depanare a programelor.
Dacă programul are o secțiune destul de mare a programului deja depistată mai devreme, atunci poate fi executată fără a controla variabilele la care aceasta afectează. Utilizarea punctelor de întrerupere vă permite să săriți o parte deja depreciată a programului. Punctul de întrerupere este setat în locurile în care este necesar să se verifice conținutul variabilelor sau pur și simplu să se verifice dacă acest operator este controlat.
Practic toți debuggerii suportă această proprietate (precum și executarea programului înainte de cursor și ieșirea din subrutină). Apoi, depanarea programului continuă într-un mod pas cu pas cu controlul variabilelor locale și globale, precum și a registrelor interne ale microcontrolerului și a tensiunilor pe ieșirile acestui microcircuit.
Practic toți debuggerii vă permit să verificați conținutul registrelor de lucru ale băncii curente.
Împreună cu articolul "Programe multimodul" citiți: