www.mikrocontroller.net

Forum: Compiler & IDEs Makefile erzeugt keine brauchbare .cof Datei


Autor: Axel Jeromin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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-Tutori...

Autor: Axel Jeromin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matthias, Hallo Thomas,
mit der .elf Datei kann ich im AVR Studio die Simulation starten.

Danke für Eure Antworten

Grüße
Axel

Autor: Volkmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"bessere" != "beste".
Das VMLAB besser ist, mag schon stimmen, ich kenne es nur "aus der
Werbung".

Autor: Volkmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

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.