Forum: Mikrocontroller und Digitale Elektronik Formatierung eines Flash-Speichers


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Michael S. (rbs_phoenix)


Bewertung
0 lesenswert
nicht lesenswert
Hallo erstmal.
Ich stehe gerade vor einer Art Problem, wie ich am besten Daten in ein 
64Mbit Flash bekomme. Genauer gesagt, wie diese Daten mit einem 16bit 
PIC unter C verwaltet werden. Es geht zum einen um Konfigurationen (von 
1 Byte bis zu Strings mit einer Länge von ca 50 Zeichen) aber auch um 
kleine Audio-Sequenzen oder aus dem Internet geladene, 
zwischengespeicherte Firmwarwupdates.
Ich habe mir da sowas ähnliches vorgestellt wie FAT16. Also wo ich z.B. 
eine config.ini erstelle, in dem die Werte abgelegt werden und einen 
Unterordner Audio, in dem ich die kB großen Dateien ablegen kann. Das 
Firmwareupdate könnte in eine separate Datei wandern, die nach dem 
Update wieder gelöscht werden kann (vielleicht kommen mit dem Update 
auch ein, zwei Audiodateien mit). Idealerweise auch mit einer 
Suchfunktion nach Dateinamen, aber das wäre ein nice to have.

Die ganzen FAT Beispiele usw die ich gefunden habe, beziehen sich aber 
immer auf SD- oder CF Karten. Man müsste somit iwie die Kurve zum SPI 
Flash bekommen.

Gibt es da soetwas oder was vergleichbares/nützliches? Oder eine FAT 
Bibliothek, bei der man die Lese- und Schreibfunktion selber bestimmen 
kann?

Vielen Dank schonmal

von Michael U. (amiga)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vielleicht
https://github.com/pellepl/spiffs

Gruß aus Berlin
Michael

von Bender (Gast)


Bewertung
0 lesenswert
nicht lesenswert
FatFS kann doch genau das, was du benötigst ?
Du brauchst nur einen eigene Zwischenschicht/Treiber für den SPI Flash 
schreiben.

VG

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Zuerst solltest du klären, ob ein Wear-Levelling notwendig bzw. bereits 
im Speicherchip vorhanden ist. Als nächstes ist es wichtig, 
festzustellen, ob die Siftware Fehlererkennung und Korrektur beherrschen 
muss, oder ob das auch schon im Chip drin ist.

Möglicherweise fällt Dir dann ein, dass eine SD Karte letztendlich viel 
einfacher zu verwenden ist, als nackte Flash Speicherchips.

Die https://www.mikrocontroller.net/articles/AVR_FAT32 Library ist schön 
modular aufgebaut und man kann sie leicht auf andere Mikrocontroller 
portieren. Um etwas anderes als SD/MMC Karten anzusteuern, müsstest du 
lediglich die mmc.c neu implementieren. Die Implementierung des 
Filesystems kannst du 1:1 übernehmen.

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.