Hallo Leute, ich würde gern vor dem debuggen den Inhalt der Data-Section leeren wollen. Als Debugplattform nutze ich AVR-Studio mit dem Dragon. Ein Neustart von AVR-Studio funktioniert nicht. Irgendwie scheint sich das AVR-Studio den letzten Inhalt des Speichers zu merken. Irgend eine Lösung? Vielen Dank, pacer
Hi >Irgendwie scheint sich das AVR-Studio den letzten Inhalt des Speichers zu >merken. Irgend eine Lösung? Das AVR-Studio braucht sich den nicht merken. Das macht schon der Controller. MfG Spess
Hi >Irgendwie scheint sich das AVR-Studio den letzten Inhalt des Speichers zu >merken. Irgend eine Lösung? Das AVR-Studio braucht sich den nicht merken. Das macht schon der Controller. > Irgend eine Lösung? Mach dir ein Hexfile vom leeren RAM und lade das über Debug->Up/Download Memory MfG Spess
Der Debuger hat damit nichts am Hut. Bei einem Reset bleibt der SRAM erhalten. Das kann man nutzen, um z.B. nach einem Watchdogreset einen RAM-Dump zu machen. Wenn Du das nicht willst, dann mußt Du Dir eine Initroutine schreiben, die ihn löscht. Oder Du programmierst in C, dann macht das der Compiler schon automatisch. Peter
Danke, ich werde es über über das Hexfile machen, für C reicht es bei mir leider noch nicht. Ich habe mir erst mal den Inhalt von Data in das Hexfile exportieren lassen um es dann mit der Anzeige im Programm vergleichen zu können. das hier ist die erste Zeile im Hexfile: :100100003035151B16021020051E230F1510020A8C eigentlich sollte das Hexfile mit der Adresse 100 beginnen. Mit der Zahl :10010000 kann ich nix anfangen, ebenso die letzte Zahl 8C, sie kommt nicht im Speicher vor. Würde mich freuen wenn mir das jemand erklären könnte.
Hi
>Würde mich freuen wenn mir das jemand erklären könnte.
Siehe Anhang.
MfG Spess
pacer schrieb: > ich werde es über über das Hexfile machen, für C reicht es bei mir > leider noch nicht. Heißt das, Du programmierst in Assembler und weißt nichtmal, wie man einen RAM-Bereich mit einem Wert beschreibt??? Dann solltest Du das zuerst mal lernen, sowas gehört zu den absoluten Grundlagen. Peter
pacer schrieb: > ich würde gern vor dem debuggen den Inhalt der Data-Section leeren > wollen. Wozu? Das ist eher kontraproduktiv. Als Debugplattform nutze ich AVR-Studio mit dem Dragon. > Ein Neustart von AVR-Studio funktioniert nicht. Irgendwie scheint sich > das AVR-Studio den letzten Inhalt des Speichers zu merken. Den merkt sich eher der Speicher. Dazu ist er ja da.
Nun, mir war nicht klar, das AVR-Studio den Speicher ausließt. Aber das habe ich wohl mit dem Softwaredebugger verwechselt. Wofür ich das brauche? Dann sehe ich es wenn Daten in den Speicher geschrieben werden. Für mich ist das also nicht Kontraproduktiv. Und ja, ich weiß wie man einen Wert in den Speicherbereich schreibt. Und da ich immernoch Anfänger bin, reicht es auch wenn es erst beim 3. Anlauf klappt ;-) Da das Hexfile durch die Prüfsumme doch etwas aufwändiger ist, werde ich wohl doch eine Löschroutine schreiben müssen.
pacer schrieb: > Wofür ich das brauche? Dann sehe ich es wenn Daten in den Speicher > geschrieben werden. Für mich ist das also nicht Kontraproduktiv. Dann würde ich aber nicht ausgerechnet 0, sondern irgendeinen anderen Wert nehmen. Prinzipiell ist es immer besser, wenn ein Programm im Debugger möglichst exakt genau so läuft wie außerhalb. Sonst hat man nämlich früher oder später das Problem, daß ein Programm ohne Debugger Mist baut und im Debugger auf einmal fehlerfrei funktioniert, was natürlich das Debuggen etwas schwierig macht. Diesen Fall hatte ich schon in Turbo Pascal, wo der Debugger auch schon auf die blöde Idee gekommen war, alles vorher zu "nullen".
Hi Wofür ich das brauche? Dann sehe ich es wenn Daten in den Speicher geschrieben werden. Für mich ist das also nicht Kontraproduktiv. Schon mal mit dem Watch-Fenster probiert? MfG Spess
Ich muss jetzt nochmal zurückrudern. Das Datensegement liegt im SRAM und das ist ja ein flüchtiger Speicher, sprich wenn ich das Board ausschalte, müsste doch nach dem Einschalten der Speicher leer sein? So steht es zumindest sinngemäß im SRAM-Tutorial. Hab ich da was falsch verstanden?
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.