Gast
#3280378
Hallo, ich verwende immer wieder spi flash 25xxx und 45xxx um log Daten zu speichern. Diese sollen dann wieder ausgelesen werden. System: AVR Mega. Zur Zeit fange ich immer bei Sector 0 an und schreibe linear in das Flash. Nach dem Auslesen lösche ich das Flash und kann wieder vorne reinschreiben. Meine Datensätze (variabler Länge) sichere ich mit einer CRC. Ich habe dabei 2 Probleme: - ich muss mir immer die nächste Schreibaddresse merken. Das mache ich im EEpROM bevor der Logger ausgeschaltet wird. Manchmal klappt das aber nicht richtig. Beim Auslesen merke ich dann Datenfehler. - wenn der Speicher voll ist ... geht es halt nicht mehr weiter. Das Löschen der Sektoren ist in der Regel sehr Zeitintensiv. Und eigentlich interressieren mich nicht mehr die ganz alten Daten. Ich suche eine einfache lib, die mir: - ohne das ganze Flash zu durchsuchen den nächsten freien Speicher zur Verfügung stellt. - evtl. circular buffering erlaubt (wenn Speicher voll) - evtl. das Wear leveling beinhaltet - evtl. kaputte Sektoren berücksichtigt - ich brauche aber kein Filesystem mit Dateiindex uns so, da ich ja nur mit der Applikation die Log Daten speichere und im Atmel nicht xxkByte RAM vorhanden sind. Welche libs benutzt ihr? Danke, Adib. --