Forum: Compiler & IDEs AVR Studio & Watches (Prob.)


von Notker C. (Gast)


Lesenswert?

Hallo,

ich habe bei meinen mit avrgcc kompilierten Programmen das Problem, dass 
Variableninhalte z.T. nicht im Watches-Fenster angezeigt werden, obwohl 
ihr Wert dort erscheinen müsste. Statt dessen steht dort 'Not in scope', 
obwohl der Debugger sich gerade in der Routine befindet, in der die 
Variablen deklariert sind. Wie schon gesagt, dies ist nur bei einem Teil 
der Variablen der Fall, so dass ich auch keinerlei Systematik in diesem 
Problem finden kann. Nehme ich die Variablendeklaration aus der 
jeweiligen Funktion heraus, d.h. deklariere sie global, löst das z.T. 
dieses Problem. Aber auch nicht in jedem Fall.

Kann mir jemand dies erklären? Jedenfalls laufen die Programme im MC 
korrekt, es kann auch nicht am Programm selbst liegen. Oder spielt hier 
der avrgcc nicht in jedem Fall mit dem AVR Studio zusammen? Vielleicht 
sind ja auch die erzeugten Coff-Dateien das Problem.

Wer weiss Rat?

Danke schon mal für die Hilfe!

Beste Grüsse,

Notker

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Hallo,

AVR-GCC erzeugt keine Coff-Dateien. Abhilfe schafft der Konverter 
elfcoff von http://www.avrfreaks.net.

MfG
Andreas

von Notker C. (Gast)


Lesenswert?

> AVR-GCC erzeugt keine Coff-Dateien. Abhilfe schafft der Konverter elfcoff von 
http://www.avrfreaks.net.

Natürlich nicht. Das habe ich auch gar nicht behauptet. Aber um den Code 
mit AVR Studio auf Hochsprachenebene debuggen zu können, brauche ich 
Coff-Dateien, mit ELF-Dateien kann das AVR-Studio nichts anfangen. Also 
muss ich diese vom ELF-Format in das Coff-Format umwandeln und, 
natürlich benötige ich dafür elf2coff.exe. Eine Erkenntnis dieser 
selbstverständlichen Voraussetzungen habe ich von den Lesern dieses 
Forums eigentlich erwartet.

Also bitte keine Erklärungen darüber, dass Kaffee braun bis schwarz ist, 
das weiss ich selbst. Eine Hilfe bezüglich meines Problem wäre mir 
lieber.

mfG

Notker

von Igor (Gast)


Lesenswert?

Handelt es sich denn um lokale Vars? Dazu mußt Du soweit ins Programm 
steppen, bis bzw. solange diese initialisiert sind und sie erst dann in 
die Watch-List eintragen. AVRStudio erzeugt dann eine Art Pfad, der als 
Tool-Tip (beim Maus drüberhalten in der Watchlist) angezeigt wird. 
Ungefähr so: "my1stprog\routine\v"
Alternativ kannst Du diesen "Pfad" auch direkt in die Watchlist 
eintippen.

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
Noch kein Account? Hier anmelden.