Forum: Compiler & IDEs .elf Fehler - kommt immer wieder und macht mich wahnsinnig


von Chief (Gast)


Lesenswert?

Keine Hilfe ist auch eine Hilfe - soviel zum Thema AVR-Studio:
Kann mir bitte jemand weiterhelfen?
1
// TEST
2
3
#include <avr/io.h>
4
5
int main()
6
{
7
  int i;
8
9
  while(1)
10
  {
11
12
  }
13
  return 0;
14
}

Fehler:
gcc plug-in: Error: Object file not found on expected location 
C:\temp\test\default\test.elf


Bitte dringend um Hilfe, werde sonst meine Tastatur mit dem Monitor 
bekannt machen ;)
(...)

__
AVRStudio v4.13 ServicePack 1
WinAVR newest

: Gesperrt durch User
von Peter D. (peda)


Lesenswert?

Wozu braucht man ein elf-File?

Ich erzeuge immer nur ein Hex-File.

Peter

von Tobias Conte (Gast)


Lesenswert?

Hast du Vista???

von Chief (Gast)


Lesenswert?

Der Fehler kommt bei allem was ich mach. Selbst bei Projekten, die ich 
an einem anderen PC bereits übersetzt habe und funktionstüchtig sind.

Ich benutze Win XP SP 2 Prof Ed.

die .elf Datei wird anscheinend von makefile erzeugt (..)

die .hex file will ich haben...

der Fehler hindert mich sie zu bekommen

von Tobias Conte (Gast)


Lesenswert?

Hast Du vielleicht einen Ordner verschoben?

von ... (Gast)


Lesenswert?

Immer wieder dieselbe Frage. Wozu gibt es eigentlich eine "Suchen" 
Funktion hier im Forum?

Die Fehlermeldung stammt vom gcc-Plugin des AVRStudio und besagt erstmal 
nur, daß die .elf Datei nicht erzeugt wurde. Warum das so ist (also den 
eigentlichen Fehler) findet man in einem weiteren Meldungsfenster des 
AVRStudio, das die Ausgaben von GCC/make enthält (siehe z.B. auch hier: 
Beitrag "Re: "Object File Not Found"" ).

von Chief (Gast)


Lesenswert?

=================================
Postings aus dem anderen Forum:
=================================

Es gibt nicht nur ein Message Window. Nimm das, das ganz links steht,
und nicht das wo die Meldungen fürs gcc-plugin drin stehen.

Ansonsten hilft's auch den Compiler von Hand zu bedienen.

___________________________________

OK HAst recht, ganz links (Build Window) steht das hier:

Build started 1.8.2006 at 18:25:49
avr-gcc.exe -I"D:\Code\."  -mmcu=atmega16 -Wall -gdwarf-2 -O0 -MD
-MP -MT Machine3.o -MF dep/Machine3.o.d  -c  ../Machine3.c

This application has requested the Runtime to terminate it in an
unusual way.
Please contact the application's support team for more information.
make: *** [Machine3.o] Error 3
Build succeeded with 0 Warnings...

Aber damit kann ich nicht viel anfangen. Gensauso wenig mit dem
sicherlich hilfreich gemeinten Tipp, den Compiler von Hand zu bedienen.
Ich habe bisher nur Assembler programmiert und bräuchte um damit etwas
anfangen zu können recht konkrete Hinweise...
Vielen DAnk schonmal im Voraus :-)Antwort Re: "Object File Not Found"
Autor: Jörg Wunsch (dl8dtl)
Datum: 01.08.2006 21:06

______________________________________________
Ich kann damit auch nicht viel anfangen, Gugel und Microsofts
Support jedoch schon. =:-)

Winzigweich lässt grüßen...  Grusel, Zitat:
A supported hotfix is now available from Microsoft, but it is only
intended to correct the problem that is described in this article. Only
apply it to systems that are experiencing this specific problem. This
hotfix may receive additional testing. Therefore, if you are not
severely affected by this problem, we recommend that you wait for the
next Windows XP service pack that contains this hotfix.

Am besten wendest du dich wohl an den Support von Atmel Trondheim
(avrbeta at atmel punkt com).
=================================================


Für mich hört sich das nicht nach Hilfe an. Und schon gar nicht nach ner 
Lösung.
Alles was da steht ist: ICH WEIß AUCH NICHT!

Ich habe gehofft hier jemanden zu finden der schreibt:

Öffe die und die Datei und änder den und den Schlüßel auf Wert XXX.
Wie ihr meinem Quellcode entnehmen könnt programmier ich ja nicht die 
unglaublichsten Sachen...

Bitte um weitere, konstruktive Lösungsvorschläge.
Bevor ich mich bei Atmel melde...

Danke

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Also ich kann den Code einwandfrei compilieren:
1
4.1.2
2
X.C: In function 'main':
3
X.C:7: warning: unused variable 'i'
4
   text    data     bss     dec     hex filename
5
    150       0       0     150      96 test.out


Ich benutze aber kein AVRStudio und kein Make, sondern compiliere in ner 
DOS-Box mit meiner Batch (im Anhang).


Peter

von ... (Gast)


Lesenswert?

@Chief:

Anstatt die Postings aus dem anderen Thread zu kopieren hättest Du mal 
BEI DIR in das "Build Window" schauen sollen! Und eventuell mal die 
Fehlermeldung posten sollen die BEI DIR dort steht, falls Dir die nicht 
so schon weiterhilft. Ansonsten wird das hier nur eine wilde Rumraterei.
Eine Ursache könnte z.B. auch sein, dass Du WinAVR in einen Pfad 
installiert hast, der Leerzeichen enthält. Einige weitere Ursachen 
findest Du mit Hilfe der erwähnten Suchfunktion: 
http://www.mikrocontroller.net/search?query=Object+file+not+found
Auch das Wiki enhält einen entsprechenden Abschnitt: 
http://www.mikrocontroller.net/articles/WinAVR#gcc_plug-in:_Error:_Object_file_not_found_on_expected_location
Inclusive weiterer Links.
Aber wie gesagt, solange Du nicht die konkret bei Dir auftretende 
Fehlermeldung mitteilst sind das alles nur Mutmaßungen.

von Chief (Gast)


Lesenswert?

Hab mir fleißig wie ich bin die Foren durchgelesen, die ich noch nicht 
durchstöbert hatte mit keinem Ergebnis.

Das einzige was ich festgestellt habe, ist:
Mehr Leute haben das Problem - und niemand kann wirklich sagen an was es 
gelegen hat, bzw hat Rat.

Hier die Konsolenmeldung, die ich nicht gepostet habe, da ich mich auf 
den 0 Warnings... post verlassen habe (...)

___________________________________________________
Build started 13.11.2007 at 14:46:16
make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4217b3)
Build succeeded with 0 Warnings...
___________________________________________________

Habe das AVRStudio in ein neues Verzeichnis installiert ohne 
Leerzeichen, da ich gehoft und gebangt habe es könnte dan klappen 
aber... nein.

Das einzige was jetzt noch ist:
Es befindet sich in einem Verzeichnis mit mehr als 8 Buchstaben
(...\Programme\.)

Das sollte aber nicht wirklich ein Fehler sein oder? Zumindest werde ich 
das nicht einfach ohne euer zutun ausprobieren...

=========================
Zusammenfassung:
nix hilft ;-(
AVRStudio neueste Version mit Update
WinAVR neueste Version
Keine Einstellungen in AVR Studio vorgenommen
Projekt mit ATmega32 angelegt
Programmcode der Fehler verusacht wurde bereits auf anderem System 
compiliert und für i.O. befunden (-> läuft)
(kann oben nachgelesen werden)
kein Programm befindet sich in einem gefürchtetem Verzeichniss mit 
Leerzeichen

Entschuldigt meine sporadische Ironie,...

Danke nochmal an alle die helfen wollen!
Bitte weitermachen ;)

von Peter D. (peda)


Lesenswert?

Manchmal sieht auch die Path-Variable aus, wie bei Hempels unterm Sofa.

Alle (un)möglichen Programme tragen sich dort ein, obwohl unter Windows 
unnötig.
Ich glaub, die ist sogar begrenzt auf 2048 Zeichen.
Insbesondere wenn man noch andere Compiler installiert hat, kanns dort 
krachen.

Streich mal alles raus, was nicht zum AVR-GCC gehört (vorher 
Wiederherstellungspunkt anlegen).


Peter

von Stefan B. (stefan) Benutzerseite


Lesenswert?

1
make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4217b3)

Das ist ein "neuer" Fehler, der im WinAVR Artikel noch nicht behandelt 
ist. Aber Google spuckt ein paar 30 Treffer aus aus denen man 
Nachforschungen ableiten kann

Kannst du

1/ den kompletten Projektordner inkl. Zwischendateien zusammenpacken und 
bereitstellen? Vielleicht lässt sich das Problem nachstellen und man 
kann mit eigenen Augen und Tools der Sache nachgehen

2/ angeben, welche Versionsnummern deine Toolchain hat, d.h. vor allem 
welche AVR Studio Version und welche WinAVR Version? Dadurch lassen sich 
grobe Inkompatibilitäten ausschliessen und die Suche kann eingeschränkt 
werden. Ich würde zunächst ein Update auf jeweils die neuste Version 
empfehlen.

3/ angeben, ob das Problem nur beim Aufruf aus AVR Studio heraus 
auftritt oder auch beim Bedienen von WinAVR ohne AVR Studio (d.h. aus 
Programmers Notepad PN2 heraus)? Diese Frage ist möglicherweise für 
einen Anfänger schwierig zu beantworten. Auch hier kann ggf. das 
Nachstellen vereinfacht oder die Suche eingeschränkt werden.

4/ angeben unter welchem Pfad dein WinAVR gesucht wird? Dazu DOSBOX 
öggnen (Start=>Ausführen und cmd eintippen. Dann set PATH eintippen und 
Ausgabe hier angeben). "Komische" Pfade waren in der Vergangenheit 
bereits Problemquellen. Wenn du dabei bist, auch mal make -v eintippen 
und die Ausgabe notieren. Das sollte zeigen, ob make.exe im Pfad 
gefunden wird und dessen Versionsnummer. Ich habe eine Nachricht 
gesehen, die ei als "tödlich" bezeichnet WinAVR ganz vorne im Pfad zu 
haben. Ich kann mir das zwar nicht vorstellen/erklären, aber einen 
Versuch wäre es wert, die Reihenfolge im Pfad umzustellen.

5/ angeben, ob du eine Spezialshell installiert hast. Ich denke hier an 
Tools aus den Cygwin/MingW32/MSYS Ecken oder ein Compiler wie z.B. 
Dev-Cpp. Es kann für einen Normalouser schwierig sein, das sicher zu 
verneinen. Manche andere Software bringt solche Hilfstools mit. 
Vielleicht scannst du deine Platten mal nach sh.exe, bash.exe, csh.exe 
oder zsh.exe und cygwin1.dll. Bei Funden muss das nicht per se schlecht 
sein, aber es wäre ein Anhaltspunkt für die weiteren Nachforschungen. 
Bei allen eventuellen Funden von cygwin1.dll bitte Pfad und 
Dateiversion, Dateigrösse notieren; möglicherweise foppt dich eine 
ältere Version dieser DLL. Im Pfad sollte auch nichts mit Cygwin 
auftauchen.

von Simon K. (simon) Benutzerseite


Lesenswert?

Stefan "stefb" B. wrote:
> DOSBOX
DOSBOX? Konsole!

> set PATH
einfach nur "PATH" reicht.


bestimmt ein Linuxer? :D

von Chief (Gast)


Lesenswert?

Vielen Dank Jungs!

("ich") Hab das Problem gefunden

In den Foren war immer die Rede vom Projekt das sich in nem Verzeichnis 
mit Leerzeichen (siehe unten) befindet - ... (Gast) hat mich dann rabiat 
darauf aufmerksam gemacht mal mein AVR Studio darauf zu überprüfen... 
Das tat ich natürlich auch. Da hat aber ein weiteres Zucken in den 
Synapsen gefehlt dies natürlich auch für WinAVR zu klären.

Erst Stefan hat mich mit seinem Posting noch mit dem Befehl >set path< 
darauf aufmerksam gemacht. (kann mir mit meinem momentanen Verständnis 
aber noch nicht erklären, warum WinAVR so aufgerufen wird [...anderes 
Thema...]
1
=> Danke Stefan

um mich ein bisschen verbindlich zu zeigen hab ich mir die Mühe gemacht 
noch ein paar seiner Fragen nachzugehen - vielleicht um weiteren Leuten 
(die sicher kommen werden) zu helfen.

=================
nicht Schuld war:

5. Habe Dev-C++ installiert (benutzte das als Alternative zu MSCPP)
   - das ich auch installiert habe > MS Visual Studio 6.0
   außerdem:
   - Multisim 9
   - LabView 7.1

3. demnach denke ich dass der Fehler auch unter der Konsole von WinAVR 
aufgetreten wäre - kann das aber noch nicht ausprobieren, da ich mich zu 
sehr auf Neuland bewege.

2. AVR-Studio 4.13 Service Pack 1
   WinAVR-20070525-install.exe
_______________

Danke nochmal für eure Mühe. Hätte nicht gerechnet, dass es sich um so 
einen Fehler handen könnte, da ich 1000 und 1 Tool in meinem
1
E:\[--Laufwerk-D--]\Programme

Verzeichniss installiert habe.
Darunter sind die meisten Freewaretools, wie Leveleditoren... 
Bildbearbeitung... usw. >Hab von professioneler Software mehr erwartet<

!(wobei ich jetzt seh - da is ja gar kein Leerzeichen) :-[]

schön dass sich hierdurch vielleicht eine "neue" Fehlermeldung geklärt 
hat

Grüße Chief

von ... (Gast)


Lesenswert?

Hi Chief,

Schön das Du das Problem gefunden hast. Wollte grad noch schreiben, daß 
nicht nur Leerzeichen sondern auch Sonderzeichen in Verzeichnisangaben 
Probleme bereiten, aber nun warst Du ja schneller.
In einem der anderen Threads hier im Forum waren es übrigens runde 
Klammern, in einem weiteren war von Umlauten die Rede und in irgendeinem 
französischen Forum (das man mit dem Errorcode und Google findet) gabs 
auch Hinweise auf eckige Klammern.
Übrigens ein "weiteres Zucken in den Synapsen" wäre eigentlich auch gar 
nicht nötig gewesen. Wenn Du meinen Post richtig gelesen hättest wäre 
Dir vielleicht aufgefallen, daß dort explizit von WinAVR die Rede war 
und nicht vom AVRStudio.

CU

von Hoschi (Gast)


Lesenswert?

... Hatte das selbe Problem:

Bei Windows 7 habe ich alles in den Ordner "Programme (x86)" installiert 
und bin an dem Fehler fast eingegangen!
Jetzt ist alles direkt unter C:\WinAVR... (lt. Vorgabe)installiert und 
es läuft!

...schön dass es Euch gibt ;)

von Uli (Gast)


Lesenswert?

Danke! Der Therad hat mir auch sehr geholfen. Wer hat’s gedacht dass es 
an dem Verzeichnis liegen konnte. (War zu mindestens  bei mir die 
Fehlerursache)

von bert (Gast)


Lesenswert?

Für Win7 64bit &Co funktionierts auch den Pfad für 32 bit Programme auf 
progra~2 zu ändern! ;)

von Michl (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Wozu braucht man ein elf-File?

z.B. zum Debuggen

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.