Hallo,
ich bin mir nicht ganz sicher ob das hier das richtige Unterforum ist.
Ich beschreibe mal das Phänomen auf das ich gestoßen bin. Ich habe ein
Projekt in C (winavr) angelegt und will dieses nun im AVR-Studio
simulieren (Atmega88).
Eine Zeile wie diese (data ist uint8_t):
wird folgendermaßen im Disassembler angezeigt:
+00000231: 914000C6 LDS R20,0x00C6 Load direct from data
space
Wenn ich nun mit F11 durch das Programm gehe und an dieser Stelle in
der I/O-View das UDR0 Register verändere und dann den lds Befehl
ausführen lasse, wird der Wert aus dem UDR0 nicht in r20 oder data
kopiert. Das bedeutet, dass ich nicht vernünftig debuggen kann und im
watch-Fenster immer die Werte manuell ändern muss. Ist das ein
Simulator-Bug oder kommt der Simulator mit den erzeugten Code des
avr-gcc nicht klar?
Entschuldigt bitte, wenn es sich wirr anhört.