C++ in VMLAB

Gast #1816640
Lesenswert?
• ▲
▼
Hallo,

ich brauche nochmals eure Hilfe. Ich habe c++ Code, der für avrgcc 
geschrieben ist. Mit WINAVR keine Probleme. Jetzt wollte ich den Code 
auf Grund fehlender Hardware im Simulator VMLAB testen. Doch da 
kompiliert er mirs nicht und will unbedingt C Code. Der Code den ich 
weiter entwicken soll ist aber c++. Wisst ihr wie ich hier jetzt 
vorgehen muss um den Code doch noch zu simulieren?
Oder kennt jemand ein besseres kostenloses Simulationstool?

viele Grüße blue
Moderator Persönliche Seite #1816659
Lesenswert?
• ▲
▼
Sagt doch keiner, dass du den Code innerhalb von VMlab compilieren
musst, du kannst dem auch ein komplett externes Compilat unter-
schieben oder von dort aus mit einem eigenen Makefile compilieren.

Kann VMlab mittlerweile eigentlich ELF/DWARF-2?  Ich kenne das noch
als letzten "Konsumenten" von COFF-AVR, und in diesem Debugformat
lassen sich keinerlei C++-bezogene Debuginformationen unterbringen.
Moderator Persönliche Seite #1816753
Lesenswert?
• ▲
▼
blue schrieb:
> Na das ich compilierten code (.bin) in VMLAB lade?

Das hat doch keiner behauptet.  .bin oder .hex sind Ladedateien,
die man aus der gelinkten Objektdatei (bei AVR-GCC typischerweise
auf .elf endend) ableitet.  Aber .elf enthält ja bereits die
kompletten Informationen und noch mehr, nämlich die Debuginformationen.

> bzw. Wie bekomm ich
> aus meinem c++ code eine .coff ?

Nun, da liegt der Hund im Pfeffer oder wie das heißt...  VMlab will
also immer noch AVR-COFF sehen.  Damit hast du keine große Chance,
deinen C++-Code sinnvoll zu debuggen.

Ansonsten: so, wie das VMlab mit seinem eigenen Makefile auch macht:
1
avr-objcopy -O coff-avr <inputfile.elf> <outputfile.coff>

Vermutlich könntest du mit einer Simulation im AVR Studio glücklicher
werden.

Der AVR-COFF-Konverter in avr-objcopy funktioniert nur (brauchbar)
mit stabs-Debuginformationen, mit DWARF-2 kann der nichts anfangen.
Du musst beim Compilieren daher explizit -gstabs angeben, nicht
einfach -g oder -gdwarf-2.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.