Luați proiectul ring.rar pentru experiment. Este simplu și implică o întrerupere.
Deschidem-o în IAR.
Selectați configurația Debug.
Setați setările pentru proiect Proiect> Opțiuni Linker fila Output (Ieșire).
Debifați caseta de validare Suprascrie implicit dacă este bifată.
Selectați butonul radio Altele și din lista drop-down Format ieșire> ubrof 8 (forțat)
Ok, compilam proiectul.
Dacă totul a mers fără erori, căutați fișierul ring1.dbg în dosarul proiect> Debug> Exe
Pornește AVR Studio.
Se deschide Expertul proiect. Dacă nu se deschide - executați manual Project> Project Wizard.
Faceți clic pe Deschidere și specificați calea la ring1.dbg.
Studioul va oferi salvarea fișierului ring1_dbg.aps în dosarul proiectului. Suntem de acord.
Apoi se va deschide fereastra pentru selectarea platformei de depanare și a microcontrolerului - selectați AVR Simulator și ATMega8535
Faceți clic pe Finalizare.
Deci, proiectul a fost deschis și modul de depanare este deja în desfășurare.
Nu voi intra în detaliile de depanare în AVR Studio, mă voi concentra doar pe câteva puncte.
Execuția pas-cu-pas a programului are loc atunci când este apăsat butonul F11 (Pas Into). Este posibil să executați programul pe si, și este posibil pe asamblare. În mod implicit, se deschide un fișier sis, asamblarea se deschide prin meniul View> Disassembler sau prin utilizarea pictogramei Toggle Disassembler Window.
Comutați fereastra de dezasamblare
Butonul F5 (Run) pornește execuția programului într-un mod continuu. Acest lucru are sens dacă programul conține puncte de oprire (puncte de oprire). De exemplu, dorim să verificăm execuția codului în întreruperea temporizării. Cum să ajungem la ea? Puneți cursorul la începutul întreruperii și apăsați F9 (Comutare întrerupere). În stânga cursorului apare un cerc roșu, acesta este un punct de întrerupere. Porniți programul în mod continuu - F5. Programul va rula până când temporizatorul va întrerupe.
Pentru a elimina punctul de întrerupere, trebuie să plasați cursorul de lângă acesta și să apăsați din nou F9. Toate punctele de întrerupere sunt eliminate, făcând clic pe pictograma Ștergere totală a programului.
Eliminați toate Punctele de întrerupere a programului
Puteți rula programul înainte de cursor. Puneți cursorul în locul dorit și apăsați Ctrl + F10 (Run to Cursor).
Mergeți la începutul programului apăsând Shift + F5 (Resetare).
În timpul depanării, adesea trebuie să observați schimbarea valorilor variabilelor sau registrelor. În aceste scopuri, programul de depanare AVR Studio are o fereastră de vizionare. Pentru ao deschide, selectați Vizualizare> Vizionați sau faceți clic pe pictograma Toggle Watch Windows. Fereastra de vizionare este un tabel cu 4 coloane: Nume, Valoare, Tip, Locație. Numele, valoarea, tipul și locația în memorie, respectiv.
Toggle Watch Windows
De asemenea, AVR Studio are ferestre pentru monitorizarea conținutului memoriei (date, EEPROM, I / O, program, înregistrare). Se deschide în meniul Vizualizare> Fereastra de memorie sau cu pictograma Toggle Window Memory.
Comutați fereastra de memorie
Monitorizarea RAM poate oferi informații despre gradul de utilizare a stivei. Există un punct. Compilatorul IAR utilizează 2 stive - RSTACK și CSTACK.
CSTACK sau stivă de date - pentru salvarea variabilelor automate în funcții, parametrii funcției. Registrul stivei de date este perechea de registre YH: YL.
Valorile registrelor SP și Y sunt afișate în AVR Studio în partea stângă a filei Procesor.
Mărimile ambelor stive sunt specificate în IARe - Opțiuni> Opțiuni generale> Sistem.
Și ultimul. Dacă încercați să modificați codul programului din AVR Studio, nu veți reuși. Codul programului trebuie schimbat în IARe. Facem schimbări, compilam proiectul și trecem la studio. Vă solicită imediat să actualizați fișierele deschise.