Arenduskeskkonnad

AVR mikrokontrolleri programmeerimiseks on vaja koodi kirjutamise keskkonda, vastava keele kompilaatorit ja kompileeritud programmi kontrollerisse laadimise tarkvara. Lisaks on antud raamatu näidete juures kasutatud palju tarkvarateeki, mis lihtsustab oluliselt riistvaraga suhtlemist ja lühendab koodi. Mugavaim on kasutada kõigeks selleks spetsiaalset integreeritud arenduskeskkonda ehk IDE (Integrated Development Environment). AVR mikrokontrollerit on võimalik programmeerida paljudes erinevates programmeerimiskeeltes: assembler, C, C++, Pascal, Basic jne. Käesolev raamat on suunatud C-keele kasutamisele mikrokontrolleri programmeerimisel. AVR mikrokontrolleri C-keeles programmeerimiseks on olemas nii Atmeli enda tarkvara - AVR Studio, kui ka avatud lähtekoodiga tasuta tarkvara nt Eclipse, Code::Blocks erinevatele operatsioonisüsteemidele. Lisaks programmeerimiskeskkondadele on vaja kompilaatorit ja kompileeritud programmi kontrollerisse laadijat. Lisaks on enamasti kasutusel mingi teek, mis võib ka olla iseseisev tarkvarapakett või lihtsalt failide kogum, mis tuleb projekti lisada. Kompilaatoriks kasutatakse C keele puhul vabavaralist avr-gcc kompilaatorit ja programmi laadimiseks kontrollerisse vabavaralist dfu-programmer või MS Windows keskkonnas ka Atmel Flip programmi.

AVR kiipide tootja Atmel pakub arenduskeskkonnana tarkvarapaketti AVR Studio, mis on põhjalik ja paljude võimalustega programmeerimise keskkond. Selle eeliseks on täielik Atmeli loodud riistvara tugi ning sisseehitatud simulaatori ja siluri tugi. Puuduseks võib lugeda väga mahukat tarkvarapaketti, mis ei pruugi aeglasemates arvutites piisavalt kiirelt käivituda. Samuti puudub Linux-i ja MacOs-i versioon. AVR Studio saab laadida alla Atmeli kodulehelt.

CodeBlocks on vabavaraline ja multiplatvorm programmeerimise arenduskeskkond, mida saab kasutada ka mikrokontrollerite koodi koostamiseks. CodeBlocks-i eelis on tema lihtsus ja väiksus. Samuti ennustab CodeBlocks edukalt sisestatavaid käske, mis teeb programmikoodi kirjutamise kiiremaks ja aitab ennetada näpuvigasid. CodeBlocks on Robootika Kodulabori ametlikult toetatud ja soovitatav tarkvarapakett. Robootika Kodulabori kasutamiseks on koostatud spetsiaalne CodeBlocks-i baasil tarkvarapakett, mis sisaldab kõiki vajalikke tarkvaramooduleid koheseks kasutamiseks. Selle tarkvarapaki leiab Robootika Kodulabori veebilehelt http://home.roboticlab.eu/et/files

Eclipse on levinud vabavaraline programmeerimise platvorm, mida kasutatakse väga erinevate programmide loomiseks. Peamiselt kasutatakse seda küll arvutitarkvara koostamiseks, kuid Eclipse omab AVR kontrolleri pistikprogrammi (inglise keeles plugin), mis võimaldab lihtsalt koostada ja kompileerida programmikoodi ka AVR mikrokontrollerile. Eclipse puuduseks võib lugeda tema Java põhisust, mis teeb selle käivitamise ja kasutamise mõnede süsteemide korral aeglaseks ja sõltuvaks Java versioonist. Samuti on Eclipse-i projektide struktuur algajale keerukam mõista ja sellest tulenevalt võib juhtuda, et ei kompileerita õiget projekti. Eeliseks on Eclipse sõltumatud operatsioonisüsteemist ja universaalsus erinevate tarkvaralahenduste loomiseks.