====== Arenduskeskkond Eclipse (Windows) ATmega2561 ======
Järgnev juhend kirjeldab Kodulabori versioon 5 (Kontroller v1 - ATmega2561) arenduskeskkonna paigaldamist ja esmast seadistamist.
===== Tarkvara paigaldamine =====
Paigaldamiseks laadige alla Robootika Kodulabori arenduskeskkond vastavalt oma operatsioonisüsteemile. Arenduskeskkond sisaldab endas Eclipse arenduskeskkonda, Eclipse AVR pluginat, Robootika Kodulabori teeki, Kodulabori programmeerimisvahendeid ja näidisprojekti.
**MS Windows**
Tarkvara allalaadimine -> [[et:files|Eclipse HomeLab pakk]]
**Linux Ubuntu**
Tarkvara allalaadimine -> [[et:files|Homelab-keyring]]
**Linux/muud ja Mac OS**
Paigaldage järgmine tarkvara:
* Eclipse
* Eclipse AVR plugin
* Hlinit
* Hlflash
* AVRdude mod.
* Robootika Kodulabori teek
===== Projekti loomine =====
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).
Uue projekti loomiseks tuleb läbida järgmised sammud:
**1.** Avada Eclipse (Robotic HomeLab IDE) ja alustada uue projekt seadistamist. 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|}}
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|}}
**5.**
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.