| AVR Dragon |
AVR Dragon je razvojni alat koji se koristi za programiranje i emulaciju rada atmelovih mikrokontrolera. AVR Dragon podržava sve načine programiranja i može emulirati rad većine AVR mikrokontrolera čija veličina fleš memorije ne prelazi 32 kB. Jednostavnom nadogradnjom upravljačkog programa u AVR Dragonu, pomoću AVR studia, dodaje se podrška za nove atmelove mikrokontrolere. Ovaj proces se vrši automatski, tj. kada se AVR dragon priključi preko USB porta na računar i pokretanjem AVR studia automatski se provjeri da li se poslednja verzija upravljačkog programa nalazi u AVR dragonu. Ako postoji nova verzija upravljačkog programa otvara se prozor sa porukom da se izvrši nadogradnja postojećeg programa. AVR dragon podržava sljedeće interfejse za programiranje i emulaciju: Programiranje:
Emulacija:
Pomoću AVR Dragona moguće je programirati i emulirati rad atmelovog mikrokontrolera koji se postavalja direktno na prototip prostor na pločici AVR Dragona ili povezati AVR Dragon sa vanjskim uređajem na kojem se nalazi atmelov mikrokontroler. Ovdje će biti prikazana primjena AVR Dragona za ISP način programiranja i debugovanje koristeći debugWIRE, pri čemu će AVR Dragon biti povezan sa vanjskim uređajem koji sadrži atmelov mikrokontroler Atmega88. AVR Dragon napaja se preko USB kabla i može u toku programiranja ili emulacije napajati vanjski uređaj sa atmelovim mikrokontrolerom čija potrošnja ne prelazi 300mA. Napon napajanja je 5V. Ako vanjski uređaj na koji je priključen AVR Dragon ima svoje napajanje, tada će AVR Dragon sve potrebne signale konvertovati i prilagoditi ih na odgovarajuću amplitudu u cilju ostvarivanja komunikacije između njih. Potrebno je obratiti pažnju da se napon napajanja vansjkog uređaja kreće u granicama od 1.8 do 5.5V. Potrebni uslovi za upotrebu AVR Dragona su sljedeći:
Potrebno je skrenuti pažnju na posebne uslove:
![]()
Slika 1
Pored USB konektora postoje dvije led diode koje služe za indikaciju stanja AVR Dragona. Jedna led dioda detektuje prenos podataka preko USB porta i blinka zeleno, a druga može da ima 4 boje koje znače sljedeće:
S obzirom da ćemo koristiti ISP način programiranja korisno je pogledati ISP konektor i način povezivanja AVR Dragona sa vanjskim uređajem na kojem se nalazi atmelov mikrokontroler Atmega88. Na sljedećoj slici prikazan je 6-pinski ISP konektor.
Slika 2
Prednost korištenja ISP načina programiranja je ta što se mikrokontroler može progrmiranti direktno na vanjskom uređaju, tj. bez potrebe skidanja mikrokontrolera, pod uslovom da u uređaju postoji priključak za ISP konektor. Napajanje vanjskog uređaja treba da je u granicama od 1.8 do 5.5V, jer pri tom naponu AVR Dragon može konvertovati i prilagoditi potrebnu amplitudu signala za komunikaciju. Da bi AVR Dragon konvertovao i prilagodio amplitude odgovarajućih signala za komunikaciju, on automatski detektuje vrijednost napona vanjskog uređaja preko pina 2 ISP konektora i prema tome vrši prilagođavanje. Povezivanje ISP konektora na AVR Dragonu sa ISP konekotorm na vanjskom uređaju vrši se tako što se povezuju signali MISO sa MISO, MOSI sa MOSI itd., a na sljedećim slikama prikazan je način priključenja 6 pinksog ISP konektora na AVR Dragon.
Slika 3
Slika 4
Potrebno je napomenuti da se na ovaj način ostvaruje i debugWIRE interfejs, što znači da se povezivanjem AVR Dragona i vanjskog uređaja preko ISP konektora otvaruje potrebna veza za programiranje i debugovanje atmelovog mikrokontrolera koji se nalazi na vanjskom uređaju. Na slici 5, prikazan je povezan AVR Dragon sa vanjskim uređajem koji sadrži atmelov mikrokontroler Atmega88, preko ISP konektora.
Slika 5
Povezivanje AVR studia i AVR Dragona vrši se klikom na ikonicu CON (Display the ‘Connect’ Dialog). U prozoru koji se otvori označi se AVR Dragon i klikne na dugme Connect, slika 6.
Slika 6
Nakon povezivanja otvara se glavni prozor u kome se vrši izbor mikrokontrolera, a u ovom slučaju to je mikrokontroler Atmega88. Klikom na dugme Read Signature poredi se oznaka selektovanog mikrokontrolera sa mikrokontrolerom na ploči i ako je sve uredu, pokaže se poruka Signature matches selected device (slika 7).
Slika 7 Klikom na Program otvara se prozor preko koga se vrši programiranje mikrokontrolera. U ovom prozoru moguće je obrisati memoriju mikrokontrolera i programirati fleš i/ili eeprom memoriju. Programiranje fleš memorije je jednostavno, potrebno je selektovati željenu hex datoteku i kliknuti na dugme Program u fleš okviru, kao što je prikazano na sljedećoj slici (slika 8):
Slika 8
Na ovaj način izvršeno je porgramiranje fleš memorije mikrokontrolera Atmega88 koji se nalazi u vanjskom uređaju, a koji je preko ISP konektora povezan na AVR Dragon. Sada ćemo pokazati kako se vrši debugovanje korsiteći AVR Dragon. S obzirom da se radi o debugWIRE interfejsu, ništa nije potrebno mijenjati u povezivanju AVR Dragona i vanjskog uređaja sa atmelovim mikrokontrolerom, tj. veza ostaje ista kao i za programiranje mikrokontrolera. U cilju demonstracije debugovanja koristiće se modifikovani programski kod iz prethodnog članka koji vrši demonstraciju poziva vanjskog prekida. Programski kod je sljedeći: #include <avr/io.h>
Slika 9
Klikom na dugme Yes i zatvaranjem prozora, ulazi se u mod za debugovanje. Sada se mogu podesiti željene prekidne tačke tako što se kursor dovede na mjesto prekidne tačke i klikne se na Debug->Toggle Breakpoint, nakon čega se pojavljuje crvena tačka sa lijeve strane. Postavljanjem prekidnih tačaka može se pokrenuti debugovanje, klikom na Debug->Start Debugging. Na desnoj strani AVR Studia može se pratiti stanje u unutrašnjosti mikrokontrolera, tj. stanje u registrima, tajmerima, procesoru i slično. Na sljedećoj slici (slika 10) prikazane su postavljene prekidne tačke i stanje registara koji se prate.
Slika10 (klikni na sliku da uvećaš)
Klikom na dugme Step into ili na dugme F11 na tastaturi prelazi se na sljedeću naredbu i prati se stanje željenih registara ili promjenljivih. U trenutku poziva prekida kursor automatski skače na prekidnu rutinu kao što se vidi na sljedećoj slici (slika 11):
Slika 11
Klikom na F11 prolazi se kroz sve naredbe u prekidnoj rutini. Na ovaj način vrši se debugovanje i kontrola rada mikrokontrolera koristeći debugWIRE interfejs. Nakon završetka debugovanja potrebno je obratiti pažnju na način izlaska iz ovog moda. Zaustavljanjem debugovanja još uvijek je aktivan debugWIRE interfejs, tj. ne može se izvršiti programiranje mikrokontrolera koristeći ISP interfejs, jer je bit-osigurač DWEN programiran. Izlazak iz moda za debugovanje vrši se tako što se u toku rada debugovanja, znači ne stopira se debugovanje nego se odmah klikne na Debug->AVR Dragon Options ili ako je ta opcija neaktivna (onemogućena) tada se prvo klikne na Break (pauza) i onda na AVR Dragon Options, nakon čega se otvara prozor prikazan na sljedećoj slici (slika 12).
Slika 12
Na ovom prozoru potrebno je kliknuti na dugme Disable degugWIRE, nakon čega se otvara prozor sa potvrdom da li želimo napustiti debugWIRE. Klikom na YES izlazi se iz moda za debugovanje i vraća se u početno stanje.
Slika 13
Ovdje je ukratko opisana primjena AVR Dragona za programiranje i degubovanje atmelovog mikrokontrolera Atmega88 koji se nalazio u vanjskom uređaju, a koji ima ISP konekotr. Na sličan način može se vršiti programiranje i degubovanje svih mikrokontrolera koje podržava AVR Dragon. Više informacija o karakteristikama AVR Dragona i njegove primjene koristeći druge načine programiranja i debugovanja mogu se naći na atmelovom sajtu www.atmel.com.
|










