====== Arenduskeskkond Eclipse ======
Kui arendustarkvara on paigaldatud saab alustada programmi kirjutamist, kuid eelnevalt on vaja teha siiski mõned seadistused ja luua projekt.
Uus projekt, sisaldab endas tüüpiliselt palju erinevaid faile: programmikoodi(e), päisfaile, kompileeritud programmi jne. Selleks, et projektid oleks korrektselt eristatavad, tuleks iga projekti jaoks luua uus kataloog (seda võimalust pakub uue projekti loomise abimees).
Uut projekti saab Kodulabori puhul luua kahel erineval viisil: 1) automaatselt kasutades eeldefineeritud projekti //template// faili 2) seadistada uus projekt käsitsi
Kui Tarkvara on äsja paigaldatud, on esmalt vaja tekitade projektide repositoorium ehk //Workspace//. Selleks näidake avanenud aknas //Workbench// asukoht, kuhu soovite projektide repositooriumi luua.
{{:software:eclipse:eclipse0.jpg?520|}}
{{:software:eclipse:eclipse1.jpg?500|}}
===== Eeldefineeritud projekti importimine =====
**1.** Avada Eclipse (Robotic HomeLab IDE) ja alustada projekt importimist.
Olemasoleva projekti importimiseks tuleb valida menüüst //File - Import ... - General - Existing Project into Workspace//. Vajutada nupule //Next//.
{{:software:eclipse:eclipse_import1.png?400|}}
**2.** Järgmises aknas tuleks valida //Select archive file:// ning näidata pakitud projekti //template// fail, milleks on ATmega2561Example.zip.
Antud fail asub Eclipse paigalduskaustas Windows op. süsteemi korral nt C:\Eclipse ja Linux op. süsteemi korral /usr/share/eclipse/
{{:software:eclipse:eclipse_import2.png?400|}}
Projekti lõplikuks importimiseks vajutada nupule //Finish//.
**3.** Luuakse eelseadistatud projekti keskkond, kus on juba olemas algkoodi fail näitekoodiga. Lähtekoodi faili avamiseks avage projekti puu ja topeltklõpsuga main.c fail.
Edasi tutvuda projekti seadistamise osaga.
===== Uue projekti loomine =====
**1.** Avada Eclipse (Robotic HomeLab IDE) ja alustada uue projekt seadistamist.
Uue projekti loomiseks tuleb valida menüüst //File - New - C project//. Lisada projekti nimi ning vajutada nupule //Next//.
**2.** Järgmises aknas tuleks projekti konfiguratsiooniks valida ainult Release
{{:software:eclipse:eclipse3.jpg?400|}}
**3.** Järgnevalt avaneb aken, kus tuleb märkida mikrokontrolleri tüüp ja taktsagedus. Kodulabori (v5) mikrokontrolleriks on //ATmega2561// ja taktsageduseks 14745600 Hz. Projekti lõplikuks loomiseks vajutada nupule //Finish//.
{{:software:eclipse:eclipse4.jpg?400|}}
**4.** Nüüd avaneb juba programmeerimise kasutajaliides, kuid enne, kui saab hakata programmi kirjutama, on vaja tekitada algkoodi fail. Selleks valige äsjaloodud projektil hiire parema klahviga //New - Source File// ja sisestage soovitud faili nimi, mis peab kindlasti lõppema laiendiga ".c". Soovitav on peafaili nimeks valida "main.c". Peale //Finish// nupu vajutamist luuakse vastav fail ja avatakse see arenduskeskkonda.
{{:software:eclipse:eclipse5.jpg?400|}}
===== Eclipse keskkonna seadistamine =====
Enne lähtekoodi kirjutamist on mõistlik teha mõned seadistused, mis peaks hõlbustama arenduskeskkonna kasutamist.
Valige menüüst //Window - Preferences// ja avage vasakul olevast puust //General - Workspace// ning märkiga ära valik //Save automatically before build//
{{:software:eclipse:eclipse6.jpg?400|}}
**6.** Edasi võib hakatuseks kopeerida alloleva testprogrammi lähtekoodi ja üritada seda kompileerida. Kompileerimiseks võib kasutada klahvikombinatsiooni CTRL+B.
//Lihtne testprogramm, mis ei kasuta Kodulabori teeki.
#include
int main(void)
{
unsigned int x,y;
// Viigu PB7 seadmine väljundiks
DDRB = 0x80;
// Lõputu tsükkel
while (1)
{
// Viigu PB7 inverteerimine
PORTB ^= 0x80;
y=3200;
while(y--){
x=260;
while(x--){
asm volatile ("nop");
}
}
}
}
Kompileerumise õnnestumiseks peab olema tarvarakood ilma vigadeta ja kompilaator peab leidma kõik vajalikud päisfailid. Eduka kompileerumise tunnuseks on //Problem// aknas tühjus (äärmisel juhul mõni hoiatus //Warning//) ja //Console// aknas kompilaatori väljund mis antud projekti puhul on midagi sellist:
AVR Memory Usage
----------------
Device: atmega2561
Program: 308 bytes (0.1% Full)
(.text + .data + .bootloader)
Data: 0 bytes (0.0% Full)
(.data + .bss + .noinit)
Finished building: sizedummy
{{:software:eclipse:eclipse7.jpg?520|}}
Kui koodis oli viga või ei leitud päisfaile, siis on //Console// aknas viimasel real veateade koos leitud vigade arvuga, millele eelneb leitud võimaliku vea kirjeldus.
../main.c: In function 'main':
../main.c:23: error: expected ';' before 'while'
../main.c:13: warning: unused variable 'x'
make: *** [main.o] Error 1
Samuti on //Problems// aknas erinevad veateated ja vastav koht koodis märgitakse vea ikooniga.
{{:software:eclipse:eclipse8.jpg?520|}}
**7.** Kodulabori teegi kasutamine eeldab, et see on tarkvara paigaldamise juhendi kohaselt süsteemi paigaldatud. Iga projekti korral tuleb teek projekti seadetest lisada lingitavate objektide nimekirja. Selleks avada esmalt: //Project -> Properties// ja seejärel vasakust puust //C/C++ Build -> Settings//, edasi //Tool Settings -> AVR C linker -> Libraries//. Paremal avanenud aknas valida //Libraries (-l)// osas ikoon //Add...// ja sisestada avanenud aknasse homelab2561. Seejärel //OK// ja veelkord //OK//.
{{:software:eclipse:eclipse10.jpg?520|}}
**8.** Edasi võib teegi testimiseks kopeerida alloleva testprogrammi lähtekoodi eelmise asemele ja üritada seda kompileerida. Kompileerimiseks võib kasutada klahvikombinatsiooni CTRL+B.
//Lihtne testprogramm, mis kasutab Kodulabori teeki.
#include
#include
int main(void)
{
// Viigu PB7 seadmine väljundiks
DDRB = 0x80;
// Lõputu tsükkel
while (true)
{
// Viigu PB7 inverteerimine
PORTB ^= 0x80;
hw_delay_ms(500);
}
}
Kui ka selle koodi kompileerimine õnnestub, siis on kõik eelnevad seadistused tehtud õigesti.
===== Kontrollerile koodi laadimine =====
**1.** Ühendada kontrollerplaat USB kaabliga arvutiga. Peale kontrollerplaadi ühendamist peaks (esmasel ühendamisel teatud aja pärast) süttima väike roheline toite LED - PWR.
**2.** Määrata programmi laaduri (AVRDude) seaded. Selleks avada uuesti projekti seaded //Project -> Properties// ja seejärel vasakust puust //AVR -> AVRDude//, edasi //Programmer configuration -> New//. Avanenud aknas midagi eriti seadistada pole vaja ja võib kohe //OK// vajutada. Veenduge et see oleks valitud ja vajutage //Apply// ning //OK//.
{{:software:eclipse:eclipse9.jpg?520|}}
Oluline on kontrollida, et nüüd oleks //Programmer configuration// valikus midagi valida ja juhul kui eelnevalt midagi ei muudetud on selleks: //New Configuration//.
{{:software:eclipse:eclipse11.jpg?520|}}
**3.** Kui Kodulabori Kontrollermoodul on arvutiga ühendatud võib kompileeritud programmi nüüd üritada laadida kontrollerisse. Selleks vajutage lihtsalt AVR ikoonile või klahvikombinatsioon CTRL + Alt + U.
Programmi mõjul peaks kontrolleri plaadil olev oleku-LED PB7 perioodiliselt süttima ja kustuma. Kui programm töötab, on tarkvara paigaldatud edukalt ja esimene projekt tehtud. Palju õnne!
{{:kit:kit_2561_test.jpg?400|}}
===== Ujukoma-arvude kasutamine =====
Mõnikord tekib vajadus AVR programmis kasutada ujukoma-arve. Nendega arvutamiseks ja nende esitamiseks printf-tüüpi funktsioonidega tuleb projekti seadistustes teha järgmised muudatused:
1. Avada projekti seaded menüüst File → Properties. Vasakul paneelil avada C/C++ Build → Settings. Paremal avanenud valikust valida AVR C Linker → Libraries, kuhu tuleb lisaks kodulabori teegile lisada teegi objektid //printf_flt// ja //m// (libprintf_flt.a ja libm.a).
2. Seejärel tuleb avada AVR C Linker → General ja //Other Arguments// kasti lisada read rida //-uvfprintf//.
{{:examples:eclipse:eclipse_floating_point_libraries.png?520|}}
{{:examples:eclipse:eclipse_floating_point_printf.png?520|}}
3. Vajutada OK ja sulgeda seadete aken.