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.
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 :)
@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.
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.
>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.
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
beta-frank hast du das schon getestet?? Ich bin diese Woche auch darauf gestossen.. Gib mal etwas Feedback Gruss
@Jens D. Auch erst kürzlich entdeckt aber noch nicht getestet... wollte ich demnäxt machen... :-o Gruß Frank
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.
Nun, es sind nun zweieinhalb Jahre vergangen. Daniel, wie weit bist Du denn nun? Ich vermisse einen Link zu Deiner Projektseite.... Gruß Kalle
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.