This is an old revision of the document!
Kodulabori tarkvarapakett koosneb järgnevates osadest:
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 | Koht kus sisaldub |
---|---|
Rakendus | Raamat |
Kodulabori moodulite teek | Homelab library |
Kodulabori AVR riistvara teek | Homelab library |
AVR-LibC | WinAVR |
AVR-GCC | 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-gcc ja avr-libc tulevad kaasa WinAVR paketiga ning nende sise-eluga pole tutvuda vaja.
Tutvumist vajab kodulabori teegi ja rakenduste (programmide) ülesehitus. Kuna paljudes näidisprogrammis eksisteerib sama funktsionaalsus (viikude operatsioonide, analoog-digitaal muundamine, jne) siis on korduvad programmilõigud kirjutatud teegi funktsioonidena, nii et neid saab mugavalt välja kutsuda ükskõik mis kohas ja mitu korda. Kodulabori teek on jagatud kodulabori moodulite ja/või alammoodulite järgi – igal mooduli kasutamiseks on oma funktsioonid. Moodulite funktsioonide nimed algavad nii nagu programmeerimisstiilgi ütleb - mooduli nimetusega.
Kodulabori teek moodustub mitmetest C programm- ja päisefailidest mida kasutaja saab oma projekti lisada. Raamatu kõik näited ja teek on saadaval digitaalse versioonina, mis moodustavad järgmise kataloogipuu:
Kõik Kodulabori näidisprogrammid on kirjutatud ühes stiilis, et programmikood oleks ülevaatlikum. Stiili peamised iseloomustused: