Titelbild Mikrocontroller

19.8. Selbstprogrammierung des Flash

Der Programmspeicher wird Seite für Seite beschrieben und gelöscht. Bevor eine Seite mit Daten, die in dem temporären Seitenbuffer gespeichert sind, programmiert wird, muss die Seite gelöscht werden. Der temporäre Seitenbuffer wird wordweise mit dem SPM Befehl gefüllt. Der Seitenbuffer kann entweder vor dem Seitenlösch Kommando oder zwischen dem Seitenlösch Kommando und dem Schreiben der Seite gefüllt werden. Variante 1: Füllen des Buffers vor dem Löschen
  • Füllen des temporätren Seitenbuffers
  • Löschen der Seite
  • Schreiben der Seite


Variante 2: Füllen des Buffers zwischen dem Löschen und Schreiben
  • Löschen der Seite
  • Füllen des temporären Seitenbuffers
  • Schreiben der Seite


Wenn nur ein Teil einer Seite verändert werden muss, muss der Rest der Seite vorher gespeichert werden (z.B. im temporären Seitenbuffer), da vor dem Schreiben immer die gesamte Seite gelöscht wird. Wenn Variante 1 verwendet wird, bietet der Boot Loader eine echte Lesen-Verändern-Schreiben Eigenschaft. In dieser wird die Software zunächst die Seite lesen, dann die notwendigen Veränderungen durchführen und anschließend die modifizierten Daten zurückschreiben. Wenn Variante 2 verwendet wird, ist es nicht möglich zunächst die alten Daten zu lesen, da durch das Laden die alte Seite gelöscht wird. Auf den temporären Seitenbuffer kann frei zugegriffen werden. Es ist wichtig, dass die Seitenadresse beim Löschen und Schreiben der Seite die gleiche Seite adressiert.
Impressum