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 | 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 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: