www.mikrocontroller.net

Forum: Compiler & IDEs Problem mit mega32 und dwarf-2


Autor: Jens B. (sio2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Compiling: main.c
avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=14745600UL  -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wa,-adhlns=main.lst  -std=gnu99 -MD -MP -MF 
.dep/main.o.d main.c -o main.o
main.c:1: error: target system does not support the "dwarf-2" debug 
format

Ich hab die Vorlage des Makefile von MFILE benutzt und nur den 
Controllertyp und die Frequenz geaendert, und bekomme diese 
Fehlermeldung. Kann aber nicht wirklich etwas damit anfangen, und 
dwarf-2 benötige ich ja zum debuggen.
Worann kann das liegen?

besten Dank

SiO2

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

Bewertung
0 lesenswert
nicht lesenswert
> Worann kann das liegen?

Daran, dass dein Compiler nicht für DWARF-2-Debuginformationen
konfiguriert worden ist.

> und dwarf-2 benötige ich ja zum debuggen.

Nur für AVR Studio.  Offenbar hast du ja keinen AVR-GCC aus
dem WinAVR-Paket, dann lass uns vielleicht ja mal ein wenig
mehr über deine Umgebung wissen.  Meine Kristallkugel ist leider
gerade in der Reparatur.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, wieso dwarf-2 ? Ich bin der Meinung das zum Debuggen heutzutage ELF 
benutzt wird.

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

Bewertung
0 lesenswert
nicht lesenswert
Dirk wrote:

> Hi, wieso dwarf-2 ? Ich bin der Meinung das zum Debuggen heutzutage ELF
> benutzt wird.

Genau.  Wofür ein Auto, wenn ich doch einen Golf fahre.

Autor: Jens B. (sio2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
# Debugging format.

#     Native formats for AVR-GCC's -g are dwarf-2 [default] or stabs.

Deswegen. Ich fange grad mit C aufm AVR an, und bin ausgegangen, das das 
"Standard" ist zum debuggen.
Also brauch ich nur
DEBUG = ELF ?

@Jörg. Ich bin davon Ausgegangen, das es , egal ob win oder GNU/Linux, 
gleich ist auf den Systemen.
avr-libc 1.4.4
avr-binutils 2.16
avr-gcc 3.4.4

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

Bewertung
0 lesenswert
nicht lesenswert
Jens B. wrote:

> #     Native formats for AVR-GCC's -g are dwarf-2 [default] or stabs.

> Deswegen. Ich fange grad mit C aufm AVR an, und bin ausgegangen, das das
> "Standard" ist zum debuggen.
> Also brauch ich nur
> DEBUG = ELF ?

Nein.  Steht ja auch nicht da, dass es das gäbe.  ELF-Files sind das
alles, egal ob mit stabs oder DWARF-2 als Debuginformation.

> Ich bin davon Ausgegangen, das es , egal ob win oder GNU/Linux,
> gleich ist auf den Systemen.

Nein, leider nicht.  Erstens kommen die Tools leider nicht ohne
Patches aus, und das Einschalten der Möglichkeit,
DWARF-2-Debuginformation zu generieren, braucht zumindest einen
nicht-default-Option zu ./configure.  Du musst also schon mal wissen,
wie derjenige, der deinen Compiler gebaut hat, sein configure gemacht
hat.

Zweitens ist das DWARF-2 bislang für den AVR-GCC eher halbherzig
implementiert, oder genauer gesagt ist es nur ein Abfallprodukt
dessen, dass GCC's wesentliche Zielplattformen (i386 und amd64 alias
x86_64) DWARF-2 unterstützen und mittlerweile wohl zum default gemacht
haben.  Das führt aber dazu, dass DWARF-2 innerhalb der gesamten Kette
für den AVR nicht sehr ordentlich funktioniert.  Der Assembler
schafft's gleich gar nicht, saubere DWARF-Debuginfo zu liefern wenn
man ihn mit -gdwarf2 aufruft, obwohl er das für einen i386-Prozessor
z. B. kann.  (Darunter leiden derzeit auch die AVR-Studio-Nutzer.)
Der GDB versteht das DWARF-2 für den AVR eher schlecht als recht, da
ihm das einfach noch nie jemand beigebracht hat.  Im Gegensatz dazu
ist stabs ein wohlverstandenes und -implementiertes Debugformat -- nur
dass AVR Studio es eben nicht versteht, und daher DWARF-2 nehmen muss
(oder das altertümliche AVR-COFF).

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.