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
'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...
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.
> 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.
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.
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
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.
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
> 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.
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
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.
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.