mikrocontroller.net

Forum: Compiler & IDEs Eclipse und avr plugin zerschossen


Autor: Chris Tian (chris0086)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute, ich habe ein riesen Problem:
Schreibe in C mit eclipse und dem avr plugin.
Hatte das alles wie im Tutorial 
hier:http://www.wiki.elektronik-projekt.de/mikrocontrol...
beschrieben installiert und es funktionierte prima.

Dann sollt ich einen µc mit c51 Kern programmieren, also alles nötige 
für eclipse runter geladen und installiert. Aber funzte nicht.
Nun wollt ich wieder avr programmieren und das geht nun auch nichtmehr.
Hab alles deinstalliert und gelöscht und eclipse und plugins wie im oben 
genannten Tutorial wiede rinstalliert.
Leider geht es trotzdem nicht.

Beim compilieren kommt nun folgender Fehler:
Building file: ../main.c

Invoking: AVR Compiler
avr-gcc -Wall -g2 -gstabs -O2 -fpack-struct -fshort-enums 
-funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=8000000UL 
-MMD -MP -MF"main.d" -MT"main.d" -c -o"main.o" "../main.c"
/usr/bin/sh: /c/WinAVR-20081205/bin/avr-gcc: Bad file number
make: *** [main.o] Error 126

Weis jemadn woran es liegen kann?
Stehe kurz davor ne Formatiersession zu starten, weil ich das unbedingt 
brauche.

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht solltest Du cygwin neu installieren?
Oder wo kommt das /usr/bin/sh her?

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist wohl eher ein Problem der WinAVR-Installation.

Hat die c51-Compiler-Installation die Pfade verstellt?

Gibt es da eine andere "Linux"-sh auf deinem Rechner?

Als erstes würde ich mal WinAVR de- und dann neu installieren.

Oliver

Autor: Chris Tian (chris0086)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus , danke für die Antworten also es läuft glaub ich noch der sddc 
compiler. Muss ich mal sehen wie ich den wieder runter bekomme.
Winavr hab ich schon 2 mal neu istalliert in der im Tut angegebenen 
Version.

Autor: Chris Tian (chris0086)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag sdcc ist nichtmehr installiert, also kann von da nichts kommen

Autor: Thomas Holland (innot)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde mal darauf tippen, dass ein falsches 'make' gestartet wird. 
Check doch mal die Pfade unter Preferences -> AVR -> Paths und stell 
sicher, dass der Pfad zu 'make' auf Dein winAVR\util\bin Verzeichnis 
zeigt.

Wenn das nicht hilft dann mal folgendes Probieren:
Bei einem AVR Projekt die Properties öffnen, zu C/C++ Build gehen, dann 
im 'Builder Settings' Tab das Häckchen bei 'use default build command' 
entfernen und dafür im Textfeld darunter den kompletten Pfad zu 'make' 
eingeben, z.b. 'D:\AVR\WinAVR-20090313\utils\bin\make'

Damit müsste es eigentlich funktionieren.


Hintergrund:

Eclipse startet zum kompilieren das erste 'make', das es im PATH findet. 
Deswegen hängt das AVR Plugin den Pfad zum Compiler und zu 'make' vor 
den normalen Systempfad. Der genauen PATH kann man sich bei den Project 
properties unter 'C/C++ Build -> Build Variables -> Show system 
variables' anzeigen lassen.

Autor: Chris Tian (chris0086)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also das mit dem Pfad ím make manuell einffügen hat leider nicht 
funktioniert. Gibt es noch andere Vorschläge?

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach mal ein Eingabefenster auf, und tippe "which make.exe" ein. Da 
sollte dann das make aus dem WinAVR-Paket angezeigt werden. Wenn nicht, 
geh halt in die Systemsteuerung, und schmeiß den falschen Eintrag dort 
raus.

Oliver

Autor: Chris Tian (chris0086)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich gemacht, der Pfad stimmt auch.

Autor: Chris Tian (chris0086)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn ich ein neues Projekt anlege und nur die main.c und dann auf 
kompilieren drücke kommt folgende Meldung:
Building target: test2.elf
Invoking: AVR C Linker
avr-gcc -Wl,-Map,test2.map -mmcu=atmega162 -o"test2.elf"  ./main.o
c:/winavr-20081205/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5/crt 
m162.o:(.init9+0x0):  undefined reference to `main'
make: *** [test2.elf] Error 1

vielleicht hilft das ja weiter

Autor: Chris Tian (chris0086)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also hab jetzt ne andere festplatte reingeschoben und da windows 
installiert und eclipse wie im tut beschrieben und funzt einwandfrei.
Nur schade das es nicht mit der alten konfiguration geht.

Autor: Thomas Holland (innot)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian Hohmann schrieb:
> Also wenn ich ein neues Projekt anlege und nur die main.c und dann auf
> kompilieren drücke kommt folgende Meldung:
> Building target: test2.elf
> Invoking: AVR C Linker
> avr-gcc -Wl,-Map,test2.map -mmcu=atmega162 -o"test2.elf"  ./main.o
> c:/winavr-20081205/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5/crt 
m162.o:(.init9+0x0):
> undefined reference to `main'
> make: *** [test2.elf] Error 1
>
> vielleicht hilft das ja weiter

In Deiner main.c fehlt die "main" Funktion. Zum testen reicht ein
int main(void) {
    return 0;
}

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.