mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Studio - Compiler Problem: Build failed Ursache unbekannt


Autor: Ralf G. (sense)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab ein kleines Problem mit meinem AVR Studio, ich wollte V-USB 
zusammen mit ein paar anderen Funktionen Compilen, der Build schlägt 
allerdings fehl, hier die Meldungen:
Build started 9.2.2010 at 15:24:12
avr-gcc  -mmcu=attiny2313 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT main.o -MF dep/main.o.d  -c  ../main.c
avr-gcc  -mmcu=attiny2313 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT oddebug.o -MF dep/oddebug.o.d  -c  ../usbdrv/oddebug.c
avr-gcc  -mmcu=attiny2313 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT usbdrv.o -MF dep/usbdrv.o.d  -c  ../usbdrv/usbdrv.c
avr-gcc  -mmcu=attiny2313 -mmcu=attiny2313 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT usbdrvasm.o -MF dep/usbdrvasm.o.d  -x assembler-with-cpp -Wa,-gdwarf2 -c  ../usbdrv/usbdrvasm.S
avr-gcc -mmcu=attiny2313 -Wl,-Map=Lichtschranken_Stoppuhr.map main.o oddebug.o usbdrv.o usbdrvasm.o     -o Lichtschranken_Stoppuhr.elf
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature  Lichtschranken_Stoppuhr.elf Lichtschranken_Stoppuhr.hex
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex Lichtschranken_Stoppuhr.elf Lichtschranken_Stoppuhr.eep || exit 0
avr-objdump -h -S Lichtschranken_Stoppuhr.elf > Lichtschranken_Stoppuhr.lss

AVR Memory Usage
----------------
Device: attiny2313

Program:    1896 bytes (92.6% Full)
(.text + .data + .bootloader)

Data:         52 bytes (40.6% Full)
(.data + .bss + .noinit)


Build failed with 4 errors and 0 warnings...
Anmerkung: Die Meldungen ab "avr-gcc -mmcu=attiny2313 
-Wl,-Map=Lichtschranken_Stoppuhr.map main.o oddebug.o usbdrv.o 
usbdrvasm.o    -o Lichtschranken_Stoppuhr.elf " haben einen roten Punkt 
vorne.
Kann mir vielleicht irgendjemand erklären, was AVR-Studio mir damit 
sagen will ?

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann es sein das einfach nicht alles in den 2313 passt?
Probier doch zum Test mal einen anderen Controller...

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hp-freund schrieb:
> Kann es sein das einfach nicht alles in den 2313 passt?

Ralf G. schrieb:
> Program:    1896 bytes (92.6% Full)

Autor: Grrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einfach mal ein bischen herumscrollen. Irgendwo müssen die 
Fehlermeldungen stehen.

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau. Aber ist das auch der Ganze Code?
Bis jetzt hatte ich immer noch Luft und weiß nicht wie AVR-Studio diesen 
Fehler behandelt.

Zweite Variante wäre noch das dep Verzeichnis ist es 
vorhanden/schreibgeschützt?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Fenster in dem die Build Messages stehen, hat mehrere 
Tabellenreiter, Einer davon schaltet die Anzeige um so dass die 
Fehlermeldungen sichtbar sind.

Autor: Ralf G. (sense)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab alle Fenster durchgeschaut und finde nichts, es wird nur das was 
auf dem Screenshot ist im Build-Fenster angezeigt.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mon dieux!  Bildformate

Das da kann doch kein Schw***n lesen, und die sich nun mittlerweile
wirklich aufdrängenden Hinweise, wofür JPEG gut ist, kannst du
offenbar auch nicht lesen.

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wurde die elf Datei überhaupt erstellt?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ralf G. schrieb:

> Ich hab alle Fenster durchgeschaut und finde nichts, es wird nur das was
> auf dem Screenshot ist im Build-Fenster angezeigt.

Auch die Tabs ausprobiert? Es gibt den Tab Build und den Tab 
Messages in dem Fenster wo obige Meldung steht.

Ansonsten Projekt zusammenarchivieren und anhängen. Vielleicht nimmt 
sich jemand der Sache an.

Autor: Ralf G. (sense)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich meinte die verschiedenen Tabs, sorry das ich Fenster geschrieben 
habe. Code ist im Zip-Archive drin, die .elf Datei und .hex wird alles 
erstellt aber angeblich ist der Build trotzdem fehlgeschlagen. Bezüglich 
das Bildes ging es mir eher um die roten Punkte als um den Text.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ralf G. schrieb:
> wird alles
> erstellt aber angeblich ist der Build trotzdem fehlgeschlagen

Dann solltest du dich wohl an Atmels Support wenden, denn nur die
können den Fehler beheben (der es ja offenbar ist).

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich versuche das mit dem Archiv später nachzuvollziehen.

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ruf doch mal make von hand auf, dann gehen auf jeden Fall keine 
Fehlermeldungen verloren. Das makefile findest du im Ordner default.

Und schau doch mal nach, ob da nicht doch ein .hex-file existiert. Es 
sieht nämlich so aus, als ob Compiler und Linker fehelrfrei 
durchgelaufen wären, und das Studio deren output falsch interpretiert 
hat.

Oliver

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Code ist im Zip-Archive drin, die .elf Datei und .hex wird alles
>erstellt aber angeblich ist der Build trotzdem fehlgeschlagen. Bezüglich
>das Bildes ging es mir eher um die roten Punkte als um den Text.

Uuups, das hatte ich übersehen. Damit ist mein Vorposting überholt.

Oliver

Autor: Hotrenor Taak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

probiere doch mal den Ausgabenamen ("Lichtschranken...") in einen 
kürzeren Namen umzubenennen. Soll manchmal helfen.

Tschüß

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hotrenor Taak schrieb:
> probiere doch mal den Ausgabenamen ("Lichtschranken...") in einen
> kürzeren Namen umzubenennen.

Wäre trotzdem ein Bug im AVR Studio dann.

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau! Der Name ist schuld! Ich habs mal in LS umbenannt, dann ist alles 
ok.

Autor: Ralf G. (sense)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tipp mit dem Namen, jetzt funktionierts bei mir auch 
wunderbar.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun schreib aber bitte auch den Bugreport, sonst wird das nie behoben
werden.

Autor: Kasperle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, bei meinem Studio 4.18 funktioniert es ohne Fehler.

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem ist das "Stop" im Namen. Das triggert den Error-Parser, der 
den Build-Output nach Fehlermeldungen durchsucht.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach, ich dachte, die hätten diesen unsinnigen Versuch, Fehler durch
Parsen nach Stichwörtern zu finden statt den exit-Code auszuwerten,
nun endlich mal aufgegeben.  Nein, die haben offenbar den exit-Code
nur noch zusätzlich zum Text-Parser eingebaut. =:-I

Bitte schreib unbedingt einen Bugreport an Atmel (support bei
atmel punkt com).

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jörg Wunsch schrieb:
> Ach, ich dachte, die hätten diesen unsinnigen Versuch, Fehler durch
> Parsen nach Stichwörtern zu finden statt den exit-Code auszuwerten,
> nun endlich mal aufgegeben.  Nein, die haben offenbar den exit-Code
> nur noch zusätzlich zum Text-Parser eingebaut. =:-I

Nun ja, ohne den Text-Parser geht es doch auch nicht, oder? Das 
AVR-Studio bekommt doch nur den Exit-Code von make zu sehen (*), nicht 
die Exit-Codes der einzelnen von make ausgeführten Kommandos. Und auch 
für das Ermitteln der Details (Anzahl der Fehler, Zeilennummern, etc) 
ist der Parser nötig. Oder übersehe ich da was?

Diese "Stop-Regel" ist aber eindeutig etwas zu simple gestrickt. ;-)

(*): Also eigentlich nur die Info, ob es ganz generell geklappt hat, 
oder Probleme gab.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan Ernst schrieb:
> Nun ja, ohne den Text-Parser geht es doch auch nicht, oder?

Für Warnungen vielleicht, für den Fehlerstatus braucht man's nicht.

> Das
> AVR-Studio bekommt doch nur den Exit-Code von make zu sehen (*), nicht
> die Exit-Codes der einzelnen von make ausgeführten Kommandos.

make bricht aber nach dem ersten Fehler ab, sofern man es nicht als
"make -k" aufruft.  Für den "make -k"-Fall gibt's aber ein ziemlich
eindeutiges Muster, welchen Text make dann ausgibt und trotzdem
weiter macht.

An sich ist das aber völlig wurscht, die roten und grünen Punkte
nützen doch eh' keinem was.  Man muss die Fehlermeldungen sehen,
und bevor man zu einem Ergebnis kommt, muss man ohnehin alle
Fehler beseitigen.

Auf "Stop" muss man jedenfalls nie testen, denn das würde immer über
den Exit-Status erfasst.

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.