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
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.
Na das ich compilierten code (.bin) in VMLAB lade? bzw. Wie bekomm ich aus meinem c++ code eine .coff ? Danke für die Mühe
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.
Dankeschön für die schnelle und ausführliche Antwort, konnte es leider heute erst lesen. Ich werds mal mit AVR-Studio probieren. viele Grüße Blue
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.