This is an old revision of the document!


Kodulabori tarkvara

Kodulabori tarkvarapakett koosneb järgnevates osadest:

  • JTAG-ICE driver
    See on USB-JTAG programmaatori ajur mille abil saab Windowsis AVR-ile programmi peale laadida ja seda siluda.
  • WinAVR
    Tegu on AVR-GCC kompilaatori ja AVR-LibC paketiga Windowsi jaoks. Selle abil kompileeritakse AVR programme.
  • AVR Studio
    Atmeli arendusliides (IDE) milles saab kirjutada programmi ja mis teeb WinAVRi kasutamise lihtsamaks.
  • Homelab library
    Teek, mis on kirjutatud spetsiaalselt Kodulabori moodulite lihtsamaks kasutamiseks. Sellel põhinevad ka praktilised harjutused.

Kodulabori rakendused

Kodulabori praktilised koodinäited on koostatud Kodulabori teegi (Homelab library) baasil. Teegis on ära kirjutatud enamkasutatavad AVR-i spetsiifilised operatsioonid ja moodulitega seotud protseduurid. See tähendab, et kasutaja ei pea moodulite kasutamiseks kirjutama riistvaralähedast programmikoodi, kuigi see võimalus on olemas. Riistvaraga suhtleva tarkvara eraldamine näidisprogrammidest võimaldab kasutajal lihtsamini keskenduda oma algoritmi loomisele. Tarkvara arhitektuur näeb välja järgmine:

Tase Selgitus Koht kus sisaldub
Rakendus Kasutaja loodud- või näidisprogramm Raamat, veeb
Moodulite teek Kodulabori moodulite käitlemise funktsioonid Homelab library
AVR riistvara teek AVR mikrokontrolleri perifeeria funktsioonid Homelab library
AVR-LibC AVR mikrokontrolleri registrite nimetused ja C standardteek WinAVR
AVR-GCC AVR GCC kompilaator WinAVR

Iga tarkvara kiht sõltub alumisest. Kõige aluseks on AVR GCC kompilaator mis teisendab C keele programmikoodi AVR mikrokontrollerile arusaadavasse masinkoodi. Teisel kihil on AVR-i C keele standardfunktsioonide teek (inglise keeles library) mis sisaldab üldkasutatavaid funktsioone mäluhalduseks, tekstitöötluseks, andmeedastuseks, jms. Mis aga kõige olulisem – AVR-LibC sisaldab AVR registrite ja bittide nimelisi makro keele definitsioone. Ilma nendeta peaks kasutaja ise registritele vastavaid mäluaadresse teadma ja programmeerimine oleks palju keerulisem. AVR riistvara teek on kodulabori teegi üks osa mis sisaldab funktsioone olulisema AVR perifeeria kasutamiseks (näiteks digitaalsed viigud, analoog-digitaal muundur, jne). Lisaks on selles teegis ka üldkasutatavad bititehete makro-funktsioonid ja tõeväärtus konstandid. Teegis on ka kodulabori moodulite kasutamise funktsioonid (näiteks ekraanide ja mootorite protseduurid) mis baseeruvad AVR riistvara teegi osal. Kõige kõrgemal on tarkvara-arhitektuuri lõplik rakendus, mis on siis kas raamatu näidisprogramm või kasutaja enda rakendus. Rakenduses võib kasutada ükskõik millise alamtaseme tarkvara funktsionaalsust - ehk nagu öeldud see ei pea põhinema ainult kodulabori teegil.

Täiendavalt teadmiseks kodulabori kasutajale:

Kodulabori näidisprogrammid ja teek on kirjutatud ühes stiilis, et programmikood oleks ülevaatlikum. Ühtne stiil teeb programmi loetavaks ja välistab kergemate süntaksi vigade tekkimist. Kindlat stiili on soovitatav ka harjutusülesannete tegemisel järgida. Stiili peamised iseloomustajad:

  • Programm, selle funktsioonid ja muutujad on inglisekeelsed ning väiketähtedega, kus sõnasid eraldab alakriips.
  • Funktsioonid on kujul objekt_tegevus_subjekt.
  • Olulisemad kohad programmis on kommenteeritud eesti keeles.
  • Iga C keele plokk (tähistatud loogeliste sulgudega { ja } ) algab ja lõpeb eraldi real.
  • Plokid on tabuleeritud tabulaatori klahviga. Rea-siseselt tabulaatorit ei kasutata.
et/software.1257433588.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0