Forum: Mikrocontroller und Digitale Elektronik kleine Nachhilfe beim Lesen/Beschreiben des EEPROM


von Thomas M. (tm112)


Lesenswert?

Hallo allerseits,

Ich brauche ein wenig Nachhilfe in Sachen EEPROMs (PIC16F628, MPLAB 
ASM).

Mit folgendem Quelltext werden Speicherzellen bereits beim Brennen 
beschrieben:

org H'2100'
de 01h
de 23h
de 45h
de 67h

Bei Adresse 2100 sieht dann die Speicherbelegung wie folgt aus:
      D0   D1   D2   D3   D4   D5   D6   D7
2100: FF01 FF23 FF45 FF67 FFFF FFFF FFFF FFFF

So nachzusehen im EPROMer (GALEP-III).

Beim einzelnen Speichern und Lesen der Speicherzellen bekomme ich 
jeweils 0 1 2 3 4 5 6 7 zurück. Insofern funktioniert das. Nur: Ist es 
nicht eine Verschwendung an Speicher?

Wie werden die Speicherstellen, die 'FF' zum Inhalt haben, gelesen und 
beschrieben (direkt beim Brennen, wie auch im Betrieb)? Umdrehen der 
'Nibble', bzw. Bytes im höheren Bereich - oder hab' ich da einen 
Denkfehler?

Thomas

von Severino R. (severino)


Lesenswert?

Mit de sollte byteweise Speicherplatz deklariert werden.

Warum Dein Programmer FF01, FF02 etc ausliest, weiss ich nicht, ich 
arbeite hauptsächlich mit dem ICD2 oder mit dem PICkit 1, und hier 
funktioniert es korrekt, also byteweise.

Du schreibst:
Beim einzelnen Speichern und Lesen der Speicherzellen bekomme ich
jeweils 0 1 2 3 4 5 6 7 zurück.

Womit liest Du die Speicherzellen? In der PIC-Anwendung?

Severino

von Thomas M. (tm112)


Lesenswert?

Richtig.
Testweise z.B. so:

BSF    STATUS, RP0
MOVLW  0x30
MOVWF  EEADR
MOVLW  9
MOVWF  EEDATA

, gefolgt von der reichlich umständlichen aber wohl allgemein bekannten 
Prozedur, die ich hier spare.

erzeugt dann:

      D0   D1   D2   D3   D4   D5   D6   D7
2130: FF09 FFFF FFFF FFFF FFFF FFFF FFFF FFFF

Thomas

von Severino R. (severino)


Lesenswert?

Wofür steht denn D0  D1  D2 etc.?

Severino

von Thomas M. (tm112)


Lesenswert?

Das dient nur der Übersichtlichkeit. So sieht dann der komplette 
Ausschnitt von 2100 - 2137 aus:

      D0   D1   D2   D3   D4   D5   D6   D7
2100: FF01 FF23 FF45 FF67 FFFF FFFF FFFF FFFF
2108: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
2110: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
2118: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
2120: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
2128: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
2130: FF09 FFFF FFFF FFFF FFFF FFFF FFFF FFFF

Merkwürdig ist eben, dass im Programmteil des PIC sehr wohl alle 
Speicherzellen beschieben werden.

Thomas

von Dieter Werner (Gast)


Lesenswert?

Das sieht doch fast so aus, als ob nur die Darstellung am 14 Bit breiten 
Programmflash orientiert wäre.

Das EEPROM ist definitiv nur 8 Bit breit.

von Thomas M. (tm112)


Lesenswert?

Ok. Das klingt schlüssig. Danke.

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.