mikrocontroller.net

Forum: Compiler & IDEs Files im RAM anlegen


Autor: USB_Help (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe den USB key von ATMEL mit dem AT90USB1287. Auf diesem befinden 
sich auch 16MB Flash. Nun möchte ich das beiliegende Beispielprogramm so 
erweitern, dass der Key selbsständig Dateien anlegen und schreiben/lesen 
kann. Leider funktioniert fopen... nicht.
Kennt jemand eine einfache möglichkeit Daten in form von Files im Flash 
abzulegen?

Schon mal Danke im voraus

Autor: Tilo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke du stellst dir das Flash falsch vor.
Es gibt kein Dateisystem, ergo keine Dateien.
Du kannst dir selbst einen Bereich definieren, der als
"Datenträger" verwendet werden soll.
Je nach vorhaben kann das aber schnell sehr umfangreich werden.

Bis dann,

Autor: USB_Help (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tilo,

Sicher hast Du recht. Mir ist durchaus bewusst, das ein Flash kein 
Windows formatierter Datenträger ist, und das Files und Verzeichnisse in 
der gewohnten Art nicht existieren. Noch nicht. Eine CF oder MMC oder 
sonstige Speicherkarte kann auch als FAT formatierter Datenträger 
verwendet werden. Diese Bausteine sind nichts anderes als Flash 
Speicher. Das Problem das ich nun habe ist, das es keine vorgefertigten 
Routinen gibt, die mein am SPI Bus hängendes Flash nach den "Regeln" 
behandeln damit Windows so angelegte Dateien und Ordner erkennt. Als 
Hinweis: Das ATMEL AT90USBKEY Demokit hat eine erweiterbare Firmware 
drauf, in der das Handling zwischen Windows und dem Flash geregelt ist. 
Heißt Windows erkennt das Flash als Wechseldatenträger.
Zusammengefasst: Mir fehlt der Ansatz bzw. eine Erklärung wie ich Daten 
im Flash ablegen muss, damit diese von Windows als Datei/Ordnerstruktur 
erkannt werden.

Gruß

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
USB_Help wrote:

> Zusammengefasst: Mir fehlt der Ansatz bzw. eine Erklärung wie ich Daten
> im Flash ablegen muss, damit diese von Windows als Datei/Ordnerstruktur
> erkannt werden.

Es gibt massig freie FAT-Filesystem-Implementierungen für den AVR.
Wirf mal Gugel an.

Autor: USB_Help (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt massig freie FAT-Filesystem-Implementierungen für den AVR.
Wirf mal Gugel an.

Toller Tipp!

Leider hab ich das Problem, dass ich verstehn will was ich da tue. Kann 
jemand eine Ordentliche Erklärung für das FAT16 System empfehlen?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gugel?  Warum erwartest du, dass dir das hier jemand haarklein nochmal
abtippt?

Autor: Martin Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.microsoft.com/whdc/system/platform/firm...
Text erläutert auch FAT16. Würde das Rad (eine FATxy-Library) nicht neu 
erfinden, sondern etwas fertiges nehmen. Es gibt viel freien und 
käuflichen Code, der einem viele (richtig viele) Stunden Arbeit spart 
und auch mehr oder weniger gut von vielen Anwendern getestet wurde (vgl. 
Artikelsammlung für Links). Lieber versuchen zu verstehen, wie eine 
FAT-Library auf dem Controller auf das "Block-Device" zugreift und wie 
das bei einem MSB-Mass-Storage-Device funktioniert. Dies ordentlich zu 
synchronisieren scheint mir die eigentliche Aufgabe bei einem solch 
Projekt und nicht eine FAT-Library selbst.

Autor: USB_Help (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Martin für den Link. Das ist genau was ich gesucht habe.
Das Rad will ich natürlich nicht neu erfinden, aber ich brauche tiefe 
Einblicke in jedes Detail, um meine Applikation genau auf meine 
Bedürfnisse zuzuschneiden. Ich habe höchsten Respekt für die Leute, die 
ein sehr austauschbares Projekt geschrieben haben (z.B. 
www.holger-klabunde.de oder Roland Riegel und alle weiteren), jedoch 
liegt meine angestrebte Applikation weit unter einem solchen Umfang.

Danke für eure Hilfe.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.