Hallo, habe folgende Probleme mit dem Verständnis des Studio 7 Simulators: Mein Programm läuft auf einem ATtiny2323A, der auch ausgewählt ist. Beim aktivieren des Simulators werden progFlash, Status, IO, Register korrekt, beim Öffnen des Memory (data IRAM) wird memory1 ab $0060 mit nur ?? angezeigt. Simuliere ich nun im 1Schritt-Modus, kann ich in allen Anzeigen mein Programm verfolgen bis auf das memory1, da bleiben die ??. Laut Datenblatt beginnt das RAM bei $0060. Gehe ich in der memory1 Anzeige nach unten, dann sehe ich bei $0360 meine eingegebene Zahl, bei der nächsten Dateneingabe ins RAM (1Schritt-Methode) finde ich den RAM Bereich in der Anzeige memory1 zB bei $0660 usw., obwohl beim click auf den nächsten SimSchritt die memory1 Anzeige wieder auf $0060 springt mit nur ??. Was mache ich falsch? Was bedeutet memory1, memory2, etc.(die alle das Gleiche zeigen)? mfG Frewer
:
Verschoben durch Moderator
Werner F. schrieb: > Hallo, > habe folgende Probleme mit dem Verständnis des Studio 7 Simulators: > Mein Programm läuft auf einem ATtiny2323A, der auch ausgewählt ist. Beim > aktivieren des Simulators werden progFlash, Status, IO, Register > korrekt, beim Öffnen des Memory (data IRAM) wird memory1 ab $0060 mit > nur ?? angezeigt. Simuliere ich nun im 1Schritt-Modus, kann ich in allen > Anzeigen mein Programm verfolgen bis auf das memory1, da bleiben die ??. > Laut Datenblatt beginnt das RAM bei $0060. Gehe ich in der memory1 > Anzeige nach unten, dann sehe ich bei $0360 meine eingegebene Zahl, bei > der nächsten Dateneingabe ins RAM (1Schritt-Methode) finde ich den RAM > Bereich in der Anzeige memory1 zB bei $0660 usw., obwohl beim click auf > den nächsten SimSchritt die memory1 Anzeige wieder auf $0060 springt mit > nur ??. Was mache ich falsch? Was bedeutet memory1, memory2, etc.(die alle > das Gleiche zeigen)? > mfG Frewer Programmcode ?
Werner F. schrieb: > Mein Programm läuft auf einem ATtiny2323A Welches? ATtiny2323A gibbet nich. Werner F. schrieb: > wird memory1 ab $0060 mit > nur ?? angezeigt. Nach einem Reset ist der SRAM undefiniert, nur die IO-Register werden vorgeladen.
Danke für Eure Antworten. 1. Es geht um diesen ProgTeil: ******************************** main: ldi yh,high(Puffer) ;Adresse nach y ldi yl,low(Puffer) ldi r19,44 clr r16 ;lösche Puffer komplett st y+,r16 dec r19 brne PC-2 ;weiter 0 nach y ;lade Tabelle in den Puffer ldi yh,high(Puffer) ; Adresse RAM-Puffer ldi yl,low(Puffer) ldi zh,high(Tab2*2) ; Adresse der LED Tabelle ldi zl,low(Tab2*2) ldi r19,10 ;10 Zeilen man00: ldi r18,4 ;4 Datensätze man01: lpm r0,z+ st y+,r0 dec r18 ;alle Datensätze proZeile? brne man01 ;nein dec r19 ;ja, alle Zeilen? brne man00 ;nein weiter man03: ;ja rjmp man03 ******************* 2. den ATtiny2323A gibt es, er ist die Nachfolge des ATtiny2323 (siehe Microchip) Ich möchte mit dem Sim sehen, ob ich den Puffer richtig lade, der später seriell ausgegeben wird. Ich kann auch sehen, dass das Programm funktioniert, wenn ich den PORTB.2 (mein Ausgang) beobachte, ich möchte aber sehen, ob meine Bitkombination im Puffer meiner Tabelle entspricht. mfG Frewer
Werner F. schrieb: > 2. den ATtiny2323A gibt es, er ist die Nachfolge des ATtiny2323 (siehe > Microchip) Du meinst sicher den 2313A, nicht den 2323A. Don't drink and type! fchk
Entschuldigung, ja es ist der 2313A (Tippfehler!) Zum Glück zeigt einem die Suchmaschine gleich den richtigen 2313A an, wenn man ggf 2323 eintippt. Damit ist aber mein Verständnisproblem des Simulators und seiner Anzeige nicht gelöst. Ich würde erwarten, dass die Memory-Anzeige beim schrittweisen Programmdurchlauf anzeigt, was aus meiner Tabelle in den Puffer geschrieben wird. mfG Frewer
Werner F. schrieb: > ******************************** > main: > ldi yh,high(Puffer) ;Adresse nach y > ldi yl,low(Puffer) > ldi r19,44 > clr r16 ;lösche Puffer komplett > st y+,r16 > dec r19 > brne PC-2 ;weiter 0 nach y > ;lade Tabelle in den Puffer > ldi yh,high(Puffer) ; Adresse RAM-Puffer > ldi yl,low(Puffer) Unter welcher Adresse ist der Puffer denn adressiert ? > ldi zh,high(Tab2*2) ; Adresse der LED Tabelle > ldi zl,low(Tab2*2) und die Tabelle existiert im Flash auch ? > ldi r19,10 ;10 Zeilen > man00: > ldi r18,4 ;4 Datensätze > man01: > lpm r0,z+ > st y+,r0 > dec r18 ;alle Datensätze proZeile? > brne man01 ;nein > dec r19 ;ja, alle Zeilen? > brne man00 ;nein weiter > man03: ;ja > rjmp man03 > ******************* letztlich musst du siehe hier https://www.microchip.com/content/dam/mchp/documents/atmel-start/Atmel-Studio-7-User-Guide.pdf unter 4.15 Memory Fenster hinzufügen und Zwar für den RAM Flash Register und im Fenster unter Memory den richtigen Speicher auswählen... AVR Studio 4.xx war deutlich besser als dieser Dreck von MCP das musste mal gesagt werden....
Hallo Chris, zuerst mal vielen Dank! Habe mir das Tutorial runtergeladen komme trotzdem nicht weiter. Ich finde zB kein 4.15 aber davon abgesehen hilft das Tutorial nicht(ich habe die zutreffenden Teile verinnerlicht, was nicht ganz einfach ist). Da wird zwar viel von memory geschrieben aber nicht zB von memory1, 2,3 ,4 wie das bei mir ist. Das ganze Tutorial passt nicht zu meinem Studio7-6.2.92... Mein momentaner Verdacht ist, dass das Problem mit der Auswahl des ATtiny zusammenhängt, denn wenn ich zB den ATMEGA8 nehme, funktioniert die memory-Anzeige. 2. Ich gebe Dir recht, dass das Studio4 wesentlich einfacher und funktioneller war. Habe Jahre damit gearbeitet. Leider habe ich es nicht mehr parat. Bin weiter am Suchen und will mal Microchip anschreiben. Vielleicht kennt sich dort jemand aus. mfG Frewer Sorry es muß heißen Studio7 7.0.2594
:
Bearbeitet durch User
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.