Forum: PC-Programmierung Eclipse-Probleme (Mac OS)


von Frank B. (murdock)


Lesenswert?

Hi Leute,

ich bin neu hier und mein Eclipse spuckt mir sämtliche Fehler aus - ich 
habe jetzt schon 2 Tage alles mögliche versucht, weiß aber echt nicht 
mehr weiter.

Installiert habe ich das aktuelle Eclipse incl. CDT, das AVR Eclipse 
Plugin und AVR CrossPack.
Als Programmer verwende ich einen USBasp und daran hängt ne Platine mit 
nem ATmega8.

Über das Terminal bekomme ich auf
1
avrdude -c usbasp -p m8 -Pusb
als Antwort

1
avrdude: AVR device initialized and ready to accept instructions
2
3
Reading | ################################################## | 100% 0.00s
4
5
avrdude: Device signature = 0x000202
6
avrdude: Expected signature for ATMEGA8 is 1E 93 07
7
         Double check chip, or use -F to override this check.
8
9
avrdude done.  Thank you.

Daraus schließe ich mal dass das Terminal über den Programmer korrekt 
mit dem µC kommunizieren kann.



Allerdings gibts in Eclipse paar Probleme:

- Wenn ich in den Targeteinstellungen den µC-Typ auslesen lassen will 
kommt die Meldung:
1
Programmer "usbasp" could not initialize the target hardware. Please check that the target hardware is connected correctly. Reason: avrdude: initialization failed, rc=-1
 (Habe in er Konfiguration Release auf aktiv gestellt)

- Der Fehler
1
java.lang.NullPointerException
 wird mir auch relativ oft angezeigt.

- Unter Problems erhalte ich immer die Warnung
1
Error launching external scanner info generator (avr-gcc -E -P -v -dD .../Workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c)
 (Die Datei ist vorhanden)


Hab ich vielleicht irgendwas vergessen einzustellen oder so?
Mir kommt es so vor als würden die 3 Programme nicht zusammen 
funktionieren, die Pfade sind allerdings richtig 
(/usr/local/CrossPack-AVR-20090415/bin).
Ich habe schon sämtliche Tutorials im Internet angeschaut, konnte aber 
keinen Fehler finden.

Wäre euch echt dankbar wenn mir jemand helfen kann!

von Frank B. (murdock)


Lesenswert?

Als ich gerade versucht habe etwas Code zu schreiben ist mir noch 
aufgefallen dass auch die Stadardheader wie z.B. avr/io.h nicht gefunden 
werden...
Irgendwas passt da ganz und gar nicht.

von Thomas Z. (solo0506)


Lesenswert?

Hallo,

ich arbeite vermutlich mit der gleichen Umgebung wie Du (OS X 10.6.2, 
Eclipse Galileo CDT, AVR Eclipse Plugin 2.3.1, USBasp von U. Radig)

Zu Deinen Fehlern:

- "Programmer "usbasp" could not initialize the target hardware...." 
Hast Du in Eclipse eine korrekte Programmer Configuration für AVRDude 
erstellt? Bei mir funktionierte es auf Anhieb mit "USBasp". Das Auslesen 
der Controllerparameter klappt damit ebenfalls.
- "Error launching external scanner info..." Diese Problemmeldung 
bekomme ich auch, scheint aber belanglos zu sein. Zumindest laufen meine 
Programme auf dem Controller. Allerdings wäre ich für einen Tipp, wie 
man die Problemmeldung wegbekommt, auch dankbar.
- "avr/io.h nicht gefunden..." Hast Du den Pfad zu den Include-Dateien 
richtig eingestellt? Das geht unter "Project Properties -> C/C++ General 
->Paths and Symbols -> Includes: Dort den korrekten Pfad zu den 
Include-Dateien einstellen.

Damit sollte alles klappen :-)

Falls Du noch Hilfe brauchst, melde Dich einfach!

von Frank B. (murdock)


Lesenswert?

Reicht es denn nicht die Include-Dateien global bei Preferences => Paths 
=> AVR Header Files anzugeben?
Ist ja nervig dass man das für jedes Projekt immer wieder angeben 
muss...

Ich hab jetzt den gleichen Pfad wie bei den AVR Header Files angegeben 
(/usr/local/CrossPack-AVR-20090415/avr-3/include) und jetzt findet es 
die Header - Danke!!!

Aber gibts da keine Möglichkeit dass man das global konfigurieren kann?



Allerdings bekomm ich beim Flashen immer noch den Fehler:

Programmer "usbasp" could not initialize the target hardware.
Reason:
avrdude: initialization failed, rc=-1

von Frank B. (murdock)


Lesenswert?

Die "Error launching external scanner info generator"-Meldungen konnte 
ich von 3 auf eine reduzieren indem ich in den Project-Prefs unter c/c++ 
Build => Discovery Options die 2 Haken weggemacht hab.

von Frank B. (murdock)


Lesenswert?

Ich hab endlich rausgefunden worauf das ganze Internet keine Antwort hat 
xD

Und zwar bekommt man den Fehler
1
Error launching external scanner info generator (avr-gcc -E -P -v -dD .../Workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c)

weg, indem man in die Porject-Prefs geht, und dann unter C/C++ Build in 
das Menü Discovery Options geht, den Haken "Automate Discovery of paths 
and symbols" wegmacht und dann links daneben von "C Source Files" auf 
"Unknown" wechselt und wieder den Haken "Automate Discovery of paths and 
symbols" wegmacht - dann sind alle 3 Fehlermeldungen weg :D:D:D

von Thomas Z. (solo0506)


Lesenswert?

Dank Deines Tipps bekomme ich die Warnungen jetzt auch weg, klasse!

Wenn ich den Pfad zu den Include-Dateien unter Preferences => Paths => 
Atmel Part Description Files eintragen möchte, kommt die Fehlermeldung 
"Invalid path" in der Dialogbox....
Daher trage ich bis dato die Pfade immer pro Projekt ein. Das ist 
lästig, aber ich habe im Moment keine bessere Idee...

von kyrel (Gast)


Lesenswert?

Hallo zusammen,

ich sitze auch am selben Problem mit der Einbindung/Bekanntmachnung der 
avr-libc-file.
So wie ich das hier sehe, liegen die betreffenden Dateien im 
/usr/local/CrossPack.... usw. Der "/usr"-Ordner ist jedoch bei mir 
standardmäßig nicht sichtbar, daher denk ich, dass der Fehler darin 
liegt, dass der entsprechende Pfad in der allg. Einstellungen nicht 
gefunden werden kann!

Man könnte ja den Ordner ja dauerhaft sichtbar setzen, ich jedoch denke, 
dass es einen Grund hat, wieso dieser unsichtbar ist :) - daher wäre das 
keine Lösung, sondern nur ein Umgehen des Problems.

Wenn jmd eine Idee diesbzgl. hat, nur raus damit, ist schon ärgerlich 
jedes mal dem Projekt mitzuteilen, wo die Dateien sich befinden.


Schönes Wochenende weiterhin
kyrel

von Frank B. (murdock)


Lesenswert?

Der usr-Ordner heißt nicht "User" sondern "Unix System <irgendwas>", du 
solltest lieber nicht an dem Ordner rumspielen... deswegen ist der auch 
versteckt.

von Thomas H. (innot)


Lesenswert?

Hi,

die Probleme "Error launching external scanner info generator" und das 
nicht-automatisch-erkennen der include Dateien hängen zusammen, den der 
"external scanner info generator" startet den avr-gcc compiler mit ein 
paar speziellen optionen um (unter anderem) die im Compiler fest 
verdrahteten Pfade zu den Standard Includes (u.a. avr/io.h) zu 
ermitteln.

Warum der Scanner unter MacOS nicht funktioniert weiß ich allerdings 
auch nicht. Ich programmiere das Plugin unter Windows und teste es auch 
mit Linux, habe aber keinen Zugang zu einem Mac um es dort auch zu 
testen.

Eine Vermutung wäre, dass es möglicherweise ein Pfad Problem ist, d.h. 
das avr-gcc nicht im normalen System Pfad ist. Das AVR Plugin sorgt zwar 
dafür, dass der richtige Pfad zum avr-gcc für ein Build gesetzt wird, 
aber evtl. nicht für den Scanner. Könnte mal jemand mit dem "Error 
launching external scanner info generator" Problem ein Terminal 
aufmachen, 'avr-gcc' eingeben und schauen was passiert?

BTW - der Pfad zu den "Atmel Part Description Files" wird derzeit vom 
Plugin nicht verwendet und ignoriert. Der Pfad zu den "AVR Header Files" 
wird vom Plugin nur für "AVR Device Explorer" View benutzt, nicht aber 
für einen Build.

Thomas

von Frank B. (murdock)


Lesenswert?

Cool dass du uns helfen willst :)

Terminal spuckt aus:
avr-gcc: no input files

von Thomas H. (innot)


Lesenswert?

Frank B. schrieb:
> Cool dass du uns helfen willst :)

Ich hoffe nur, das ich auch helfen kann :-)
>
> Terminal spuckt aus:
> avr-gcc: no input files

Das bedeutet, dass avr-gcc im System-Pfad liegt und es damit kein 
Pfad-Problem ist.

OK, nächster Schritt: vielleicht erzeugt Eclipse zu dem Problem eine 
interne Fehlermeldung. Dazu bräuchte ich mal ein Error-Log.
Der Zugriff darauf ist je nach Eclipse Version leicht unterschiedlich. 
Bei 3.5 (Galileo) findet man es unter 'Help -> About Eclipse -> 
Installation Details -> Configuration -> View Error Log'. Da das Log 
meistens recht groß ist am besten mal als Datei anhängen.

von Frank B. (murdock)


Angehängte Dateien:

Lesenswert?

Hier, viel Spaß beim Lesen :D

von Thomas H. (innot)


Lesenswert?

Hi, trotz intensiven Studiums und des Error logs konnte ich den Fehler 
nicht lokalisieren.

Allerdings hat ein anderer User eine Lösung gefunden:
https://sourceforge.net/projects/avr-eclipse/forums/forum/664382/topic/3309107

Mangels Mac kann ich es nicht ausprobieren, aber wenn die Lösung 
funktioniert, dann ist es doch ein Pfad-Problem, bei dem eine APP nicht 
den vollen System-Pfad (mit der avr-gcc toolchain) erbt.

Könnte das mal jemand ausprobieren/verifizieren?

Thomas

von Hanser (Gast)


Lesenswert?

Hallo

Ich kann bestätigen, dass eclipse mit dem AVR plugin richtig 
funktioniert, wenn NICHT mit dem aclipse.app gestartet wird.

Wieso das funktioniert kann ich allerdings im Detail auch nicht klären. 
Jedoch habe ich avrdude und avrlibc mit macports installiert und 
demzufolge liegen diese unter
1
/opt/local/bin
 anstatt dem usr-Ordner


VG
Hans

von Frank B. (murdock)


Lesenswert?

Wie soll man Eclipse sonst starten?

Bei mir liegen die Dateien in /usr/local/CrossPack-AVR, werde aber 
demnächst versuchen auf Xcode umzusteigen :)

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.