mikrocontroller.net

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


Autor: Frank B. (murdock)
Datum:

Bewertung
0 lesenswert
nicht 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
avrdude -c usbasp -p m8 -Pusb
als Antwort

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x000202
avrdude: Expected signature for ATMEGA8 is 1E 93 07
         Double check chip, or use -F to override this check.

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:
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
java.lang.NullPointerException
 wird mir auch relativ oft angezeigt.

- Unter Problems erhalte ich immer die Warnung
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!

Autor: Frank B. (murdock)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thomas Z. (solo0506)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Frank B. (murdock)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Frank B. (murdock)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Frank B. (murdock)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab endlich rausgefunden worauf das ganze Internet keine Antwort hat 
xD

Und zwar bekommt man den Fehler
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

Autor: Thomas Z. (solo0506)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: kyrel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Frank B. (murdock)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thomas Holland (innot)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Frank B. (murdock)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Cool dass du uns helfen willst :)

Terminal spuckt aus:
avr-gcc: no input files

Autor: Thomas Holland (innot)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Frank B. (murdock)
Datum:
Angehängte Dateien:
  • log (685 KB, 180 Downloads)

Bewertung
0 lesenswert
nicht lesenswert
Hier, viel Spaß beim Lesen :D

Autor: Thomas Holland (innot)
Datum:

Bewertung
0 lesenswert
nicht 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/forum...

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

Autor: Hanser (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
/opt/local/bin
 anstatt dem usr-Ordner


VG
Hans

Autor: Frank B. (murdock)
Datum:

Bewertung
0 lesenswert
nicht 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 :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.