Hallo!! Kennt jemand von euch ein leicht portierbares Filesystem, das lange Dateinamen unterstützt? Zielplatform sollte ein PIC18F8722 werden. lg Thomas
Ich glaube, kein Dateisystem ist simpler, besser Dokumentiert und portierbarer als Fat32.
naja ich will auch nix neu programmieren. Bin kurz über das EFSL drüber gefolgen aber offensichtlich unterstützt diese Lib keine langen Dateinamen.
Warum bekomme ich mit Googlesuche "avr fat32" sofort brauchbare resultate? oder taugen die nix? Bin ich der einzige, der zuerst ne Suchmaschine verwendet, bevor er im Forum nachfragt?
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."
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...
Ja leider... wenn ich die Hardware neu entwerfen könnte, würde ich sowieso auf ARM7 umsteigen, da gibts reichlich Code für solche Dinge.
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.
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)
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.
Atmel hat nunmal die grössere Ausbreitung und wenn man danach sucht, stöst man zeitweilig auch auf Projekte, die sich dank C mit geringen Aufwand schnell protieren lassen.
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
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.
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.
Also die FAT32 Lib unter http://www.robs-projects.com/filelib.html ist für einen Controller unbrauchbar. Wenn man sie ressourcensparend konfiguriert braucht man noch immer 3000 Bytes RAM, welcher 8 Bit Controller hat das schon!!! Abgesehen davon sind alle Low Level Routinen nicht implementiert. Gibt es noch andere Vorschläge?
Es geht doch um lange Dateinamen auf FAT. Abgesehen davon dass M$ dafür ein Patent angemeldet hat kann der Code aus Beitrag "MMC/SD-Karte mit FAT16 an AVR" Dateinamen bis zu einer Länge von 64 Zeichen (oder waren es 32? Noch nicht ausprobiert, aber jedenfalls mehr als 8.3). Ist zwar GCC für den AVR, ist aber relativ leicht portierbar. Werner
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.