Das ist leider einfacher gesagt als getan, siehe unten 🙁 Eclipse muss man natürlich nur einmal einrichten. Da das deutlich umfangreichere aber das Einrichten des Projektes ist, würde ich empfehlen, ein einmal lauffähig eingerichtetes Projekt als Template zu nutzen.
Anmerkung #1: Was momentan noch nicht funktioniert, ist die Ausgabe nach Serial 🙁 Ich habe bisher nur ein sehr rudiemntäres “Blink”-Projekt kompilieren können… offenbar fehlen da irgendwelche Includes, wobei die HardwareSerial eigentlich da ist. Ich bleibe dran.
Anmerkung #2: Im Folgenden werden OS X Lion und ein Uno verwendet
Einrichten von Eclipse:
- Eclipse IDE for C/C++ Developers installieren
- Das AVR-Plugin installieren
- Das AVR “Crosspack” installieren
- Sicherheitshalber die Pfade unter Preferences -> AVR -> Paths checken:
AVR-GCC: /usr/local/CrossPack-AVR20100115/bin
GNU make: /usr/local/CrossPack-AVR20100115/bin
AVR Header Files: /usr/local/CrossPack-AVR20100115/avr-3/include
AVRDude: AVR-GCC: /usr/local/CrossPack-AVR20100115/bin - Dein(e) Arduino(s) unter Preferences -> AVR -> AVRDude einrichten. Anmerkung: Der default Port ist der, den man auch in der Arduino-IDE nutzt – und den man unter /dev/ findet (ls -la /dev/)
Configuration Name: <irgendwas>
Programmer Hardware: Arduino
Override default port: /dev/tty.usbmodemfa131
Override default baudrate: 115200
Einrichten eines ersten Projekts (dieses kann man hinterher kopieren, um diese Einstellungen nicht immer wieder vornehmen zu müssen):
- Neues “C” Projekt anlegen:
Project name: <irgendwas>
Project type: AVR Cross Target Application -> Empty
Finish - In den Project properties -> AVR -> AVR Dude -> Programmer -> “Programmer configuration” die Konfiguration von oben, Punkt 5, auswählen
- Das Arduino anschliessen
- In den Project properties -> AVR ->AVR Dude -> “Target Hardware” entweder “Load from MCU” versuchen, oder für den Uno “ATmega328P” auswählen. Anmerkung: Auch, wenn arduino.cc als Microcontroller für den Uno den ATmega328 angibt, so ist es in Wirklichkeit doch der ATmega328P
- Die Arduino IDE öffnen, ein neues Projekt anlegen, und kompilieren (“Verify” genügt) (es geht darum, einmal die Core Library anzulegen)
- “Irgendwo” unter /private/var/ die Datei core.a finden – bei mir war es /private/var/folders/8f/0zf3pf294rvbrybmwh7mq1bm0000gn/T/build1871947640038466426.tmp/core.a 🙂 – und in den Projektordner kopieren
- Diese “neue” core.a in libcore.a umbenennen
- Unter den Project properties -> C/C++ Build -> Settings -> Tool Settings -> “Additional Tools in Toolchain”: “Generate HEX for Flash Memory”, “Print Size” und “AVRDude” müssen angewählt sein; “Generate HEX file for EEPROM” und “Generate Extended Listing” müssen abgewählt sein
- Unter … -> AVR Compiler -> Command von “avr-gcc” in “avr-g++” ändern
- Unter … -> AVR Compiler -> Directories den Pfad /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino (oder analog) eintragen. Anmerkung: Rechtsklick auf die Arduino-App -> Paketinhalt anzeigen hilft 😉
- Unter … -> AVR Compiler -> Debugging -> “Generate Debugging info” “No debugging info” auswählen
- Unter … -> AVR Compiler -> Optimization -> “Optimization Level” “Size Optimization (-Os)” auswählen
- Unter … -> AVR Assembler -> Debugging -> “Generate Debugging Info” “No debugging info” auswählen
- Unter … -> AVR C Linker -> Libraries eine neue Library mit dem Namen “core” anlegen. Einen neuen Library Path mit “${workspace_loc:/${ProjName}}” anlegen – damit sollte er jetzt im aktuellen Projekt nach der corelib aus Schritt 6 und 7 suchen
- Eine neue Datei mit Namen main.c anlegen
- coden 😉
Kompilieren und flashen tut man das Projekt dann mit dem “Hammer”-Button in der Menüleiste – es muss dabei im Dropdown “Release” ausgewählt sein.
Alter Schwede. 🙂 Das ist ja echt hartes Brot. Ich hätte erwartet, daß der Arduino leichter einzurichten ist für Eclipse. Aber es kommen wohl nur wenige aus der Java-Ecke… (?)
Jo 🙁 Ich finde auch, jemand könnte mal ein Komplettpaket zusammenstellen
Pingback: Arduino Development in Eclipse under OSX | enterfra.me | Sebastian Telschow
Es gibt jetzt ein Plugin fuer Eclipse, was den gesamten Prozess sehr vereinfacht, siehe
http://eclipse.baeyens.it/
Dies ist ein “Komplettpaket” und fuehrte bei mir innerhalb von 10 Minuten zu einem compilierten und upgeloadetem “blink” Programm. (unter linux)
Gruss,
Michael
Cool, Danke! Gucke ich mir die Tage mal an!