Titelbild Mikrocontroller

21. Speicher Programmierung

Dieser Abschnitt beschreibt, wie die nichtflüchtigen Speicher (nonvolatile memory, NVM) im Xmega programmiert werden. Das originale Datenbuch beschreibt die Selbstprogrammierung und externe Programmierung, abweichend dazu wird hier die externe Programmierung nicht vollständig beschrieben.

Der NVM umfasst den Flash Programmspeicher, die user und production Signatur, fuses und lock Bits und den EEPROM Datenspeicher. Die Organisation dieser Speicher und die Register des NVM Controllers wurden im Kapitel Memories beschrieben.

Auf den NMV kann lesend und schreibend zugegriffen werden, durch einen externen Programmer oder durch Selbstprogrammierung durch die Software. Der Zugriff erfolgt über den NVM Controller und ist bei beiden Programmiermethoden ähnlich. Der Zugriff erfolgt, indem Adressen und Daten in den Speicher oder NVM Controller geschrieben werden und das Triggern eines Kommandos veranlasst dann den NVM Controller, bestimmte Vorgänge im Speicher durchzuführen.

Mit dem externen Programmer können alle Speicher geschrieben und gelesen werden, außer der production Signatur, die kann nur gelesen werden.

Mit der Selbstprogrammierung kann die Software ebenfalls alle Speicher lesen und schreiben, die fuses und die production Signatur können allerdings nur gelesen werden. Der Flash erlaubt die read-while-write Programmierung, was bedeutet, dass die CPU weiterarbeiten kann solange der Flash programmiert wird.

Bei beiden Methoden kann der CRC Check für den Flash oder Teile des Flash verwendet werden, um den Inhalt der Speicherzellen nach der Programmierung zu prüfen.

Der Baustein kann gesperrt werden, um das Lesen oder Schreiben durch den NVM zu verhindern. Es gibt separate lock Bits für den externen Zugriff und den Selbstprogrammierungs Zugriff für den boot loader, den application und den application table Bereich.
Impressum