MPLAB X und EEPROM Problem

OP #3659999
Lesenswert?

Hallo zusammen,

ich habe ein kleines Problem mit MPLAB X in Verbindung mit dem EEPROM 
des PIC18F46k80.
Ich nutze das EEPROM zum Speichern von Einstellungen. Diese würde ich 
auch gerne beim neu Flashen des Programmspeichers beibehalten. Erst 
dachte ich, das würde mit der Preserve EEPROM Einstellung gehen. Wie ich 
mittlerweile herausgefunden habe, bedeutet diese nur, dass das EEPROM 
nicht vom PICKIT3 beschrieben wird. Gelöscht wirds aber trotzdem. 
Deshalb habe ich die Erase All Option deaktiviert.
Der EEPROM Inhalt wird zwar jetzt nicht gelöscht, dafür bekomme ich aber 
eine Fehlermeldung beim Flashen, dass Speicherstellen nicht 
übereinstimmen. Das liegt wohl daran, dass das Flasch auch nicht 
gelöscht wurde.
Das Verhalten ist reproduzierbar. Ändere ich nichts am Programm, 
funktioniert das Flashen ohne Erase Option einwandfrei.

Weiß von Euch vielleicht jemand wie man das hinbekommen kann, dass das 
Flash gelöscht wird, das EEPROM aber nicht?

EDIT: Ich nutze MPLABX 2.00.
OP #3660024
Lesenswert?

Chris B. schrieb:
> .....Preserve EEPROM .... Erase All Option deaktiviert....
>
> Hast du schon das Häckchen bei "EEPROM" rausgenommen? (3. Eintrag von
> Oben)

Ja, das hab ich.

Wie gesagt. Das Problem tritt auf wenn ich Erase All deaktiviere. Aber 
das warum erschließt sich mir nicht. Es scheint so, als würde das alte 
Programm mit dem neuen verglichen, vor dem Flashen. Was für mich keinen 
Sinn macht... Aber vielleicht ists ja auch ganz was anderes. Ich komm 
halt an dem Punkt einfach nicht weiter...

EDIT: hab noch mal nen Screenschot von der Fehlermeldung angehängt.
nochn EDIT: beim ersten Fehler Screenshot hatte ich versuchsweise 
eingestellt, dass das Pickit sich die zu programmierenden Speicher 
selbst aussuchen kann. Und da war dann auch wieder das EEPROM dabei.
Angehängte Dateien:
OP #3661241
Lesenswert?

Hallo Carsten,

danke für den Tip. Ich hatte jetzt nur kurz Zeit das mal zu Testen. Aber 
bei ein paar Versuchen hats funktioniert.
Der Fehler war, den Haken bei EEPROM rauszumachen. Ist der drin und 
Preserve EEPROM aktiviert, dann gehts. Auf die Idee die Kombination 
auszuprobieren bin ich garnicht gekommen. Irgendwie war für mich klar, 
dass ich alles aktiviere, bzw. deaktiviere was mit dem Beschreiben des 
EEPROMs zu tun hat.
Dein letzter Post könnte dafür die Erklärung sein. Es werden alle 
Speicher gelöscht. Mit Preserve EEPROM soll eigentlich der alte Inhalt 
wieder reingeschrieben werden. Aber da der Haken bei EEPROM draussen 
ist, kann das das Pickit nicht mehr. Wäre zumindest eine Möglichkeit...
Trotzdem finde ich es verwirrend, wenn es einen Fehler gibt, wenn man 
den Flash vorher nicht löscht....

Aber naja, jetzt weiß ich ja beischeid :-)

Euch allen einen schönen Abend und vielen Dank für die Hilfe. Ich werde 
das in den nächsten Tagen mal weiter testen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren