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


von Ralf G. (sense)


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:
1
Build started 9.2.2010 at 15:24:12
2
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
3
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
4
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
5
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
6
avr-gcc -mmcu=attiny2313 -Wl,-Map=Lichtschranken_Stoppuhr.map main.o oddebug.o usbdrv.o usbdrvasm.o     -o Lichtschranken_Stoppuhr.elf
7
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature  Lichtschranken_Stoppuhr.elf Lichtschranken_Stoppuhr.hex
8
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
9
avr-objdump -h -S Lichtschranken_Stoppuhr.elf > Lichtschranken_Stoppuhr.lss
10
11
AVR Memory Usage
12
----------------
13
Device: attiny2313
14
15
Program:    1896 bytes (92.6% Full)
16
(.text + .data + .bootloader)
17
18
Data:         52 bytes (40.6% Full)
19
(.data + .bss + .noinit)
20
21
22
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 ?

von hp-freund (Gast)


Lesenswert?

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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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

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

von Grrr (Gast)


Lesenswert?

Einfach mal ein bischen herumscrollen. Irgendwo müssen die 
Fehlermeldungen stehen.

von hp-freund (Gast)


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?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

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

von Ralf G. (sense)


Angehängte Dateien:

Lesenswert?

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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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.

von hp-freund (Gast)


Lesenswert?

Wurde die elf Datei überhaupt erstellt?

von Stefan B. (stefan) Benutzerseite


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.

von Ralf G. (sense)


Angehängte Dateien:

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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).

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ich versuche das mit dem Archiv später nachzuvollziehen.

von Oliver (Gast)


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

von Oliver (Gast)


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

von Hotrenor Taak (Gast)


Lesenswert?

Hallo,

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

Tschüß

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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.

von hp-freund (Gast)


Lesenswert?

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

von Ralf G. (sense)


Lesenswert?

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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nun schreib aber bitte auch den Bugreport, sonst wird das nie behoben
werden.

von Kasperle (Gast)


Lesenswert?

Also, bei meinem Studio 4.18 funktioniert es ohne Fehler.

von Stefan E. (sternst)


Lesenswert?

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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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).

von Stefan E. (sternst)


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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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.

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
Noch kein Account? Hier anmelden.