Hier erst mal was Grundsätzliches!!!!
Warnung!!!! Beim arbeiten mit einem Debugger/Programmiergerät die Maschine unbedingt vom Netz trennen!!!!!!!!!!!!!!!!!
Bei der Verwendung eines PICKIT2 oder 3 ist eine zusätzliche 5V Spannungsquelle notwendig!!!!!!!!!!!!
Das PICKIT meldet sonst einen zu hohen Strom und Abfall der Spannung auf 4,5V.
Bei einem Experimentierboard mag der Strom ausreichen, bei der Leistungsplatiene hängen jedoch noch ein paar andere Chips mit an den 5V und sorgen so für einen zu hohen Stromverbrauch.
Möglich, daß andere Debugger einen höheren Strom liefern.
Ich habe ein zweites USB-Kabel genommen und die beiden Leitungen rot+ und schwarz- mit den entsprechenden Kontakten verbunden. Beim kleinen Board mit einem extra 4pol Stecker oben in der Mitte an den Pins 1 +5V und 4 -. Beim großen Board zusätzlich an die Pins 4+ und 7- des Steckers oben.
Soviel vorweg.
--------------------------
Hier nun mein Fazit nach tagelangen Versuchen mit einer ESAM3400 mit SW 4.1 und SW 4.2
Es ist nicht möglich die Verbrauchsdaten oder Temp. Einstellungen im EEPROM zu ändern.
Das Gerät merkt das beim Einschalten und zeigt entweder nichts oder 00 an.
Es kann auch sein, daß das Gerät sich auf italienisch mit der Erstinstallation meldet. Es ist immer abhängig, welche Daten man im EEPROM geändert hat.
Wir können also nur alles auf FF setzen um Fehler zu löschen und dann eine Erstinbetriebnahme durchführen.
Dann sind natürlich alle Verbrauchsdaten, wie totale Wassermenge, Anzahl der Kaffees, Anzahl der Entkalkungen u.s.w., weg.
Die PIC18F452 und PIC18F2520 haben einen 32k großen Programmspeicher und nur 256 Byte großen EEPROM-Speicher.
Deshalb werden Tabellen und andere feste Daten in den Programmspeicher gelegt, weil dort meistens noch genügend Platz ist (bei SW4.2 sind immer noch ca. 9K frei). Dort sind auch mit Sicherheit Checksummen abgespeichert um das EEPROM zu überprüfen.
Selbst bei einer kleinen Änderung, z.B. Wechsel von mittler Temp. auf hohe Temp. (SW41-SpeicherZellen 86 und A7 von 01 auf 02, ändern sich zusätzlich einige andere Speicherzellen. z.B. 70 und 7D und 7E sowie 8D und 8E sowie 9E und 9F sowie AE und AF.
Das sind meiner Meinung nach Adressen zu den Tabellen des AD-Wandlers.
Bei einem Sofware-Update, hier von 4.1 auf 4.2, sind die entsprechenden Verbrauchswerte und andere Bytes an ganz anderen Speicherstellen im EEPROM. Die EEPROM-Daten von 4.1 und 4.2 sind unterschiedlich und können nicht übernommen werden.
Bei einem SW-Update muß auch das ganze PIC vorher gelöscht werden, sonst bekommt man Fehlermeldungen.
Wird nur das neue Programm eingespielt, müssen die EEPROM-Daten FF enthalten.
Danach muß eine Erst-Inbetriebnahme durchgeführt werden.
Meine Experimente habe ich durchgeführt mit einem PICKIT3 und der Software MPLAB IPE.
In der Grundeinstellung liest und programmiert die Software den ganzen PIC.
Unter "Settings" "Advanced Mode" kann man unter "Memory" oben das Häkchen herausnehmen und dann auswählen welchen Speicher man lesen und programmieren möchte. (siehe Bild) Beim ersten Aufruf das Häkchen setzen bei "keep Login", dann startes das Programm immer in diese Einstellung.
Unter "Production Mode" sollte man noch Einstellungen vornehmen, wenn man einzelne Bytes ändern möchte. (siehe Bild)
Nach der Auswahl dann auf "Operate" , dann werden die Einstellungen übernommen.
Mit einem Rechtsklick in das Datenfeld kann man dann auswählen "Undock (Tabelle wird separat angezeigt)Fill (Memorybereich kann mit einem Wert gefüllt werden) GoTo und Print.
Wenn ich neue Erkentnisse habe, werde ich diese hier posten.