Eclipse je ďalšie z mnoha IDE, v ktorom píšeme zdrojový kód a ladíme programy. Tento nástroj, ktorý okrem iného ponúka príjemné pracovné prostredie, debuger a nemalé množstvo rozširujúcich pluginov, je možné používať bezplatne.
V tomto článku popisujem, ako sa inštaluje Eclipse, používa a naprogramujeme si i jednoduchú aplikáciu. Tak poďme na to.
Tento článok popisuje, ako nastaviť Eclipse a AVR Eclipse plugin, aby bolo možné vyvíjať programy pre Arduino Uno na počítači so systémom Windows. Malo by to fungovať aj pre ostatné dosky Arduina.
Existuje mnoho článkov na internete o vývoji programov pre Arduino, ale väčšina z nich sú zastaralé, príliš komplikované, založené na systéme Linux a tak ďalej. To je úplne prirodzené vzhľadom na rýchlosť, s akou sa menia nástroje, takže tento článok bude skôr či neskôr tiež zastaralý. Ale teraz (začiatkom roka 2017) by mal fungovať dobre a verím, že je tiež „primerane jednoduchý“. Tento článok je založený na Eclipse Neon s AVR Eclipse plugin a Arduino IDE 1.8.1.
Asi Vám netreba povedať, prečo používať Eclipse namiesto Arduino IDE. Ak máte v pláne vytvárať zložitejšie projekty s Arduinom alebo dokonca sa vidíte ako softvérový vývojár, čoskoro Vám Arduino IDE nebude postačovať. A potom existujú dve hlavné možnosti: Eclipse alebo Atmel Studio. Ak toto čítate, pravdepodobne ste sa rozhodli pre Eclipse.
Akonáhle ste si vybrali Eclipse, existujú dve hlavné cesty, ktoré si môžete vybrať:
Prvá cesta je jednoduchšia, zaraďuje sa niekde medzi reálnym svetom programovania a Arduino IDE. Napríklad možnosti nastavenia kompilátora sú veľmi obmedzené. Ale i tento plugin sa rýchlo rozvíja, takže možno v aktuálnej verzii sa veci zlepšili. Tento článok je o druhej ceste, pomocou AVR Eclipse plugin.
Inštalácia
Budeme potrebovať nasledujúce nástroje:
- Arduino IDE zo stránok www.arduino.cc
- Eclipse IDE zo stránok www.eclipse.org
- AVR Eclipse plugin for Eclipse - nainštalovaný bude v Eclipse, nesťahujte samostatne
- MinGW tools zo stránok www.mingw-w64.org
Aduino IDE
Ako prvé nainštalujeme Arduino IDE. Návod na inštaláciu som popísal v tomto článku.
Eclipse IDE
Inštalačné súbory stiahneme zo stránok eclipse.org a to buď ako inštalátor alebo ako .zip súbor.
- .exe inštalátor - stiahneme inštalačný súbor kliknutím na Download, po stiahnutí a spustení vyberieme položku „Eclipse IDE for C/C++ Developers“ a necháme naištalovať aplikáciu
- .zip archív - klikneme na „Download Packages“, vyberieme „Eclipse IDE for C/C++ Developers“ a v pravo pod download links stiahneme .zip súbor, ktorý potom stačí rozbaliť do akéhokoľvek adresára v počítači a spustiť eclipse.exe. Vytvoriť si môžete i zástupcu na plochu.
Po spustení Eclipse, je potrebné vybrať miesto pre váš pracovný adresár (workspace). Jedná sa o adresár v počítači, kde budú umiestnené všetky vaše projekty. Neskôr môžete použiť niekoľko pracovných adresárov a zmeniť predvolené umiestnenie, ale teraz odporúčam použiť ponúkaný východiskový adresár. Okno prostredia po spustení vyzerá takto:

AVR Eclipse plugin
Teraz, keď už máme Eclipse nainštalovaný a spustený, klikneme v menu na „Help > Install New Software“. Do kolonky „Work with:“ zadáme nasledovnú adresu https://avr-eclipse.sourceforge.net/updatesite a stlačíme enter. Po chvíli sa nižšie zobrazí uvedený zoznam s položkou „AVR Eclipse Plugin“. Líšiť sa môže aktuálnou verziou. Vyberte ho zaškrtnutím políčka vedľa názvu pluginu a kliknite na tlačidlo „Next“.

Postupujte podľa pokynov sprievodcu inštalácie pluginu. Budete musieť súhlasiť s licenčnou zmluvou a potvrdiť nainštalovanie pluginu. Po inštalácii treba prijal ponuku na reštartovanie Eclipse.
MinGW tools
Tento nástroj nemusí inštalovať ten, kto používa Atmel Studio. Použijete súbor make.exe z adresára „[Atmel Studio location]\shellUtils“ ako to bude popísané nižšie.
Ostatný nainštalujú MinGW zo stránok www.sourceforge.net. V hornej časti stránky nájdete link „Looking for the latest version?“ a odkaz na stiahnutie. Stiahnite mingw-get-setup.exe (tu je priamy link).
Spustite inštalačný program. Na prvej obrazovke ponechajte všetky nastavenia na predvolené hodnoty. Môžete zmeniť inštalačný adresár, ak dávate prednosť inému ako predvolenému a kliknite na “Continue“.

V ďalšom kroku čakajte na stiahnutie niekoľkých súborov a kliknite na tlačidlo „Continue“.
Mali by ste vidieť okno „MinGW Installation Manager“. V zozname dostupných balíkov kliknite na políčko “msys base“ (posledná položka v zozname). Z kontextového menu vyberte možnosť „Mark for Installation“.

Z ponuky v hornej časti okna vyberte položku „Installation > Apply Changes“.

V ďalšom kroku kliknite na tlačidlo „Apply“.

Po chvíli by mali byť inštalované nástroje MinGW. Zavrite okno. Teraz sme pripravení nakonfigurovať plugin AVR Eclipse.
Nastavenie AVR Eclipse plugin
Spustite Eclipse a v hlavnom menu vyberte „Window > Preferences“. V tomto okne rozbalte položku „AVR > Paths“. Pomocou tlačidla „Edit…“ na pravej strane nastavte adresáre, ako je to znázornené na nasledujúcom kroku.

Môžete vidieť, že väčšina adresárov ukazuje na adresár Arduino. Nástroj “GNU make“ (make.exe) je umiestnený v adresári MinGW (alebo hore v článku spomínaná cesta z Atmel Studia). Tieto adresáre môžu byť rôzne v závislosti na tom, kde ste nainštalovali nástroje. Podľa toho to patrične upravte. V mojom prípade sú cesty nasledovné:
AVR-GCC: C:\Program Files (x86)\Arduino\hardware\tools\avr\binGNU make: C:\MinGW\msys\1.0\binAVR Header Files: C:\Program Files (x86)\Arduino\hardware\tools\avr\avr\includeAVRDude: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin
Ak chcete nastaviť cesty, zvoľte „Path source: Custom“ a použite tlačidlo „Browse“ v okne pre výber cesty (viď obrázok nižšie).

Ďalej vyberte kategóriu „AVRDude“ na ľavej strane. Označte políčko „Use custom configuration file for AVRDude“. V kolónke „AVRDude config file“ vyhľadajte adresár nainštalovaného Arduino IDE. Okno vyzerá takto:

A zadajte cestu konfiguračného súboru [Arduino adresár]\hardware\tools\avr\etc\avrdude.conf. V mojom prípade to bolo C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf.
Teraz treba okno “Preferences“ zatvoriť kliknutím na „OK“ aby sa tieto zmeny uložili (inak by to písalo chybu v ďalšom kroku).
A znovu otvoríme toto isté okno „Preferences“ a položku „AVR > AVRDude“. Klikneme na tlačidlo „Add…“ na pravej strane v kolónke „Programmer configurations“. V okne, ktoré sa otvorí, vyberte zo zoznamu „Programmer Hardware“ položku „Arduino“. Taktiež zadajte nejaký názov do poľa „Configuration name“ nad zoznamom, napríklad Arduino. Potom zadajte sériový port, ku ktorému je pripojené Arduino do kolónky „Override default port“ a nastavte baudovú rýchlosť.

V niektorých prípadoch (asi pre Linux) môže byť formát zápisu pre port nasledovný: //./COM15
Na záver zatvorte okno pomocou „OK“ a zatvorte tiež okno „Preferences“. Eclipse IDE je teraz pripravené na vývoj programov pre Arduino.
Náš prvý program
V tejto časti popíšem, ako vytvoriť projekt (program) pre Arduino. Ako prvé si vytvoríme premennú cesty v Eclipse, ktorá nám umožní ľahko aktualizovať svoje projekty, keď sa objaví nová verzia Arduino IDE. Stačí to urobiť iba raz. V hlavnom menu opäť vyberte „Window > Preferences“ a rozbalte položku „General > Workspace > Linked Resources“. Kliknite na tlačidlo „New…“ a v kolónke „Name:“ ju pomenujte názvom „ArduinoPath“. Do kolónky „Location:“ zadaj adresár, kde je nainštalované Arduino IDE, v mojom prípade to bolo „C:\Program Files (x86)\Arduino“ a kliknite na „OK“.

Teraz okno „Preferences“ kliknutím na „OK“ zavrite a týmto sme pripravení vytvoriť nový projekt.
Nový projekt
V hornom menu vyberte „File menu > New > C++ Project“ a v kolónke „Project name:“ ho pomenujte „blink“. Označte položku „AVR Cross Target Application > Empty Project“ a kliknite na „Next“.

V ďalšom kroku všetko ponecháme v pôvodnom nastavení a kliknite na „Next“.
V tomto okne nastavíme „MCU Type: ATmega328P“ a „MCU Frequency (Hz): 16000000“. (čo je 16 MHz).

A klikneme na „Finish“.
Teraz máme prázdny projekt, takže pridáme odkazy na Arduino súbory do projektu. V okne „Project Explorer“ pravím kliknutím na meno projektu „blink“ z kontextového menu vyberieme „New > Folder“.

Otvorí sa nám okno „New Folder“ kde klikneme na položku „Advanced“ a označíme položku „Link to Alternate location (Linked folder)“. Klikneme na „Variables…“ a v novootvorenom okne „Select Path Variable“ označíme nami hore vytvorenú položku „ArduinoPath“ a klikneme na „Extend…“.

V okne „Variable Extension“ by ste mali vidieť podadresáre adresára Arduino. Prejdite na „hardware\arduino\avr\cores\arduino“ a kliknite na tlačidlo OK.

Teraz sme sa vrátili späť do okna „New Folder“ a cesta k nášmu adresáru by mala ukazovať na „ArduinoPath/hardware/arduino/avr/cores/arduino“, viď obrázok nižšie.

Klikneme na „Finish“ a okno sa nám zavrie.
Rovnaký postup opakujte pre ďalší adresár. Umiestnenie tejto zložky bude „ArduinoPath/hardware/arduino/avr/variants/standard“.
Teraz by ste mali vidieť dva (prepojené) podadresáre v projekte: „arduino“ a „standard“.

Konfigurácia
Teraz pôjdeme do vlastností nášho projektu. Stlačíme „Alt + Enter“ alebo klikneme pravím tlačítkom na meno projektu a zvolíme „Properties“. Otvoríme si položku „C/C++ Build > Settings“. V hornej časti okna v zozname „Configuration“ vyberte „[All configurations]“. Označte položku „Additional Tools in Toolchain“ a zaškrtnite položku „Generate HEX file for Flash memory“ - výsledný HEX súboru je výstup procesu zostavenia kódu programu, ktorý je neskôr nahraný do mikrokontroléra na Arduino doske.

Ďalej v tomto okne označíme ďalšiu položku „AVR C++ Compiler > Directories“ a pridáme dve položky, ktoré sme pridali do zoznamu nášho projektu. Najjednoduchší spôsob je z kopírovať a vložiť nasledujúce dve cesty vrátane úvodzoviek kliknutím na malú ikonu „Add…“ a do kolonky „Directory“ vložiť najskôr jeden riadok a potom následne druhý:
“${workspace_loc:/${ProjName}/arduino}”“${workspace_loc:/${ProjName}/standard}”
Alternatívou tohto postupu je, že kliknete na malú ikonu „Add…“ a potom kliknete na „Workspace“. Rozkliknite názov projektu „blink“ a najskôr vyberte položku „arduino“ a stlačte „OK“ a znova „OK“. Potom postup opakujete aj pre položku „standard“.

Toto hovorí kompilátoru, že má hľadať zdrojové kódy v týchto lokalitách.
Tento postup v tomto okne opakujeme aj pre položku „AVR Compiler > Directories“.
V okne vľavo sa presunieme teraz na položku „AVR > AVRDude“ a v záložke „Programmer Configuration“ zo zoznamu vyberieme položku „Arduino“. Je to programátor, ktorý sme vytvorili pár krokov hore (okno opäť otvoríte kliknutím na „Edit..“, ak nevidíte žiadnu položku v zozname, vráťte sa do tejto časti kliknutím na „New..“ postupujte podľa krokov hore).

Okno zavrieme kliknutím na „OK“ (prípadne na „Yes“).
Zdrojový kód
Teraz si pridáme náš zdrojoví kód setup() a loop(). Klikneme opäť pravím tlačítkom myši na názov nášho projektu a vyberieme teraz položku „New > Source File“. Vložíme názov súboru s príponou „.cpp“. Meno súboru môže byť rovnaké ako názov projektu.

K vytvoreniu súboru kliknite na „Finish“ a zároveň sa objaví v adresári projektu. Otvoríte ho dvojklikom.
Vložte nasledujúci kód do nového súboru a uložte ho:
#include "arduino.h"
void setup(void)
{
pinMode(13, OUTPUT);
}
void loop(void)
{
digitalWrite(13, HIGH);
delay(200);
digitalWrite(13, LOW);
delay(2500);
}
POZOR: v predvolenom nastavení Eclipse neukladá súbory pred kompiláciou. Odporúčam nastaviť automatické ukladanie v menu „Window > Preferences > General > Workspace“ zakliknutím položky „Save automatically before build“. Inak budete určite zabúdať pred kompiláciou uložiť projekt po zmene kódu a budete takto kompilovať starú verziu bez týchto zmien v kóde.
Kompilácia programu
Kompiláciu projektu vykonáme kliknutím v menu na „Project > Build Project“. Projekt by mal byť skompilovaný bez chýb. Môžu sa vyskytnúť nejaké varovania ohľadne funkcie oneskorenia (delay), ktoré nemajú vplyv na náš výsledný skompilovaný program. Zostavenie môže prvýkrát trvať trochu dlhšie, pretože všetky základné funkcie Arduina nie sú skompilované, ale potom vytvorenie programu je omnoho rýchlejšie. Kompilátor je dosť chytrý na to, aby potom kompiloval len zmenené súbory.

Nahrávanie programu
Nahratie projektu do svojho Arduina vykonáme nasledovne. Pripojte Arduino dosku do počítača (dajte mu nejaký čas na rozpoznanie dosky). Teraz kliknite na ikonu AVR v paneli nástrojov Eclipse. Program bude nahratý do Arduina. Pozrite sa na výsledky v okne konzoly v dolnej časti Eclipse. Tam budú nejaké správy z AVRDude. Na konci by malo byť niečo takéto „avrdude done. Thank you.“.

Teraz by ste mali vidieť, že LED na Arduine bliká. To znamená, že náš program beží.
Ak sa zobrazí chybové hlásenie „port is blocked“ pravdepodobne máte zlé číslo COM portu v konfigurácii „AVR Eclipse plugin configuration“. Otvorte položku „Window > Preferences > AVR > AVRDude“. V zozname „Programmer configurations“ vyberte položku Arduino a kliknite na „Edit“. Uistite sa, že číslo COM portu je správne. Môžete ho nájsť buď v Arduino IDE alebo vo Windowse v položke „Správca počítača > Porty“.
Nenechajte si ujsť niektoré zo skvelých profesionálnych funkcií IDE, napríklad môžete sa pozrieť do zdrojového kódu funkcií Arduina: stačí vybrať názov funkcie pravým tlačidlom myši a vyberte „Open Declaration“ alebo stačí nad funkciu ponechať kurzor myši a uvidíte náhľad funkcie.


Teraz ste pripravení rozvíjať svoje programy v Eclipse a objavovať funkcie tohto IDE...