Homepage Wiki Forum Buy

Eclipse

Aus GNUBLIN

Inhaltsverzeichnis

Sehr einfach ist auch die Verwendung der Entwicklungsumgebung Eclipse (http://eclipse.org) für die Gnublin-Entwicklung. So installiert man eine Cross-Entwicklungsumgebung auf einem Linux-PC.

Download und Setup

Dieses Setup wurde unter Linux Mint 14 Nadia getestet! Bei anderen Distributionen kann es unter Umständen anders sein!

Download und Installation

1. Eclipse von der Webseite herunterladen. Aktuell ist die Version Juno. Verwende die Eclipse IDE for C/C++ developers". Sie enthält die cdt tools.

Nach dem Download hat man ein tar.gz Archiv im Download Ordner. Dieses Archiv entpacken wir mit nachfolgendem Befehl in das Home Verzeichnis:

user@dev-pc ~/Downloads $ tar -vxzf eclipse-cpp-juno-SR2-linux-gtk.tar.gz -C ~/

Um das Programm komfortabel über den konsolenaufruf eclipse starten zu können, muss man in seinem home verzeichnis die Datei .bashrc ändern. Wir rufen die Datei mit dem Editor nano auf:

user@dev-pc ~ $ nano .bashrc

und fügen folgendes unten in einer neuen Zeile ein:

export PATH=$PATH:~/eclipse

Nun lässt sich Eclipse ganz einfach per

user@dev-pc ~ $ eclipse

starten.

2. Laden der Gnublin Toolchain wie unter C/C++ Entwicklungsumgebung installieren beschrieben.

Ein Projekt erstellen

3. Mit File/New -> C Project ein neues C-Projekt anlegen. Bildschirmfoto-C-C++ - Eclipse .png


Einen Namen vergeben (z.B. HelloGnublin) und in der Liste das Cross Compile Project auswählen.

Cross Compile Project.png

Nach Next gibt man als Tool command prefix "arm-linux-gnueabi-" an. Der Tool command path ist " /opt/eldk-5.2.1/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi".

Eclipse command prefix and path.png

Unter dem Menüpunkt 'Project/Properties' startet man den Eigenschaften-Dialog und wählt C/C++ Build/Settings. Dort stellt man sicher, dass als aktive Configuration "Release" eingestellt ist. Will man das Programm jedoch auf dem Gnublin debuggen, lässt man die Einstellung auf "Debug".

4. Nun ist das erste Gnublin-Projekt fertig. Im Project Browser mit der rechten Maustaste anklicken. New -> Sourcefile -> C-Sourcefile erzeugt ein leeres C-File. Dort das "Hello World" Programm eintippen. Über den Menüpunkt "Project / Build Project" kompilieren.

5. Im Verzeichnis $HOME/workspace/HelloGnublin/Release (oder Debug) sollte jetzt eine ausführbare Datei 'HelloGnublin' liegen. Wenn man, z.B. wie in Pseudo Netzwerk mit USB beschrieben, schon eine Netzwerkverbindung zum Gnublin hat, kann man die Datei direkt mit

scp HelloGnublin root@10.11.12.1:/home/root

in das Root-Verzeichnis auf dem Gnublin kopieren, mit chmod 755 ausführbar machen und direkt aus der Konsole starten.

Damit hat man eine funktionsfähige IDE für die Gnublin Entwicklung.

Gnublin API benutzen

Die Gnublin API in Eclipse zu benutzen ist sehr einfach. Zunächst braucht man die beiden Dateien gnublin.h und gnublin.cpp. Die bekommt man hier:

Herunterladen der gnublin.cpp und gnublin.h Datei

user@dev-pc:~$ wget https://raw.github.com/embeddedprojects/gnublin-api/master/gnublin.h
user@dev-pc:~$ wget https://raw.github.com/embeddedprojects/gnublin-api/master/gnublin.cpp

Dann öffnet man Eclipse und sein C++-Projekt.

Wichtig! Man muss ein C++ Projekt anlegen, wenn man die API benutzen möchte, da diese auf C++ basiert!

Hat man also sein Projekt geöffnet, klickt man im Project Explorer mit rechts auf sein Projekt und wählt "Import" aus:

Eclipse import.jpg

Als nächstes muss man auswählen, dass man vom Filesystem importieren will: Eclipse Import Filesystem.png

Nun navigiert man zu dem Ordner, in dem man seine gnublin.h und gnublin.cpp Datei abgelegt hat und wählt dort die beiden Dateien aus. Das sieht nun so aus: Eclipse Import Filesystem2.png

Nun kann man in seinem Projekt ganz einfach die gnublin.h includieren und die API Funktionen voll nutzen:

#include "gnublin.h"


Beispielprogramm

Als kleines Beispiel dient hier unser LED-Blink Programm, dass die rote LED auf dem Gnublin blinken lässt. Die LED ist an GPIO Pin 3 angeschlossen.

Quellcode:

  1. #include "gnublin.h"
  2.  
  3.  
  4. int main()
  5. {
  6.    gnublin_gpio gpio;
  7.  
  8.    gpio.pinMode(3,OUTPUT);
  9.  
  10.    while(1){
  11.      gpio.digitalWrite(3,HIGH);
  12.      sleep(2);
  13.      gpio.digitalWrite(3,LOW);
  14.      sleep(2);
  15.    }
  16. }

Das Programm kompilieren wir, indem wir auf den kleinen Hammer oben links klicken.

Eclipse build LED-blink.jpg

Wenn unten unter "Problems" keine Fehler erscheinen hat alles geklappt und das Programm wurde erstellt.

Ein C Programm am Gnublin debuggen.

Dazu muss man den gdbserver am Gnublin einmalig installieren. Hierzu benötigt man am Gnublin eine Verbindung zum Internet.

apt-get install gdbserver

Das Programm welches man debuggen möchte muss als Debug-Version kompiliert sein. Unter dem Menüpunkt 'Project/Properties' startet man den Eigenschaften-Dialog und wählt C/C++ Build/Settings. Dort stellt man sicher, dass als aktive Configuration "Debug" eingestellt ist. Danach führt man nochmals den Menüpunkt "Project / Clean" und "Project / Build Project" zum kompilieren aus und überträgt das Programm zum Gnublin. Danach starte man am Gnublin das Programm wie folgt

gdbserver 10.0.0.1:2345 HelloGnublin

Der Debugserver wartet nun auf eine Verbindung von Eclipse und startet dann das Programm

Nun muss man im Eclipse eine entsprechende Debug-Konfiguration anlegen um sich auf den Debugserver am Gnublin verbinden zu können. Das Einrichten ist nur einmalig notwendig. Diese Debug-Konfiguration kann danach immer wieder verwendet werden.

Über den Menüpunkt 'Run / Debug Configuration' startet man den Konfigurationsdialog. Dort markiert man den Eintrag 'C/C++ Remote Application' und erzeugt mit dem 'New-Button' eine neue Remote-Debug-Konfiguration'. Danach vergibt man einen Namen und wählt ein Projekt mit dem Button 'Search Project' aus, klickt auf den Radio-Button 'Disable Auto build' und auf den Link 'Select Ohter' und wählt den Eintrag 'GDB (DSF) Manual Remote Debugger Launcher'.
Nun klickt man auf den Tab 'Debugger' und trägt in den Debugger Options im Tab Main in das Feld 'GDB Debugger: arm-linux-gnueabi-gdb' ein.
Jetzt klickt man noch auf den Tab 'Connection' und trägt hier die IP des Gnublin (10.0.0.1) sowie den Port (2345) ein. Mit Apply übernehmen und fertig.
Nun nur noch den Debugger starten und das Programm sollte am ersten Breakpoint halt machen.

In anderen Sprachen