Flash File System selber schreiben

Gast #962175
Hallo,

ich würde gern ein Flash File System mit FAT16 und FAT32 für 
Mikrocontroller selber schreiben. Hierzu würde ich zuerst einmal eine SD 
Karte implementieren. Später dann noch CF und Flash.

Kann jemand hierzu vielleicht Hilfestellung geben wie maan damit am 
besten startet? Welche Bücher, Artikel und Spezifikationen solle man 
lesen (wenn möglich mit Link)

Ich weis, dass es schon hunderte Implementierungen gibt, aber ich möchte 
es selber machen um ein tieferes Verständnis darüber zu bekommen.

Gruß Mario
Gast
> ich würde gern ein Flash File System mit FAT16 und FAT32
Was mit Fat16/32 mit einen Flash File System zu tun?

Entweder man entwicklent ein eigenes Flash File System oder man Nutzt 
das Fat16/32 mit eigenem Code. Das Fat Dateisystem hat ja genau die 
Schwäche das ist nicht für Flash geeignet ist. Aber die Flash werden 
immer Schlauer und gleichen das Mittlerweile aus.
Persönliche Seite
Peter wrote:
> Aber die Flash werden
> immer Schlauer und gleichen das Mittlerweile aus.

Das stimmt so nicht. Es kommt drauf an was mit "Flash" gemeint ist. Eine 
SD-Karte beispielsweise hat einen Controller, der das so genannte 
Wear-Leveling durchführt. Bei ganz einfachen Flash-Speicherchips ist idR 
aber kein Controller drin, der Wear-Leveling betreibt.
Gast
Hallo Zusammen,

OK, die Frage war vielleicht etwas falsch formuliert. Ich möchte ein FAT 
16/32 Filesystem für einen Mikrokontroller implementieren, dass zuerst 
mit einer SD Karte und irgendwann einmal noch CF, USB Stick und ggf. 
auch NAND Flash unterstützen soll. Die frage ist immer noch, wie man da 
am besten rangeht?

Gruß Mario
Geht es dir darum, was zu lernen? Dann fang mit den Hardware-Sachen an 
finde raus, wie du Sektoren auf dem Medium schreiben und lesen kannst.

Wenn es um die Sache an sich geht, also einen µC mit einem größeren 
Speichermedium auszurüsten, dann gibt es schon viele gute, fertige 
Lösungen, auch "freeware", die sich in kommerziellen Projekten einsetzen 
lassen würde. Es lohnt sich nicht, da selbst das Rad neu zu erfinden.
Gast
Nachdem du Sektoren lesen und schreiben kannst schau dir die 
FAT-Spetzifikation an. Die gibt es bei Microsoft. Den Link findest du 
mit ein wenig suchen hier im Forum oder Google auch.
Suchbegriff : fatgen
Gast
> dass zuerst mit einer SD Karte und irgendwann
> einmal noch CF, USB Stick und ggf. auch NAND Flash unterstützen soll

Wenn du es richtig machst ist dem Dateisystem egal auf was er zugreift, 
das Dateisystem kennt nur sektoren, ob es nun ein CF oder SD Sektor ist, 
ist dem Dateisystem egal. Darum muss sich dann der "hardware treiber" 
kümmern und der hat nichts mit dem Dateisystem zu tun.
Gast
Hallo,

also wenn ich das richtig verstehe, dann sollte ich erst einmal 
versuchen Sektoren auf eine SD Karte zu lesen und zu schrieben. Danach 
dann die FAT Schicht darüber legen. Ist es einfacher eine SD oder eine 
MMC Karte zu lesen und zu schreiben?

Gruß Mario
Gast
Such die doch einfach mal die Beschreibung der Schnittstellen von SD 
oder MMC. Dann lies sie dir mal durch und entscheide selber mit welcher 
du Anfängst.
Gast
MMC kann nicht so schnell wie SD, gerade beim initialisieren. Ansonsten 
verwendet MMC sowieso keiner mehr, aber die Beschreibung paßt auch für 
SD.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.