uC & Fat16 Filesystem

M

Martin Kaul

Guest
Hallole,

ich bin gerade auf der Suche nach einem Treiber im Sourcecode, damit ich
auf nem uC ein Fat16 Filesystem einrichten kann, d.h. Dateien ins Flash
schreiben und von der Applikation darauf zugreifen.

Kennt jemand von euch Quellen im Netz?

tschaule & Danke
Martin
 
Martin Kaul <mkaul@leuze.de> writes:

Hallole,

Kennt jemand von euch Quellen im Netz?
Klick dich mal durch die Links in der dse FAQ
(http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm)
Punkt F.7.6. (Massenspeicher an Mikrocontrollern)
durch.



Tschüss
Martin L.
 
Martin Kaul <mkaul@leuze.de> schrieb im Beitrag <41124a07$0$291$4d4ebb8e@read.news.de.uu.net>...
ich bin gerade auf der Suche nach einem Treiber im Sourcecode, damit ich
auf nem uC ein Fat16 Filesystem einrichten kann, d.h. Dateien ins Flash
schreiben und von der Applikation darauf zugreifen.
Kennt jemand von euch Quellen im Netz?

Na ja, in welcher Programmiersprache denn ? Und welches Interface auf
Applikationsseite ? DOS-kompatible Interrupts oder C-Library kompatible
Funktionen wie open/fopen ? Es gibt ein freies DOS-C, also ein DOS in C,
und DOS besteht zum wesentlichen Teil bloss aus der FAT-Verwaltung.
War aber nicht ganz fehlerfrei.
Unter http://www.monmouth.com/user_pages/patv/ zu holen.
Es gibt auch andere. DR-DOS/Novell-DOS ist in 8086 Assembler.
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
MaWin wrote:

Martin Kaul <mkaul@leuze.de> schrieb im Beitrag <41124a07$0$291$4d4ebb8e@read.news.de.uu.net>...

ich bin gerade auf der Suche nach einem Treiber im Sourcecode, damit ich
auf nem uC ein Fat16 Filesystem einrichten kann, d.h. Dateien ins Flash
schreiben und von der Applikation darauf zugreifen.
Kennt jemand von euch Quellen im Netz?


Na ja, in welcher Programmiersprache denn ? Und welches Interface auf
Applikationsseite ? DOS-kompatible Interrupts oder C-Library kompatible
Funktionen wie open/fopen ?
C als Programmiersprache und C-Library Funktionen. Wir möchten auf dem
uC einen Webserver portieren - Um die einzelnen HTML-Seiten im Flash zu
speichern brauch ich halt ein Filesystem. Es muss nicht unbedingt Fat16
sein, ich dachte nur, dass Fat16 nicht kompliziert ist und es deshalb
irgendwo Treiber für uC gibt...

tschaule
Martin
 
Martin Laabs wrote:

Martin Kaul <mkaul@leuze.de> writes:


Hallole,


Kennt jemand von euch Quellen im Netz?


Klick dich mal durch die Links in der dse FAQ
(http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm)
Punkt F.7.6. (Massenspeicher an Mikrocontrollern)
durch.
FAQ hab ich schon angeschaut. Ich will keinen Massenspeicher an den yC
anschliesen. Ich möchte ein Filesystem im internen Flash nachbilden,
d.h. bestimmte Bereiche im Flash sind nicht Programmcode sondern
Dateien, Verzeichnisse usw. Innerhalb meiner Application möchte ich dann
mit open(), read(), write() usw. auf die Dateien zugreifen.

tschaule
Martin
 
Hi!

C als Programmiersprache und C-Library Funktionen. Wir möchten auf dem
uC einen Webserver portieren - Um die einzelnen HTML-Seiten im Flash zu
speichern brauch ich halt ein Filesystem. Es muss nicht unbedingt Fat16
sein, ich dachte nur, dass Fat16 nicht kompliziert ist und es deshalb
irgendwo Treiber für uC gibt...
einfach einen "Treiber" gibt es nicht. Nur eine Menge private (zum Grossteil
Alpha/Beta) Implementierungen. Der Grund warum jeder FAT verwendet liegt
darin, den Massenspeicher direkt über Windows mit Daten füllen zu können. In
deinem Fall ist FAT wohl overkill und es ist wahrscheinlich einfacher selber
eine einfache Dateierwaltung zu schreiben. Deine fwrite, fread funktionen
kannst du dir dann auch nach eigenem Belieben definieren.

mfg
Jan
 
Es muss nicht unbedingt Fat16 sein, ich dachte nur, dass Fat16 nicht
kompliziert ist
LOL.
Es gibt im www ein pdf
"FAT: General Overview of On-Disk Format"
das beschreibt was Microsoft meint was FAT12/16 ist.
Ich vermute wenn man sich selber was ausdenkt kanns nur besser werden.
Es gibt gute Gründe für eine CF-Karte auch wenn man sie fest einbaut.
Man hat dann 512 Byte die über LBA-Format linear addressierbar sind.
Für defekte ist der Controller in der CF-Karte zuständig.
Selbst wenns auf ein einzelnes 29Fxxx-IC passen würde: der kann aber
beim Schreiben keine einzelnen 512 Byte Blöcke löschen.

MfG JRD
 
Martin Kaul <mkaul@leuze.de> writes:
Martin Laabs wrote:
Martin Kaul <mkaul@leuze.de> writes:

FAQ hab ich schon angeschaut. Ich will keinen Massenspeicher an den yC
anschliesen. Ich möchte ein Filesystem im internen Flash nachbilden,
d.h. bestimmte Bereiche im Flash sind nicht Programmcode sondern
Dateien, Verzeichnisse usw. Innerhalb meiner Application möchte ich dann
mit open(), read(), write() usw. auf die Dateien zugreifen.
Naja. Ich meinte bei einem oder zwei der Projekte auch eine
Unterstützung für FAT gesehen zu haben. Aber FAT16 ist fies.
Ich wollte mal 16 in einem userland Progamm implementieren und
habe dann lieber gleich 32 genommen.

Tschüss
Martin L.
 
Hallo,
siehe älterem Beitrag
--> "Betrifft:FAT16 Dateisystem für Compact Flash auf AVR" vom
28.02.2004 in dieser Group. Für Ansteuerung der Sector-Ebene bzw. dem
IDE-Interface gibt´s einige Beispiele (PIC www.armanet.com, asm-code).

Ich gehe davon aus daß es um eine CF Karte handelt -- oder?


viele grüsse
hansjoerg


"MaWin" <me@privacy.net> wrote in message news:<01c47aff$9714fa00$ae13b850@amdk6-300>...
Martin Kaul <mkaul@leuze.de> schrieb im Beitrag <41124a07$0$291$4d4ebb8e@read.news.de.uu.net>...

ich bin gerade auf der Suche nach einem Treiber im Sourcecode, damit ich
auf nem uC ein Fat16 Filesystem einrichten kann, d.h. Dateien ins Flash
schreiben und von der Applikation darauf zugreifen.
Kennt jemand von euch Quellen im Netz?

Na ja, in welcher Programmiersprache denn ? Und welches Interface auf
Applikationsseite ? DOS-kompatible Interrupts oder C-Library kompatible
Funktionen wie open/fopen ? Es gibt ein freies DOS-C, also ein DOS in C,
und DOS besteht zum wesentlichen Teil bloss aus der FAT-Verwaltung.
War aber nicht ganz fehlerfrei.
Unter http://www.monmouth.com/user_pages/patv/ zu holen.
Es gibt auch andere. DR-DOS/Novell-DOS ist in 8086 Assembler.
 
Martin Kaul <mkaul@leuze.de> wrote:
MaWin wrote:

Na ja, in welcher Programmiersprache denn ? Und welches Interface auf
Applikationsseite ? DOS-kompatible Interrupts oder C-Library kompatible
Funktionen wie open/fopen ?

C als Programmiersprache und C-Library Funktionen. Wir möchten auf dem
uC einen Webserver portieren - Um die einzelnen HTML-Seiten im Flash zu
speichern brauch ich halt ein Filesystem.
Dann ist FAT ohnehin nicht erste Wahl. Schau dich mal im (embedded)
Linux-Lager um, da gibts spezielle Filesysteme für Flash-Speicher.


XL
 
FAQ hab ich schon angeschaut. Ich will keinen Massenspeicher an den yC
anschliesen. Ich möchte ein Filesystem im internen Flash nachbilden,
d.h. bestimmte Bereiche im Flash sind nicht Programmcode sondern
Dateien, Verzeichnisse usw. Innerhalb meiner Application möchte ich dann
mit open(), read(), write() usw. auf die Dateien zugreifen.
Na das ist doch super-einfach und laesst sich mit 1-2 Bildschirmseiten
Programm erledigen.

Definier Dir eine File-Header Struktur in der Du Dateiname, Groesse und
ggf weitere Attribute wie Datum eintraegst. Die legst Du dann zusammen
mit dem Filebody im Flash ab, ein File hinter dem anderen. Definiere
Dir eine File-Handle Struktur in der Du Startaddresse im Flash, und
aktuellen Offset vermerkst. Fuer jedes Open() fuellst Du dann eine
solche Struktur im RAM mit den richtigen Werten aus. Read() sucht dann
einfach nur die richtige Adresse raus und macht dann ein memcpy().
Write() gibt einen Fehler zurueck (ist ja das interne CODE-Flash).
Das ist dann schon alles.

Marc
 

Welcome to EDABoard.com

Sponsor

Back
Top