Hallo, ich bräucht mal ein paar Ratschläge, weil ich mich seit ein paar Tagen im Kreis drehe, wie ich weitermachen soll... Ich programmiere gerade eine Elektronik mit Ethernetschnittstelle, über die Messwerte gesendet werden. Dies funktioniert soweit. Dann soll darauf noch ein kleiner Webserver zum Anzeigen von HTML Seiten laufen. Dies funktioniert soweit auch, nur sind momentan die Webseiten noch im Quellcode implementiert. Künftig sollen die Webseiten auf einem externen Flash-Speicher liegen (keine SD-Karte!). Ich habe zunächst nach Quellcodes für FAT-Dateisysteme gesucht. Nur ist es überhaupt sinnvoll/notwendig, dass ich auf meinem externen Speicher ein FAT-Dateisystem einrichte, wenn ich den Speicher nie an einem PC habe? Das FAT-Dateisystem schein mir doch ziemlich aufwändig. Alle Quellcodes die ich gefunden habe, gehen meist von einer SD-Karte aus, die zuvor am PC formatiert wurde... somit wäre das programmiertechnisch alles ein recht großer Aufwand, müsste den Flash erst formatieren, der Zugriff auf SD-Karten ist auch anders als auf einen Flash... Aber wie würde eine funktionierende Alternative aussehen? Ich bräuchte einen Speicherbereich, wo ich eine Art Zuordnungstabelle habe (Also Dateiname, Größe und wo im Speicher sie liegt). Dann müsste ich beim Start nur diese Zuordnungstabelle auslesen und wenn eine Datei angefordert wird, nachsehen wo sie liegt und dann lesen und senden, oder? Und dann müsste ich mir noch überlegen, wie ich die Dateien auf das Flash bringe, also in ein Binärformat umwandeln, über Ethernet übertragen und ins Flash schreieben. Klingt das irgendwie sinnvoll, oder habe ich was Grundlegendes übersehen?
Hi, Thomas Haslinger schrieb: > Künftig sollen die Webseiten auf einem externen Flash-Speicher liegen Warum? Weiter oben hast Du doch geschrieben, dass alles funktioniert. Ist der Platz zu klein? > der Zugriff auf SD-Karten ist auch anders als auf einen Flash... SD-Karten sind Flash-Speicher mit eigenem µC. Warum möchtest Du alles selber stricken? Für SD-Karten gibt es hier dutzende Beispiele. Einfacher gehts nicht. > Ich bräuchte einen Speicherbereich, wo ich eine Art Zuordnungstabelle habe Nicht unbedingt, kommt darauf an was Du mit den Webseiten machen möchtest. >Und dann müsste ich mir noch überlegen, wie ich die Dateien auf das Flash >bringe, also in ein Binärformat umwandeln, über Ethernet übertragen und ins >Flash schreieben. Das hört sich nach ftp-Server an, wurde hier auch schon mehrfach veröffentlicht. Gruß Andi
Ja der Speicherplatz im Controller ist zu wenig für die Webseiten (brauche 1-2MB). Außerdem müsst ich dann ständig die Controllersoftware ändern, wenn es Änderungen an der Webseite gibt, was bei uns erfahrungsgemäß ziemlich oft ist. Also alle Beispiele mit SD Karten die ich gefunden habe, waren ziemlich umfangreich. Vor allem den ganzen Funktionsumfang einer FAT Partition (einzelne Dateien löschen, umbenennen, Datum,...) und eines FTP Server brauch ich eigentlich nicht. Ich will im Prinzip nur einmal einen kompletten Satz Webseiten rüberspielen und gut ists. Klar ist eine SD-Karte auch ein Flash Speicher, aber eben mit eigenem Controller und soweit ich gesehen habe, gibt es spezielle Softwarebefehle für diese SD Karten. Ich hab aber einen fest eingelöteten Flash-Chip, da müsste ich dann alle Befehle umschreiben, oder nicht? Und eine SD-Karte kann in diesem Projekt nicht verwendet werden. Du schreibst ich brauche nicht unbedingt einen Speicherbereich mit einer Dateizuordnungstabelle. Aber wie soll ich dann wissen wenn über Ethernet eine Anfrage für eine bestimmte Seite kommt, wo ich danach im Speicher suchen muss?
Man kann sd- Karten auch ohne Dateisystem beschreiben "RAW", genau wie jeden anderen Speicher auch, aber ein Dateisystem brauchst Du ja scheinbar und wenn Du selber keins erfinden möchtest musst Du halt FAT, minix oder ähnliches benutzen. FAT ist hier wahrscheinlich am besten dokumentiert und kleine FAT's gibt es z.B. hier "http://elm-chan.org/fsw_e.html" Wenn der Flash schon eingelötet ist, wirst Du ja auch Infos haben, wie er angeschlossen wurde (SPI, I2C) und welche Befehle Dein Flash akzeptiert. Dann wirst Du diese auf den Quellcode des Filesystems portieren müssen. Wenn Du die html-Seiten schon auslagerst, müsstest Du doch wieder genug Platz auf dem µC haben? Hier wurde schon mal darüber diskutiert: Beitrag "kleinste SPI-SD+Fat Lib für AVR"
schau doch mal bei Ethersex rein, vielleicht ist das ja was du suchst.
Man kann auch ein Dataflash benutzen und ein vereinfachtes FAT selbst schreiben. So schwierig das auch nicht.
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.