mikrocontroller.net

Forum: Projekte & Code FAT Dateisystem


Autor: FAT USER (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich bin auf der Suche nach einer C-Source für ein einfaches
FAT-Filesystem. Es sollte Lesen UND Schreiben möglich sein. Gut wären
die "alten" elementare DOS-Befehle wie z.B. dir, cd, md, del,
copy...

Bisher habe ich nur die SD-Card FAT Sourcen entdeckt, die leider nur
lesen können.

Suche so was ähnliches wie emFile, welches mir für meine
Hobby-Anwendungen einfach zu teuer ist.

Danke für eure Hilfe.

Autor: Netbandit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum machst du das nicht selbst?

Das ist ein richtig tolles Projekt! Man lernt Unmengen über den Aufbau
von Dateisystemen und Massenspeichern.
Und vor allem ist es ein Projekt wo man richtig merkt an welcher Stelle
es im Kopf "klick" macht und plötzlich alles ganz logisch ist :)

Autor: FAT USER (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Netbandit
>Warum machst du das nicht selbst?
>Das ist ein richtig tolles Projekt!

Da hast du schon recht, aber es ist sinnvoller erst einmal zu schauen,
ob es schon eine Lösung gibt, anstatt das Rad neu zu erfinden.

Für mich ist es für die Planung eines Projektes wichtig zu wissen, ob
es so was schon als Freeware gibt. Ansonsten hat es die Priorität
"Nice to have", und in der Tat kann ich mir dann überlegen, ob ich es
dann versuche "Selber" zu implementieren.

Autor: Daniel Braun (khani)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leutle,

dazu kann ich auch mal melden. Ein FAT-Dateisystem ((12)/16/32) ist im
Moment bei mir ind er Mache. Es kann schon lesen und schreiben in allen
Ausprägungen (also auch neue Dateien/Verzeichnisse) erstellen.
Leider ist es im Moment im Redesign. Das heißt, die Architektur wird im
Moment von mir umgestellt. Daher kann ich es im Moment nicht sinnvoll
hier vorstellen. Sollte die Architektur dann mal stehen  (mit API nach
oben und definierter Schnittstelle nach unten), dann will ich es
vielleicht im Rahmen einer Projektseite vorstellen. Dann bekommt man
auch die Sourcen dazu. Das liegt aber noch in mindestens
Wochenentfernung, da ich nur abends und am Wochenende daran arbeite und
dann nur, wenn ich nach der Arbeit noch motiviert genug bin.

Als Tips kann ich zur Implementierung mal Folgendes sagen :
Erst mal eine Schicht mit Hardware-Routinen erstellen.
Dann mit dem Whitepaper von Microsoft versuchen, Schritt für Schritt
lesen und schreiben zu implementieren.

Praktisch kann es auch sein, wenn man die Hardwareschicht erst mal über
eine Schnittstelle seiner Wahl an einen PC anbindet - dann kann man auf
dem PC erst mal nach Lust und Laune die prinzipiellen Funktionalitäten
implementieren, ohne jedes Mal gleich auf den Speicher schielen zu
müssen. Schritt für Schritt wird dann alles auf die
Microcontrollerseite hinüber gebracht.

Ich persönlich habe außer dem Whitepaper, der ATA-Spec und einer
Kurzbeschreibung des MBR (Mast Boot Records) keine Hilfsmittel
verwendet. Das habe ich so gemacht, da ich eh meine Routinen alle
selber schreiben wollte. Man kann dabei wirklich viel lernen - das
fängt beim Lesen von Timing-Diagrammen an und hört bei der
Implementierung eines Handle-Filesystems auf.

MfG, Daniel.

Autor: SuperUser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Warum machst du das nicht selbst?

>Das ist ein richtig tolles Projekt! Man lernt Unmengen über den
>Aufbau
>von Dateisystemen und Massenspeichern.

Das ist ja gerade das Schöne, dass wir hier source code sharen. Dann
muss nicht jeder alles selber schreiben.

Das ermöglicht dir, auch komplexe Ideen zu realisieren. Ansonsten
würden viele Projecte am Software-Aufwand scheitern.

Auf der anderen Seite hat der - der seinen Code zur Verfügung stellt -
auch Vorteile (neben Ruhm und Ehre). Manchmal werden Bug's gefunden
oder der Code wird weiterentwickelt auf andere Platformen etc.

Z.B. würde ich gerne einen Daten-Austausch mit SD/MMC Karte in mein
Hobby-Projekt integrieren, ersticke aber schon im Software-Aufwand für
all die anderen Funktionen. Über eine FAT (read/write) Lib. würde ich
mich daher z.B. sehr freuen.

Autor: beta-frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auf www.holger-klabunde.de finden sich FAT Dateisysteme, auch
SD/MMC-Anbindung f. AVR. Lesen, schreiben, erstellen, löschen etc
funzt. Das einzige, was ich vermissen würde ist, das man innerhalb
einer Datei nichts überschreiben kann - nur ranhängen.

Gruß Frank

Autor: Jens D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
beta-frank
hast du das schon getestet??
Ich bin diese Woche auch darauf gestossen..
Gib mal etwas Feedback

Gruss

Autor: pittbull (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: beta-frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jens D.

Auch erst kürzlich entdeckt aber noch nicht getestet... wollte ich
demnäxt machen... :-o

Gruß Frank

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gibts hier was neues? bin mich auch gerade am einlesen in das thema...

Autor: Daniel aka Khani (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

update : Man kann nun über das Handle-File-System 16 Dateien
gleichzeitig öffnen (wenn man genug Speicher für die Handles übrig
hat). Außerdem kann man im Moment noch Verzeichnisse wechseln und Daten
in 16bit-Breite über das Handle-System lesen.
Das alles mit vollem FAT16/32-Support und langen Dateinamen. Schreiben
kann das neue API noch nicht (das alte konnte, also kommt das
demnächst).

Ich habe gestern abend einen Lesetest gemacht und bin mit einer
handelsüblichen Festplatte und einem ATmega32 @ 11,592 MHz auf 375 kB/s
gekommen. Testsituation war das Lesen einer 6,0MB großen Datei in
gestoppten 16 Sekunden.

Mehr darüber in Bälde. Ich werde dann auch mal einen Artikel dazu
verfassen und die Sourcen so darstellen, dass man sie auch
weiterverwenden (und -geben kann). Ergo : Im Moment noch keine Sourcen
:-(.

MfG, Daniel.

Autor: Kalle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun, es sind nun zweieinhalb Jahre vergangen. Daniel, wie weit bist Du 
denn nun? Ich vermisse einen Link zu Deiner Projektseite....

Gruß
Kalle

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.