Unterstützung von langen Dateinamen für FAT Filesystem

OP
FAT32 bedeutet noch lange nicht, dass dort lange Dateinamen unterstützt 
werden!!!

Abgesehen will ich nicht nur irgendein Pseudo FAT32 implementiert haben, 
denn das habe ich bereits, sondern will komfortabel mit Datein arbeiten 
in dem es Befehle wie fwrite(), fread(), fopen etc. gibt.
Verzeihung, aber.....

..mir ist keine Fat32 implementierung bekannt, die lange Dateinamen 
nicht unterstüzt.

Das erste Resultat der Googlesuche verweist auf eine Seite mit 
herunterladbaren Quellcode mit der Beschreibung

"It started life in my MP3 project in 2003 with only very basic read 
support, and grew into a more fully featured module with a stdio like 
interface providing functions such as fopen(), fgetc(), fputc(), 
fread(), fwrite(), etc."
OP
Okay, ich drück mich anders aus... FAT32 unterstützt lange Dateinamen, 
aber das Rundherum muss es nicht. Man kann Funktionen auch so 
implementieren, dass lange Dateinamen ignoriert werden und nur DOS 
kompatible Namen verwertet werden. Wenn man so einen vorhandenen Code 
erweitern möchte, dass auch lange Dateinamen unterstützt werden, dann 
ist das mit viel Arbeit verbunden, dich ich mir wenn möglich gerne 
ersparen möchte.


Die Lib die du erwähnst habe kenn ich schon, aber da produziert mein 
Compiler nur Mist. CCS ist ja nicht 100% ANSI C und offenbar gefallen 
ihm da etliche Sachen nicht. Oder es liegt daran, dass der Code nicht 
geht...
Horschd wrote:

> Soll ja auch für n PIC sein. Es gibt noch eine Welt jenseits von
> Atmel....

oki, zugegeben, es steht da auf englisch...

"[...] etc and has a low memory footprint with customizable build 
options to enable it to run on platforms such as the Atmel AVR, ARM & 
PIC microcontrollers."

übersetzung:

"..und hat einen geringen speicherverbrauch mit einstellbaren 
build-optionen um es auf AVR, ARM und PIC Mikrocontroller laufen zu 
lassen."

Ich nehme an, es wird sich wohl schon irgendwen finden lassen, der das 
schonmal zu PIC portiert hat. Jedenfalls sollte der Aufwand dafür 
äusserst gering sein.
Gast
Mir gings jetzt auch nicht direkt um den link an sich, sondern um den 
Post, in dem gleich mal wieder ohne groß mitzudenken AVR als Referenz 
genannt wurde. Mich stört das eben hier ein wenig, dass sich anscheinend 
die ganze Welt nur um Atmel dreht (zumindest in diesem Forum)
OP
Ich denke auch, dass es einfach ist von AVR nach PIC zu portieren, aber 
dummerweise hängt das vor allem vom Compiler ab wieviel man Aufwand 
reinstecken muss.

Wie gehabt der CCS Compiler ist der größte Sch***, Problem ist nur, dass 
ich keinen anderen habe und so kurzfristig auch nicht umsteigen kann.

Also optimal wäre es, wenn den Code bereits jemand mit CCS zum Laufen 
gebracht hat.
Thomas P. wrote:

> Die Lib die du erwähnst habe kenn ich schon, aber da produziert mein
> Compiler nur Mist.

Aha, also:

*** ERROR 123 IN LINE 456 OF FOO.C: I produced MIST


Es liegt in der Natur von C, daß ein einziges falsches Zeichen über 1000 
Fehlermeldungen produzieren kann.

Wenn man die ersten 10 Fehlermeldungen gelesen und korrigiert hat und es 
ist keinerlei Fortschritt zu sehen, dann kann man vielleicht von 
Problemen sprechen.

Meistens sinds ganz banale Sachen (Inlcude nicht gefunden, falscher 
Pfad, falsche Schalter).


Peter
Gast
Wenns n gutes C für PICs sein soll, und man bereit ist etwas zu 
investieren, dann kann ich den Compiler von Mikroelektronika empfehlen. 
Die haben auch integrierte Ethernetroutinen. Ich kenn zwar jetzt nur das 
Basic von denen, aber vom Umfang her sind die Compiler alle (fast) 
gleich. Wenn man jetzt nich gerade Assemblermässig auf letzte Byte 
achten will, dann sind die doch wohl ganz gut.
OP
Also es gibt nur zwei Optionen, entweder der Code geht nicht... oder der 
Compiler versteht ihn nicht.

Ich tippe aber eher an den Compiler, denn der ist wie gehabt nicht ANSI 
C und da meckert er an wirklich vielen Dingen. Buffer dürfen nur eine 
gewisse Größe haben, kein signed, Pointer nur eingeschränkt nutzbar usw.
also du fragtest Eingangs nach einen "leicht portierbaren Dateisystem". 
Ich denke, das trifft für den Code zu.

Man gewinnt allerdings den Eindruck, daß du nach einer fertigen Lösung 
für dein Projekt suchst. Dann solltest du vieleich genauer beschreiben, 
was du vorhast.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.