Frage zum AVR Dragon im AVR Studio

OP #2572803
Nabend zusammen,

da ich meinen Dragon solangsam an meinem Steckbrett in Hochform trimmen 
möchte (nutzen im Debugmodus), ist mir da gestern etwas aufgefallen, von 
dem ich nicht weiß ob ich einen Fehler im Code habe, oder aber es 
technisch nicht geht.

Folgende situation:
Ich habe im Code eine Speicherstelle im SRAM reserviert( 2 Byte), welche 
ich in einer Funktion dann mit einem Wert befülle.
Wenn ich nun einen Breakpoint im Debugger setze und mir dann in der 
"Überwachen Liste" den Inhalt der Speicherstelle ansehen möchte, sehe 
ich immer nur den selben Wert. Der sollte aber variieren, da es ein 
gemessener ADC Wert ist.

Ach ja, es handelt sich um Assembler und das AVR Studio 5.1

Grüße
Stephan
Gast #2572826
Hi

>Ich habe im Code eine Speicherstelle im SRAM reserviert( 2 Byte), welche
>ich in einer Funktion dann mit einem Wert befülle.
>Wenn ich nun einen Breakpoint im Debugger setze und mir dann in der
>"Überwachen Liste" den Inhalt der Speicherstelle ansehen möchte, sehe
>ich immer nur den selben Wert.

Im Watchfenster siehst du aber nur ein Byte pro Adresse.

MfG Spess
OP #2572842
dunno.. schrieb:
> dann würd ich vorschlagen, poste uns doch mal deinen code..?
Was soll an dem Code spektakulär sein, das man da soviel falsch machen 
könnte. Aber trotzdem hier mal den Code:
1
; Messwert im SRAM ablegen
2
sts ADC_Messwert, adlow ; Low Byte im SRAM ablegen
3
sts ADC_Messwert+1, adhigh ; High Byte im SRAM ablegen
4

5
... 
6

7
.DSEG
8
ADC_Messwert: .BYTE 2

> Setze mal den Debug level auf -g3
Habe gerade danach gesucht, wo ich das setzen kann, finde aber nichts, 
wo ich meine das dass rein muss. Hast Du noch ein Tip?

> Im Watchfenster siehst du aber nur ein Byte pro Adresse.
Was bedeutet das dann für mich?
Das ich mit den Boardmitteln im AVR Studio den Inhalt der Variable nicht 
lesen kann?
Wie macht Ihr das dann?
Gast #2572862
Hi

>Wie macht Ihr das dann?

Entweder beide Bytes mit einem Label versehen (XY_L/xy_H) und zwei 
Einträge in der Watchliste oder gleich die entsprechenden Stelle im RAM 
(Memory) beobachten.

MfG Spess
OP #2572869
Hi Spess,

spess53 schrieb:
> Entweder beide Bytes mit einem Label versehen (XY_L/xy_H) und zwei
> Einträge in der Watchliste oder gleich die entsprechenden Stelle im RAM
> (Memory) beobachten.
Dann muss ich mich da mal weiter ins Studio einarbeiten :)
Danke noch für die Info. Denke mal, damit komme ich dann weiter.
Hatte mich nur gewundert, das ich in der Variable keine änderung des 
Wertes sehe, obwohl sich adlow, adhigh ändern.

Grüße
Stephan

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.