Forum: Mikrocontroller und Digitale Elektronik Arduino mit Eclipse AVR-gcc Plugin programmieren


von chris_ (Gast)


Lesenswert?

Da der Editor der Arduino nicht besonders gut ist, möchte ich Eclipse 
als Entwicklungsplatform verwenden.

An Eclipse schätze ich besonders
- guten Suchfunktionen ( find in files )
- die Taste "F3" um direkt zu Wortdefintion zu springen
- show call hirarchy, um die Aufrufer einer Funktion schnell zu finden
- das "outline" umd direkt eine Funktion anwählen zu können.

Native gibt es Eclipse für Java, was mir bisher sehr entegen gekommen 
ist und für Python gibt es das Plugin "PyDef".

Ich habe diese Anleitung zur Installation verwendet:
http://playground.arduino.cc/Code/Eclipse

Hat jemand Erfahrung damit ?

von Christian (Gast)


Lesenswert?

Eclipse mit CDT und AVR Plugin sollte es tun.

von chris_ (Gast)


Lesenswert?

Ist beim AVR-Plugin eine Unterstützung für AVR-Dude und verschiedene 
Programmer mit drinn?

Ich bin nach der obigen Anleitung vor gegangen und habe festgestellt, 
dass der Arduino Download schon supported wird.

Dazu musste ich unter

Porperties->AVR->AVR-Dude

Ardino als Programmer einstellen.

Es hat allerdings erst funktioniert, nachdem ich für den Arduino-Uno an 
meinem Ubuntu den Port

/dev/ttyACM0

in der etwas versteckten Programmer Configuration eingestellt habe ( 
erreichbar mit dem Button "Edit" )

von chris_ (Gast)


Lesenswert?

Die Inbetriebnahme ohne Arduino Library geht erstaunlich schnell. Ich 
wusste gar nicht, dass man die Arduino Boards so gut ohne die 
Arduino-Lib in Betrieb nehmen kann. Damit eignen sich die Boards als 
günstiges PC-Interface zur Ansteuerung eigener Elektronik.

Hier mein Blink-Programm für die Benutzung des Uno ohne Arduino-Lib:
1
/*
2
 * simple led blinking for Arduino Uno
3
 * without Arduino Library
4
 *
5
 * 8.1.2013 chris_
6
 *
7
 */
8
9
#include <avr/io.h>
10
#include <util/delay.h>
11
12
#define ARDUINOLED 5
13
14
int main (void)
15
{
16
  DDRB  = ( 1 << ARDUINOLED ); // set the led pin to output
17
18
  while(1)
19
  {
20
    PORTB ^= (1 << ARDUINOLED ); // toggle led pin by xor
21
    _delay_ms(500);
22
  }
23
24
  return 0;
25
}

von chris_ (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal der gesammte Eclipse Workspace für den Arduino Uno. Das sollte 
die mühseligen Einstellungen ersparen, wenn man den Workspace einfach 
verwendet.

von Bastel B. (luoc)


Lesenswert?

Hi Chris,
auf der unten verlinkten Seite gibt es ein modifiziertes Plugin, womit 
du eifnach die Standartbibliotheken von Arduino und so manch andere 
Annehmlichkeit wieder reinbekommst.

Gruß,
luoc ;)

http://www.baeyens.it/eclipse/

von chris_ (Gast)


Lesenswert?

Was vielleicht noch fehlt: Hier im MC-Netz gibt es einen Artikel zur 
Installation von AVR-GCC auf Eclipse
http://www.mikrocontroller.net/articles/AVR_Eclipse

von Olivercruise (Gast)


Lesenswert?

Ich hätte es ohne deinen Settings echt aufgegeben!!!
Thx für den super download mit inkludierten Settings sowie Examples.

von chris_ (Gast)


Lesenswert?

Danke, das freut mich. Ich habe es vor kurzem auch wieder gebraucht und 
von diesem Thread geladen. Ich war selber erstaunt, dass es so gut geht.

von Franzis I. (reparateur)


Lesenswert?

Welche Vorteile hat Eclipse (Bei dem Scenario mit Arduino) gegenüber 
AVRStudio? Wie programmiert ihr eure "normale", non-arduino µCs? Etwa 
auch in Eclipse?
Ist es nicht besser alles aus dem Studio machen zu können, dann müsste 
man sich nicht umgewöhnen, oder?

von Amateur (Gast)


Lesenswert?

Wenn Du mit dem Rest der Umgebung keine Probleme hast: Notepad++

Gibt's für Nase.

Nur für den Editor so ein Trumm installieren...

von chris_ (Gast)


Lesenswert?

>Welche Vorteile hat Eclipse

Eclipse hat vor allen Dingen Vorteile, wenn es ein größeres Projekt ist.
Man kann z.B. einfach mit F3 auf einen Funktionsnamem tippen und der 
Editor springt zu der Funktion im richtigen File. Außerdem kann man eine 
Call-Hierarchie anzeigen lassen. Das zeigt von welchen Stellen im 
Programm eine Funktion aufgerufen wird. Außerdem gibt es beim Eintippen 
schon eine erste Codekorrektur, die Rechtschreib- und Tippfehler 
beseitigt.
Zusätzlich lässt sich recht einfach die Versionsverwaltung Git 
einbinden.

von Franzis I. (reparateur)


Lesenswert?

chris_ schrieb:
>>Welche Vorteile hat Eclipse
>
> Eclipse hat vor allen Dingen Vorteile, wenn es ein größeres Projekt ist...
> Programm eine Funktion aufgerufen wird. Außerdem gibt es beim Eintippen
> schon eine erste Codekorrektur, die Rechtschreib- und Tippfehler
> beseitigt.
> Zusätzlich lässt sich recht einfach die Versionsverwaltung Git
> einbinden.
Hat aber Studio (bis auf Git) nicht die gleichen Vorzüge? Und Studio ist 
wohl schlanker (leichter) und transparenter?

von chris_ (Gast)


Lesenswert?

>Hat aber Studio (bis auf Git) nicht die gleichen Vorzüge?

Keine Ahnung. Die letzte Version von AVR-Studio war für mich 4x. Die 
aktuellen Versionen kenne ich nicht. Ich entwickle auch unter Linux, was 
mit AVR-Studio schwierig ist.
Der große Vorteil von AVR-Studio gegenüber Eclipse ist aber der 
eingebaute Simulator. Der ist sehr gut, wenn man nahe am Prozessor 
arbeitet.
Eclipse kann man auch mit dem Arduino Due verwenden.
Außerdem kann man Programme für den PC in Python, Java, C++ parallel zum 
MC-Projekt bearbeiten. Das ist insbesondere nützlich, wenn das Projekt 
aus mehren Plattformen besteht.

von Christopher Johnson (Gast)


Lesenswert?

Habe gerade das Spielchen wegen Eclipse oder AtmelStudio auf der Arbeit 
an der Uni durch. Ergebnis: Wir nehmen weiter AtmelStudio weil wir das 
schon immer gehabt haben.

Wirft man aber mal einen Blick auf die IDEs der Hersteller, dann kenne 
ich da außer AtmelStudio keine VisualStudio basierten IDEs, sondern nur 
Eclipse basierte (was natürlich nicht heißen muss das es nicht noch mehr 
gibt).

Hier mal eine kleine Aufzählung von denen die ich im Kopf hab:

Texas Instruments - Code Composer Studio
Freescale - Codewarrior
NXP - LPC Xpresso
STM - STM32Cube
Infineon - Dave 3

Übrigens gibt es unter http://mcuoneclipse.com/ ziemlich viele 
Informationen von einem Schweizer Prof. Unter anderem den Eintrag wie er 
seine Kurse mit Eclipse macht finde ich ziemlich gut (arbeitet viel mit 
Freescale)
http://mcuoneclipse.com/2014/05/18/constructing-a-classroom-ide-with-eclipse-for-arm/

von marcus (Gast)


Lesenswert?

>Habe gerade das Spielchen wegen Eclipse oder AtmelStudio auf der Arbeit
>an der Uni durch. Ergebnis: Wir nehmen weiter AtmelStudio weil wir das
>schon immer gehabt haben.

Eclipse ist für Profis. Man muss länger damit arbeiten, damit es 
produktiv wird.

>Freescale - Codewarrior
Bei uns auf der Arbeit haben wird den Compiler von Freescale, benutzen 
aber als Enwtcklungs-IDE Eclipse.

von Christopher Johnson (Gast)


Lesenswert?

marcus schrieb:
> Eclipse ist für Profis. Man muss länger damit arbeiten, damit es
> produktiv wird.

Dem kann ich nur zustimmen aber AtmelStudio hab ich jetzt auch nicht 
gerade an einem Nachmittag komplett durchschaut. Komplexe Tools brauchen 
halt immer Einarbeitungszeit, da führt kein Weg dran vorbei.

marcus schrieb:
> Bei uns auf der Arbeit haben wird den Compiler von Freescale, benutzen
> aber als Enwtcklungs-IDE Eclipse.

Das schöne an Eclipse finde ich eben das es so Modular ist und das die 
meisten Hersteller ihre IDE auch als Plugin (für Eclipse) anbieten (wenn 
man es denn braucht). Natürlich kann man auch nur den Compiler nehmen 
aber das geht sogar mit VS.

von Dirk K. (dekoepi)


Lesenswert?

Ihr vergesst das ganz gewichtige Argument: Plattformunabhängigkeit.

µCs schreien nach Windows-Umgebungen, und die will nicht jeder nutzen 
und dann noch zehn IDEs installieren.

Mein Eclipse unter MacOSX baut mir meinen Code für AVR (sowohl ATtiny, 
ATmega als auch ATxmega) und STM32. Den STM8 (SDCC liegt bereits auf der 
Platte) habe ich noch nicht ordentlich eingebunden und auch für MSP430 
muss ich da noch mal ran.

: Bearbeitet durch User
von tim (Gast)


Angehängte Dateien:

Lesenswert?

Guten Tag,

leider funktioniert bei mir das Plug in einbinden nicht. Habe es manuell 
und wie in der Anleitung mit dem Pfad angeben versucht, jedoch kommt 
immer eine Fehlermeldung(nach drücken von finish).

Gruß Tim

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.