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/mikrocontroller/avr/avr_eclipse_tutorial 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.
Vielleicht solltest Du cygwin neu installieren? Oder wo kommt das /usr/bin/sh her?
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
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.
Nachtrag sdcc ist nichtmehr installiert, also kann von da nichts kommen
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.
Also das mit dem Pfad ím make manuell einffügen hat leider nicht funktioniert. Gibt es noch andere Vorschläge?
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
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
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.
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
1 | int main(void) { |
2 | return 0; |
3 | }
|
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.