www.mikrocontroller.net

Forum: Compiler & IDEs Studio 4.12 mit GCC 3.3.1


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Nachdem ich das neue Studio 4.12 installiert habe, gibts
Schwierigkeiten beim debuggen. Es kann nicht in ein Unterprogramm
hineingesprungen werden: man landet immer an einer falschen Zeile, oft
sogar öffnet sich eine andere Datei....


Frage: läuft das Studio nicht mit dem GCC 3.3.1? oder sind die von mir
verwedeten Optionen nicht korrekt:

Compiler:
avr-gcc -g -Wall -O2 -mmcu=atmega64 -c -o dateiname.o dateiname.c

Linker:
avr-gcc Datei1.o Datei2.o -Wl,-Map=Datei.map, -oDatei.elf --cref
-mmcu=atmega64

Coff-Erzeuger:
avr-objcopy --debugging -O coff-ext-avr --change-section-address
.data-0x800000 --change-section-address .bss-0x800000
--change-section-address .noinit-0x800000 --change-section-address
.eeprom-0x810000 Datei.elf Datei.cof



wenn ich die Option -gdwarf-2 setzen, geht es überhaupt nicht mehr...

Was mache ich wohl falsch?

Autor: XKSascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du es schon mit -O0 anstatt -O2 probiert ?

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja habe ich versucht. Macht nur keinen Unterschied.

mit der dwarf-2 Option geht's gar nicht, da kann ich nicht mal das
main durchsteppen..

Autor: MSE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
-O2 bedeutet, dass der Compiler ganz heftig optimiert. Das hat in der
Regel zur Folge, dass das Ergebnis ziemlich vom Quellcode abweicht.

Wenn Du das ganze ohne Optimierung compilierst (also mit -O0), dann
sollten solche Abweichungen nicht auftreten.

Gruß, Michael

Autor: MSE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oops, da kam mir nicht nur ein Beitrag sondern eine ganze Unterhaltung
zu vor...!

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit dem Studio 4.11 und diversen Vorversion hat das aber immer
anstandslos geklappt. (einen Unterprogrammaufruf über dateigrenzen
hinweg dürfte wohl keine Optimierungsstufe wegputzen)

ich vermute eher, dass irgendeine inkompatibiltät zwischen GCC-"alt"
und Studio-"neu" besteht.

In der Studio-Hilfe steht was von dwarf-2 Format. damit gehts aber
überhaupt nicht.

 muß ich beim Link-Lauf noch ein Format angeben?

wie sehen eure Aufrufe (Compiler Linker Coff-Formatter aus) aus?

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.