Hallo Leute, ich hab ein kleines Problem mit der Erzeugung von Debuginformationen. Hier ist zunächst mal mein erstes Testprogramm. Bei dem Programm handelt es sich um ein einfaches Beispiel zur Erzeugung von einem Zeiger auf eine Funktion. Die "main" ruft die Funktion über den Zeiger auf. Wenn ich dieses Programm mit dem .cof file oder dem .hex file debugge funktioniert alles wie gewohnt. #include "ATmega128.h" volatile unsigned char Fkt (volatile unsigned char); int main (void) { wert; volatile unsigned char ergebnis; volatile unsigned char (*ptr)(volatile unsigned char) = Fkt; wert = 4; while (1) { ergebnis = ptr(wert); } } volatile unsigned char Fkt (volatile unsigned char wert) { return (wert); } Mein zweites Programm ist ähnlich. Jedoch besteht dieses aus 4 Funktionen (+ main) und einem Array aus Zeigern auf diese 4 Funktionen. Und auch hier ruft die main eine der Funktionen auf. Allerdings diesmal über das array mit index - <logisch>. Wenn ich dieses Programm debugge über den .cof file dann springt er ständig willkürlich hin und her. Debugge ich dagegen den .hex file des Programms stimmt es wieder. Nur das mir der .hex file eben keine debug infos gibt. Liegt das an den Einstellungen des Compilers oder daran dass das AVR Studio das mit dem Sprung-Array nicht auf die Reihe bekommt? Gruß Philipp
Verwende mal aktuellstes AVRStudio und "dwarf-2" als Debugformat. Dann einfach das erzeugte .elf im AVRStudio öffnen.
Hi OldBug, hab mal deinen Vorschlag versucht, aber wenn ich den .elf file öffne dann zeigt mir das AVRStudio nur nen Eintrag von: |elf|| an. Erst dachte ich das das .elf file leer ist, aber dem ist nicht so. Und als Projekt kann man den .elf file nicht öffnen. Ich werds erst mal mit der aktuellsten Version vom AVRStudio versuchen. Gruß
Habs gefunden, es lag tatsächlich am AvrStudio. Wenn ich jetzt die Software über den .elf File öffne dann lädt er sich seine ganzen infos und was er für den code braucht aus den .cof files richtig aus und das debuggen funktioniert auch mit dem Sprungarray richtig.
Nein, er lädt es eben nicht aus den .cof-Files, sondern aus dem .elf ;)
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.