www.mikrocontroller.net

Forum: PC Hard- und Software FAT-Funktionen testen / absichtlich fragmentieren


Autor: Coder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich möchte einige Funktionen schreiben um per AVR auf eine MMC/SD-Karte 
zuzugreifen (respektive bestehende Lösungen anpassen).

Zum Test der selbst programmierten Software suche ich Utilities oder 
Systembefehle (für Win 2000) die folgendes tun:

- Erstens möchte ich mir die Clusternummern einer Datei anzeigen lassen, 
d.h. eigentlich die FAT ausdrucken (respektive genauer: die 
FAT-Einträge, welche zu einer Datei gehören ausdrucken)

- Zweitens möchte ich eine Datei absichtlich fragmentieren um zu testen, 
ob meine Software auch mit fragmentierten Dateien zurecht kommt.

Kennt jemand Software die sowas kann?

Besten Dank für jede Antwort

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hexeditor
Vorschlag: erzeuge eine Datei z.B. 8KB auf frischer Karte. Die sollte 
unfragmentiert sein. (aufsteigende zusammenhängende Clusternummern)
in der Datei sind aufsteigend jeweils 512Byte Blöcke mit einem ASCII 
wert.
Also 512*0x00, 512*0x01 etc.
jetzt gehst du mit dem Hexeditor in die erste FAT und vertauschst die 
Reihenfolge der aufeinanderfolgenden Clusternummern, also auf
02 03 04 05 06 07 ..
wird
05 03 06 02 07 04
jetzt liest du mit deinen Routinen jeweils einen Sektor und kannst 
anhand des Inhalts (512 * ASCII Wert) erkennen welchen du gelesen hast.

Autor: Coder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für diese gute Idee.

Kannst du mir gerade einen freien Hexeditor empfehlen?

Wie kann ich die FAT im Hexeditor anschauen? Die gibts ja nicht als 
normales File, das man öffnen kann.

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Kannst du mir gerade einen freien Hexeditor empfehlen
Winhex
bietet auch Schablonen zur Interpretation z.B. Bootsektor
in freier Version leider nur zum Lesen geeignet
auch Devices

>Wie kann ich die FAT im Hexeditor anschauen? Die gibts ja nicht als
>normales File, das man öffnen kann
doch genau das ist es fürs Betriebssystem
unter Linux einfach mit /dev/devicename auslesen
unter Windows Programm in C schreiben mit CreateFile(Device)

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.