Forum: Mikrocontroller und Digitale Elektronik Memory-Anzeige vor debugging auf 0 setzen


von pacer (Gast)


Lesenswert?

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

von Spess53 (Gast)


Lesenswert?

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

von Spess53 (Gast)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

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

von pacer (Gast)


Lesenswert?

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.

von Spess53 (Gast)


Angehängte Dateien:

Lesenswert?

Hi

>Würde mich freuen wenn mir das jemand erklären könnte.

Siehe Anhang.

MfG Spess

von Peter D. (peda)


Lesenswert?

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

von Rolf Magnus (Gast)


Lesenswert?

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.

von pacer (Gast)


Lesenswert?

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.

von Rolf Magnus (Gast)


Lesenswert?

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".

von spess53 (Gast)


Lesenswert?

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

von pacer (Gast)


Lesenswert?

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