Hallo conmafi.
Das Schreiben in den Flash- bzw. EEPROM-Speicher ist in den Datenblättern von Microchip beschrieben. Ich hab's bisher allerdings nur schmökernd gelesen. Das ist ein genau definiertes, etwas umfangreiches Prozedere, das genau eingehalten werden muß einschließlich der Bedingung, daß stets vier Programmwörter in einem Rutsch geschrieben werden müssen. Einzelne Werte ändern geht nur durch Schreiben eines Viererblocks. Der eigentliche (Lösch- und) Schreibvorgang läuft erst nach der Übergabe des vierten Speicherwort und Setzen eines Schreibbefehl-Flags wirklich los und dauert etwa 4ms (alles sinngemäß laut Datenblatt).
Soweit die Ecksteine des Datenblatts.
Wird das alles eingehalten? Ich könnte mir gut vorstellen, daß eine Verletzung einzelner Bedingungen nicht abgefangen wird und zu einem solchen "halb-richtigen" Ergebnis wie "neue Nullen schreiben ohne die alten zu löschen" führen kann.
Arbeitest du auf Asssemblerebene oder verläßt dich ander fraglichen Stelle vielleicht dein Hochsprachencompiler?
Liegt dir das aktuellste Datenblatt vor? Auch wirklich zur Release-Nummer des Controllers passend ?
Gruß
Christian
Lesezeichen