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
> 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.
Hi, wieso dwarf-2 ? Ich bin der Meinung das zum Debuggen heutzutage ELF benutzt wird.
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.
# 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
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).
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.