Forum: Mikrocontroller und Digitale Elektronik Frage zu FAT16


von zero_gravity (Gast)


Lesenswert?

nen schönen guten morgen an alle! ^^

ich hab mir vor einiger zei für meinen mp3-player ne ansteuerung für 
fat16 geschrieben. funktionierte mit meiner 128mb karte auch wunderbar! 
selbst lob

jetzt hab ich mir ne 2gb karte organisiert, schön mit fat16 auf 64kb 
clustergröße formatiert und mit musik und bildern und sowas 
beschrieben... wenn ich mir die nun aber auf dem player ausgeben lassen 
will, kommt am ende immer ein kleiner teil datenmüll - bei bildern zum 
beispiel ein paar linien oder bei mp3-datein total die komischen 
geräusche!

is ja irgendwie seltsam hab ich mir gedacht und mir die karte mal mit 
winhex unter die lupe genommen und da ist mir aufgefallen, dass immer 
der jeweils letzte cluster einer datei nicht komplett 'benutzt' wird, 
sondern dass zum beispiel nur die ersten 39 sektoren mit den 
eigentlichen daten beschrieben sind - der rest ist "datenschrott"!

nun meine frage: is das überhaupt normal oder kann ich nur nicht richtig 
formatiern??? und wenn das wirklich so beabsichtigt ist, steht dann 
irgendwo im bootsektor oder so wieviele sektoren im letzten cluster 
benutzt werden???


...fat16 is irgendwie ne dämlcihe erfindung ^^ ...


also erstma danke fürs durchlesen und
hoffentlich auch für ganz ganz viele antworten! ;)

glg
zero_gravity

von Olaf (Gast)


Lesenswert?


> winhex unter die lupe genommen und da ist mir aufgefallen, dass immer
> der jeweils letzte cluster einer datei nicht komplett 'benutzt' wird,
> sondern dass zum beispiel nur die ersten 39 sektoren mit den

Das klingt fuer mich normal schliesslich hast du doch meistens Dateien 
die ungleich modulo Clustergroesse sind.

Ueberlege dir doch mal wie eine Datei aussehen muss die nur 1Byte 
enthaelt.


> ...fat16 is irgendwie ne dämlcihe erfindung ^^ ...

Das ist Quatsch. Der FAT Kram ist eine alte Erfindung aus Zeiten als 
Computer langsam und wenig Speicher hatten. Dafuer solltest du hoechst 
dankbar sein, oder moechtest du NTFS in einen Controller implementieren?

Olaf

von Obelix (Gast)


Lesenswert?

Schicke dein Programm doch mal durch einen Debugger.

von zero_gravity (Gast)


Lesenswert?

hey olaf!

ja ne, fat is schon cool, aber ich zermater mir
deswegen nochmal meinen kopf... ;)

also mir is schon klar, dass das nich immer passt, aber ich dachte mir 
bisher immer, der "rest" würde einfach auf null gesetzt werden...
wie kann ich denn rausfinden wann jetzt eine datei wirklich zu ende 
ist??
hast du da zufällig ne idee???

@ obelix:
was meinst du mit nem debugger? mein programm ist eigentlich in ordnung 
;)


glg
zero_gravity

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das Ende einer Datei kannst Du anhand der im Directory zusammen mit 
Änderungsdatum, Dateinamen und -Attributen abgespeicherten Dateilänge 
bestimmen.

Eine andere Methode gibt es nicht, schließlich darf eine Datei beliebige 
Daten in beliebiger Kombination enthalten.

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
Noch kein Account? Hier anmelden.