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.
:
Bearbeitet durch User
.....Preserve EEPROM .... Erase All Option deaktiviert.... Hast du schon das Häckchen bei "EEPROM" rausgenommen? (3. Eintrag von Oben)
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.
:
Bearbeitet durch User
>... Gelöscht wirds aber trotzdem.
Das sollte meines Wissens aber nicht so sein!
Lass alles auf default und wähle "preserve EEPROM".
übrigens - preserve ist irreführend - er liest den EEPROM vor dem Programmieren und programmiert dann diese Daten ...
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.
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.