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
FatFS kann doch genau das, was du benötigst ? Du brauchst nur einen eigene Zwischenschicht/Treiber für den SPI Flash schreiben. VG
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.