IDE‎ > ‎

Eclipse Neon

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:


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 https://eclipse.org/downloads/ 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:

Eclipse IDE
Eclipse IDE for C/C++ Developers


AVR Eclipse plugin

Teraz, keď už máme Eclipse nainštalovaný a spustený, klikneme v menu na "Install New Software". Do kolonky "Work with:" zadáme nasledovnú adresu http://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".

AVR Eclipse Install Update site

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 http://sourceforge.net/projects/mingw/files/. 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: http://sourceforge.net/projects/mingw/files/latest/download?source=files).

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".

MiniGW Installation Manager Setup Tool

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".

MinGW Installation Manager

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


Installation > Apply Changes.

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

Apply button

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.

AVR Paths

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 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\bin
GNU make: C:\MinGW\msys\1.0\bin
AVR Header Files: C:\Program Files (x86)\Arduino\hardware\tools\avr\avr\include
AVRDude: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin

Ak chcete nastaviť cesty, použite tlačidlo "Browse" v okne pre výber cesty a zvoľte "Path source: Custom" viď obrázok nižšie.

AVR Path Edit

Ď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:

AVRDude path

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 okno "Preferences" a položku "AVR > AVRDude". Klikneme na tlačidlo "Add..." na pravej strane v kolónke "Programmer configuration list". 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".

avrdude_programmer

V mojom prípade, aby mi to celé nakoniec fungovalo, som urobil ešte nasledovné zmeny:

  • formát zápisu pre port nie "//./COM15" ale len "COM15" (samozrejme číslo portu zmente na svoje)
  • zároveň som nastavil prenosovú rýchlosť v položke "Override default baudrate" na hodnotu "57600".

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".

arduino_path_var

Teraz okno "Preferences" zavrite a týmto sme pripravení vytvoriť 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".

project_1

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).

project_2

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".

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..."

new_folder_var

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.

Variable Extension

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.

new_folder_ready

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".

project_subfolders

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.

hex_generate

Ď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".

compiler_include_paths

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).

programmer_select

Okno zavrieme kliknutím na "OK" a prípadne na "Yes".

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.

new_file

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á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.

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.

avr_upload

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."

avrdude_finished

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".

eclipse_open_declaration

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


Diskusia a komentáre

Diskusia a komentáre