Hallo Zusammen, hatte bis jetzt auf meinem alten PIII Winavr aus 2003 benutzt, konnte auch prima debuggen (mit A Studio 3.56) Nun hab ich 3Ghz, AVR Studio 4.11 und Winavr aus 2005 Ich habe das makefile aus Sampels kopiert, Target, MCU eingetragen und weiter unten hinter build noch extcof angefügt. (wie in der Anleitung beschrieben) Wenn ich die .cof Datei mit Avr Studio öffne wird nur hexcode angezeigt Es erscheint unter anderem die Meldung: Coordinator The object file does not contain source code information. Ich bekomme den folgenden Output beim compilieren: > "make.exe" all -------- begin -------- avr-gcc (GCC) 3.4.3 Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiling: test.c avr-gcc -c -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=test.lst -std=gnu99 -MD -MP -MF .dep/test.o.d test.c -o test.o Linking: test.elf avr-gcc -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=test.o -std=gnu99 -MD -MP -MF .dep/test.elf.d test.o --output test.elf -Wl,-Map=test.map,--cref -lm Creating load file for Flash: test.hex avr-objcopy -O ihex -R .eeprom test.elf test.hex Creating load file for EEPROM: test.eep avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \ --change-section-lma .eeprom=0 -O ihex test.elf test.eep Creating Extended Listing: test.lss avr-objdump -h -S test.elf > test.lss Creating Symbol Table: test.sym avr-nm -n test.elf > test.sym Converting to AVR Extended COFF: test.cof avr-objcopy --debugging --change-section-address .data-0x800000 --change-section-address .bss-0x800000 --change-section-address .noinit-0x800000 --change-section-address .eeprom-0x810000 -O coff-ext-avr test.elf test.cof avr-objcopy: test.elf: no recognized debugging information Size after: test.elf : section size addr .text 112 0 .data 0 8388704 .bss 0 8388704 .noinit 0 8388704 .eeprom 0 8454144 .debug_aranges 20 0 .debug_pubnames 27 0 .debug_info 116 0 .debug_abbrev 65 0 .debug_line 161 0 .debug_str 103 0 Total 604 AVR Memory Usage: ----------------- Device: atmega8 Program: 112 bytes (1.4% Full) (.text + .data + .bootloader) Data: 0 bytes (0.0% Full) (.data + .bss + .noinit) -------- end -------- > Process Exit Code: 0 Liegt es an meinem Makefile? Hätte vielleicht jemand ein funktionsfähiges für mich? Vielen Dank im Voraus Axel
Hi mit dem neuen AVRStudio und WINAVR kannst du mit ELF/DWARF2 debuggen und brauchst keine COFF-Dateien mehr. Verwende einfach Mfile um deine makefiles zu erstellen. Da kannst du dann alles nötige einstellen. Matthias
Im makefile ist offensichtlich DEBUG=dwarf-2 eingestellt (-gdwarf-2). Dieses "Debug-Format" ist nicht kompatibel mit dem cof-Konverter. Wie bereits gesagt: dwarf-2 ist die bessere Wahl auf MS-Systemen. Ansonsten DEBUG=stabs im makefile. http://www.mikrocontroller.net/wiki/AVR-GCC-Tutorial#Eingabedateien_zur_Simulation_in_AVR-Studio
Hallo Matthias, Hallo Thomas, mit der .elf Datei kann ich im AVR Studio die Simulation starten. Danke für Eure Antworten Grüße Axel
@mthomas:
> Wie bereits gesagt: dwarf-2 ist die bessere Wahl auf MS-Systemen.
Würde ich nicht so stehen lassen. Bezogen auf AVRstudio gebe ich Dir
Recht, aber es gibt noch andere Tools zum Simulieren wie zB VMLAB die
dwarf-2 nicht unterstützen.
Volkmar
"bessere" != "beste". Das VMLAB besser ist, mag schon stimmen, ich kenne es nur "aus der Werbung".
Mir ging es nicht um die Beurteilung ob AVRstudio oder VMLAB oder welches Tool auch immer das Bessere ist. Mir fiel nur die pauschale Darstellung auf. Und VMLAB war dabei nur ein Beispiel für ein Tool, welches COFF (bzw. EXT-COF) benötigt. Volkmar
Wenn ich das richtig verstanden habe, dann ist (ext)cof eh kein "Normiertes" Format, jeder kocht sein eigenes Süppchen und selbst Atmel hat das eigene Süppchen nie richtig unterstützt...
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.