Table of Contents

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 → Eclipse HomeLab pakk

Linux Ubuntu

Tarkvara allalaadimine → Homelab-keyring

Linux/muud ja Mac OS

Paigaldage järgmine tarkvara:

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.

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

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.

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.

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

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 <avr/io.h>
 
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

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.

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.

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 <avr/io.h>
#include <homelab/delay.h>
 
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.

Oluline on kontrollida, et nüüd oleks Programmer configuration valikus midagi valida ja juhul kui eelnevalt midagi ei muudetud on selleks: New Configuration.

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!

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.

3. Vajutada OK ja sulgeda seadete aken.