Hallo Stephan

Also, lass uns das konkret hin bekommen:

1. Wieviele Daten, Bytes, möchtest du ablegen?
2. Wie häufig musst du diese verändern?
Also während eines Programmlaufes mehrmals, einmal, gelegentlich?
Trifft deine Aussage hier unter 2. für alle Daten zu?
3. Müssen die Daten dauerhaft gespeichert werden, sprich auch nach dem Ausschalten?
Da du zur Zeit ein Batterie gepufertersw SRAM verwendest soll es also nicht flüchtig sein!

Um dir auch ein wenig Refrenzmaterial zu geben, schaue dir bei Atmel die Tabelle an mit allen Controllern und der Auflistung z.B. wieviel Flash, wieviel SRAM, wieviel EEROM, Timer usw. jeder Controller hat.

In den Flash Speicher würde ich Programm Kode ablegen,
in das SRAM die Laufzeit-Variablen,
in das EEROM einige nur gelegentlich zu verändernden Benutzerspezifische Daten.

In den Flash Speicher würde ich Tabellen und andere größere Datenbestände ablegen die doch regelmäßig verändert werden.

Hierzu ein Beispiel aus meiner Praxis:

Ich verwende einen mega8 um die Impulslängen der Signale des Empfängers und des Multiprop-Dekoders meiner f14 von robbe zu dekodieren.

Im Flash lege ich eine Kopie der Impulslängen-Tabelle und anderer Steuergrößen ab, die ich als "default" bezeichne. Nach einem Neustart erlauben diese Werte einen default betrieb.

In das SRAM tuhe ich eine Kopie dieser Tabelle, die im Betrieb gepflegt wird. Dort stehen immer die letzten Impulslängen für jeden Kanal, der mega8 vergleicht eine neu gemessene Impulslänge mit dem Wert dort. Sollte der Benutzer über die Funkfernsteuerung einen geänderten Wert übertragen, so erkennt das Programm dieses durch Vergleich, pflegt die Daten in der Tabelle im SRAM und sendet per I2C die veränderten daten z.B. an eine Motorsteuerung.

Für das EEROM habe ich bisher keinen Bedarf und habe es auch nicht genutzt. Du siehst also, das SRAM enthält jene Daten die sehr variabel sind, das Flash jene die ich nur seltener ändere.

Ach, ein grund fällt mir gerade für das EEROMein. Man kann bei den Controllern über sogenannte Fusebits den Inhalt des Flash vor Auslesen und verändern schützen. In diesem fall könnte das Flash also nicht zur Speicherung der "default Information dienen und das EEROM wäre die Alternative.

Ich hoffe diese Information hilft dir jetzt besser.