www.mikrocontroller.net

Forum: Compiler & IDEs GNU Assembler und AVRStudio


Autor: Steffen Luzemann (neil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

gibt es mittlerweile eine Möglichkeit GNU Assembler Programme mit
AVRStudio (4.11 SP3) zu debuggen? Nach 3 Abenden googlen bin ich nicht
schlauer geworden. Ich mache Folgendes:

avr-as --mmcu attiny15 --gstabs -o main.o main.S
avr-ld main.o -o $(TARGET)
avr-objcopy -O coff-ext-avr --debugging main.elf main.cof

AVRStudio erzählt mir beim Laden des .cof Files:
"Coordinator The object file does not contain source code
information.
StudioMain InitDisassembler Error in accessing parser"
Ich sehe im Prinzip nur den disassemblierten Code.
'--gstabs' habe ich auch mal mit '--gdwarf2' ersetzt; gleiches
Resultat.

Ich arbeite unter Cygwin. Im Moment habe ich einen ATtiny15 in der
Mache und das ist nur in Assembler möglich. Ich würde gern GNU
verwenden, nur stellt mich das Debuggen bzw. Simulieren des Codes vor
ziemlich große Schwierigkeiten. 'simulavr' im aktuellen WinAVR
Package unterstützt leider keinen ATtiny15. Scheint aber eine ältere
Version zu sein (0.1.2.1). Eine neuere Version von simulavr konnte ich
unter Cygwin nicht bauen ('configure' erzählt mir nach einer Weile
irgenwas von:

"...checking bfd search- /usr/binutils/avr/2.15 + coff-avr-patch
(20030831)/i686-pc-cygwin/avr in "include" and "lib"...
./configure: line 22464: test: too many arguments)"

und bricht ab.)

Ist es beim Tiny15 vielleicht doch besser auf den originalen AVR
Assembler umzusteigen? Ich bin fast schon soweit...

Neil

Autor: Werner B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ist es beim Tiny15 vielleicht doch besser auf den originalen AVR
>Assembler umzusteigen? Ich bin fast schon soweit...

Vertausche die ersten beiden worte und lasse das 'vielleicht' weg ;)

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

Bewertung
0 lesenswert
nicht lesenswert
simulavr muss auch nicht sehr viel von deinem Controller wissen, du
kannst also eine at90s2313 oder sowas stattdessen auswählen (irgendwas
mit gleicher Speichergröße).

Du könntest auch -gstabs mit dem leidigen COFF-Konverter probieren.
Da musste man noch irgendwie zwei .stabs-Anweisungen reinwerfen, damit
der Konverter den aktuellen Dateinamen auch kennt und in die
COFF-Debug-Info schreibt, aber ansonsten haben das wohl Leute benutzt.

Dass -gdwarf2 nicht wirklich geht, ist noch ein Bug in der
DWARF-2-Unterstützung der Toolchain.  Nur zur Erinnerung, dass DWARF-2
überhaupt einigermaßen funktioniert, ist nur ein Seiteneffekt davon,
dass die mainstream-Plattformen (i386, amd64) auf DWARF-2 umgestiegen
sind, für den AVR hat diesen Umstieg niemand vorsätzlich getan.
Leider ist aber auch mainstream der DWARF-2-Support eher parziell
(schreibt man das jetzt so?), z.B. kann avr-objcopy kein DWARF-2
selbst parsen noch kann es aus stabs DWARF-2 erzeugen.

Autor: Steffen Luzemann (neil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nehme den Assembler von Atmel. Alles andere 'verbrennt' nur noch
mehr Zeit. Also danke für Eure Hinweise.

Steffen

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.