www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Flash File System selber schreiben


Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Teplotaxl X. (t3plot4x1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Les mal den entsprechenden Artikel in der Wiki, da steht viel.

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du nen Link?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist echt verdammt schwer selbst einmal nachzudenken, ne?
http://de.wikipedia.org/wiki/File_Allocation_Table

Autor: jo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fang damit an, Sektoren zu lesen und zu schreiben. Das ist die 
Grundlage, für den Anfang schwer genug und immer gleich, egal welches 
Dateisystem.

Autor: Hast du nen Link? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Fang damit an, Sektoren zu lesen und zu schreiben.
Hast du nen Link?

Autor: Jojo S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
'efsl' ist ein recht ausgereiftes Projekt auf Sourceforge -> 
http://sourceforge.net/projects/efsl/
Und hier in der Codesammlung auch mal suchen, die Idee ist nicht neu...

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beitrag "Custom made file system: "uFS""
Da hab ich sowas schon mal gemacht. Aber ist beta und nur ein Proof of 
Concept gewesen ;)

EDIT: Ich seh gerade, dass ich die Sachen nicht mehr auf meiner Homepage 
habe. Aber die letzte Version habe ich ja noch angehangen in dem Thread.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mario wrote:

> 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.
                                                ^^^^^
http://elinux.org/File_Systems

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Oliver Döring (odbs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei SD ist das mit der Spezifikation ja nicht so ein Problem, aber die 
MMC ist nicht so einfach zu bekommen.

Autor: fubu1000 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
also meines Wissens ist die MMC und SD Spezifikation die selbe.

GRUSS

Autor: video (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.