This is an old revision of the document!


Arenduskeskkond Eclipse 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

Paigaldage järgmine tarkvara:

  • Eclipse
  • Eclipse AVR plugin
  • Hlinit
  • Hlflash
  • Robootika Kodulabori teek

Mac OS

  • Eclipse
  • Eclipse AVR plugin
  • Hlinit
  • Hlflash
  • 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 avage avanenud aksna Workbench ja näidake asukoht, kuhu soovite projektide repositooriumi luua.

PILT

Uue projekti loomiseks tuleb valida menüüst File - New - C project. Lisada projekti nimi ning vajutada nupule Next.

PILT

2. Järgmises aknas tuleks projekti konfiguratsiooniks valida ainult Release

PILT

3. Järgnevalt avaneb aken, kus tuleb märkida mikrokontrolleri tüüp ja taktsagedus. Kodulaboris (v5) mikrokontrolleriks on ATmega2561 ja taktsageduseks 14745600 Hz. Projekti lõplikuks loomiseks vajutada nupule Finish.

PILT

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.

PILT PILT

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

PILT

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

PILT

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.

PILT

6. Kodulabori teegi kasutamine AVR Studio-ga eeldab, et see on tarkvara paigaldamise juhendi kohaselt süsteemi paigaldatud. Iga projekti korral tuleb teek projekti seadetest Project → Configuration Options → Libraries lisada lingitavate objektide nimekirja.

Kui objekt libhomelab2561.a nimekirjast puudub, siis ei ole Kodulabori teek korrektselt süsteemi paigaldatud.

 

Seadistuste testimine

Kui arenduskeskkond on esimest korda paigaldatud ja seadistatud, on mõistlik testida, kas kõik sai tehtud õigesti. Selleks on lihtsaim viis teha üks väike programm, see ära kompileerida ja laadida kontrollerisse.

1. Ühendada kontrollerplaat USB kaabliga arvutiga. Peale kontrollerplaadi ühendamist peaks süttima väike roheline toite LED - PWR.

2. Käivita liidesprogramm HappyJTAG2 ja seejärel AVR Studio. Oluline on sammude järjekord. Esmalt tuleb ühendada kontroller arvutiga ja veenduda, et kontroller lülitub sisse. Seejärel käivitada programm HappyJTAG2 ja AVR Studio.

3. AVR Studios luua vajadusel projekt ja sisestada lihtne C-kood:

Testida võib kahte erinevat koodi. Esimene neist kasutab Kodulabori teeki, teine teeb sama asja ilma teegita.

//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);
	}
}
 
Kompileerimise ja programmaatori nupud

Kompileerida programm käsuga Build (kiirklahv F7) ja kontrollida, et kompileerimine õnnestus. Selleks peab teadete aknasse tekkinud kompilaatori väljundi lõpp olema järgmine:

Build succeeded with 0 Warnings...

 

4. Avada koodi laadimise aken nupust Tools → Program AVR → Auto Connect. Tulemuseks peaks avanema kompileeritud faili mikrokontrollerisse laadimise aken. Kontrollige, et avatud oleks kaart Program.

Kui eespool toodud aken ei avane ja avaneb aken Connection Failed, siis puudub ühendus programmaatoriga. Esmalt tuleks kontrollida, kas mikrokontrolleril on järel toide. Kui see on korras, siis tuleks kontrollida HappyJTAG2 programmi oleku indikaatoreid. FT2232 ja AVRStudio peaks olema rohelised.

5. Programmaatori aknas sisestada Flash-sektsioonis tekstikasti Input HEX File kompileeritud fail. Seda saab teha “…” nuppu vajutades. Kompileeritud fail asub tavaliselt projekti alamkataloogis default ja see on sama nimega, mis projekt, kuid laiendiga “.hex”, näiteks “labor1.hex”. Pärast õige faili valimist vajutada nupule Program, mis laeb valitud programmi kontrollerisse. Kui kõik õnnestus, tekib programeerimiskeskkonna allosasse teade:

OK
Reading FLASH input file.. OK
Setting device parameters for jtag programming ..OK
Entering programming mode.. OK
Erasing device.. OK
Programming FLASH ..       OK
Reading FLASH ..       OK
FLASH contents is equal to file.. OK
Leaving programming mode.. OK

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!

Siluri kasutamine

ATmega registrite loetelu siluris

Programmi silumiseks (inglise keeles debugging) nimetatakse vigade otsimist programmist. Selleks on loodud eraldi vahendid - silurid (inglise keeles debugger), mis võimaldavad programmi täita samm-sammult, peatades seda soovitud kohtades. Selline programmi täitmine võimaldab igas programmi faasis kontrollida muutujate väärtusi, registrite sisusid ja programmi täitmise järjekorda. Eriti oluline on silumise võimaluse kasutamine keerukamate programmide juures, kus vea põhjust on tihti keeruline otsida. Mikrokontrollerite puhul on veel oluline, et tarkvara samm-sammult täitmine toimub reaalselt kontrolleris ja võimaldab nii lisaks registrite väärtuste vaatamisele näha ka reaalsete väljundite muutumist. Siluri kasutamiseks on eelkõige vaja kahte tingimust: kasutatav mikrokontroller peab silumist toetama ja peab olema silumist toetav riistvara - JTAG programmaator. Odavamad programmaatorid, mis kasutavad ISP programmeerimise liidest, võimaldavad laadida kontrollerisse kompileeritud programmi, kuid ei võimalda silumist.

Programmi käivitamiseks siluri režiimis AVR Studio-ga tuleks see esmalt kompileerida nupuga Build (kiirklahv F7) ja käivitada kompileeritud programm käsuga Run (kiirklahv F5). Programmi lähtekoodi võib enne seda soovitud kohtadele lisada katkestuspunkte (inglise keeles break point) (kiirklahv F9). Kui programmi täitmine jõuab katkestuspunktini, peatatakse programmi töö, võimaldades nii uurida mikrokontrolleri olekut sellesse punkti jõudmisel. Programmi täitmist võib jätkata jällegi käsuga Run või siis kasutada käskhaaval täitmist käsuga Step Into (kiirklahv F11).

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 Project → Configuration Options. Seadete kaardil Libraries tuleb sinna, kuhu on lisatud Kodulabori teegi objekt libhomelab.a, järgi lisada ka libprintf_flt.a ja libm.a.

2. Seejärel tuleb avada Custom Options kaart ja valida [All files] sektsioon. Parempoolsesse kasti lisada read “-lprintf_flt” ja “-lm”. [Linker Options] sektsiooni lisada rida “-uvfprintf”.

3. Vajutada OK ja sulgeda seadete aken.

et/examples/setup/windows/eclipse_v5.1319487296.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0