Avarice

Linux.fista
Versio hetkellä 4. huhtikuuta 2009 kello 06.59 – tehnyt Heikki (keskustelu | muokkaukset) (kehitystyökaluihin)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

Avarice on Atmelin AVR-mikroprosessoreiden JTAG-liitännän käyttöön tarkoitettu ohjelma, jolla voi siirtää ohjelmia mikrokontollerille ja debugata siellä ajettavia ohjelmia. Debuggaaminen tapahtuu GDB-debuggerin kautta, jolle avarice tekee pienen palvelimen haluttuun porttiin. GDB:ta ja avaricea ei välttämättä tarvitse ajaa samassa koneessa.

Debuggaus[muokkaa]

Käännä aluksi ohjelma debuggaussymbolien kanssa ja lataa se kontrolleriin valmiiksi. GDB:ta varten tarvitset lisäksi saman ohjelman ELF-binäärin, jonka esimerkiksi AVR-GCC oletuksena lähdekoodista tekee.

Avaricen ajaminen vaatii yleensä root-oikeudet. Pääkäyttäjänä aja seuraava komento:

avarice -j /dev/ttyUSB0 :4242

Yhdistää itsensä /dev/ttyUSB0 -sarjaportissa olevaan JTAG-liitäntään ja kuuntelee GDB:lta tulevia yhteyksiä portissa 4242. Ohjelma tulostaa muutaman rivin tietoa toiminnastaan, ja kertoo lopuksi odottavansa GDB:n yhteydenottoa: Waiting for connection on port 4242.

Nyt voit yhdistää AVR:aa varten käännetyn GDB:n (löytyy todennäköisesti Avaricen tarjoavista jakeluista valmiiksi paketoituna) Avariceen. Käynnistä ensiksi GDB:

avr-gdb ./ohjelma

GDB:n yhdistämiseksi Avariceen aja GDB:ssa ensin komento

target remote localhost:4242

Tarvittaessa korvaa localhost etäkoneella tai 4242 jollain muulla portilla, mikäli avarice pyörii jossain muualla tai portiksi valittiin joku muu kuin 4242.

Normaalista GDB:n käytöstä poiketen ohjelma on jo valmiiksi ajossa, joten run-komentoa ei pidä antaa. Ohjelma on kuitenkin aluksi pysäytettynä, joten tässä vaiheessa voi asetella breakpointteja ja muuten säädellä. Kun haluat ohjelman käyntiin, aja komento continue.