Forum: Mikrocontroller und Digitale Elektronik Problem mit EEPROM


von Ast (Gast)


Lesenswert?

Hallo zusammen,

Ich hab ein kleines Problem mit meinem EEPROM-Code.
1
.def Temp1 = R16
2
3
.dseg
4
Tr0: .Byte 1
5
6
7
.cseg
8
9
;Stack initialisieren
10
ldi Temp1,low(RAMEND)
11
out spl,Temp1
12
ldi Temp1,high(RAMEND)
13
out sph, Temp1
14
15
ldi zl,low(TreiberIDs) ;Adresse ins EEPROM-Adress-Register laden
16
ldi zh,high(TreiberIDs)
17
out EEARL,zl
18
out EEARH,zh
19
20
sbi EECR,EERE ;Read-Enable-Bit im EEPROM-Controll-Register setzen
21
22
in Temp1,EEDR ;Daten aus dem EEPROM-Daten-Register laden
23
24
sts Tr0,Temp1
25
26
.eseg ;EEPROM
27
.org 0000
28
TreiberIDs:
29
  .db 0x00,0x00,0x00,0x00

Der Sinn dieses Codes ist es einen Wert aus dem EEPROM auszulesen und
ins SRAM zu speichern.

Ich lasse den Code mit AVR-Studio 4 simulieren, weil ich im Moment
keine Möglichkeit habe Hardware aufzubauen.

Das Problem ist jetzt, dass während der Simulation immer der Wert 8 aus
dem EEPROM gelesen wird und nicht 0x00, wie es eigentlich sein sollte.

Hab ich einen Fehler im Code oder liegt das am AVR-Studio ?

von Andi (Gast)


Lesenswert?

Das liegt am AVR-Studio.
Die .eep-Datei interressiert AVR-Studio in der Simulation nicht die
Bohne.
Las Dir während der Simulation mal den EEPROM-Bereich anzeigen und Du
wirst sehen, das dort wirres Zeugs drin ist.
Du kannst während der Simulation die Werte durch klicken und eingeben
ändern.

MfG
Andi

von ...HanneS... (Gast)


Lesenswert?

Du kannst aber auch die aktuelle EEP-Datei in die Simulation laden. Der
Dialog dazu ist etwas versteckt und AVR-Studio regt sich auf, dass die
Größe der EEP-Datei nicht mit der Größe des EEPROMs übereinstimmt. Aber
gehen tut das. Leider macht der Simulator von AVR-Studio das nicht von
selbst.

...

von Ast (Gast)


Lesenswert?

Achso...

Vielen Dank für die Hilfe!

Ich werd mich jetzt mal auf die Suche nach dem Dialog machen...

von ...HanneS... (Gast)


Lesenswert?

Habe nochmal nachgesehen:
Menü: Debug, UP/Download Memories, EEPROM

...

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.