Sida 1 av 1
FAT32
Postat: 15 mars 2004, 21:40:55
av danei
Om man ska skriva en fil till en FAT32 disk. Hur många ställen måste man skriva på då? Får till en fil men windows säger att det är något fel på den när man försöker öppna den.
Postat: 16 mars 2004, 07:41:27
av axelsonic
Med vad försöker du skriva den ?
Ett eget program ?
Egen hårdvara ?
Postat: 16 mars 2004, 15:05:41
av danei
Men en PIC 16F877. Kopplad till ett CF-kort.
Egen kod.
Egen hårdvara.
Men frågan var vad som krävs för att XP ska aseptera en fil på kortet. Målet var 5 filer i roten på ett formaterat kort. Så enkelt som möjligt efter som det inte finns minne för att läsa in en hel sektor i minnet.
Postat: 16 mars 2004, 16:04:43
av axelsonic
Är du säker på att du kör fat32 med xp och inte ntfs ?
Nåväl, eftersom jag saknar liv så har jag googlat lite =) .
http://home.no.net/tkos/info/fat.html
Tror att den kan göra dig lite gladare.
Om du kör NTFS, så rekomenderar jag dig att inte, _INTE_ göra ett eget "fulhack" och skriva till disk, ty du kommer då att få problem.
Postat: 16 mars 2004, 16:19:27
av Melker
Tror du först och främst ska skapa en "direntry", som innehåller filnamn och annan filinformation, den ligger på första lediga plats där andra direntrys i den aktuella mappen ligger och om man ska vara noga ska du nog skriva till båda FAT-tabellerna (om din disk är formaterad med två stycken alltså) och peka vart filens cluster ligger, börjar på cluster 2 tror jag, eftersom direntryn ska peka till cluster nummer 1. Ska det bara vara en fil eller en mapp utan innehåll direkt så är det nog bara att skapa en direntry.
Edit: Om din DirEntry inte rymms i mappen(alla sectorer i clustret är redan fulla med filer), så blir du ju även tvungen att hitta ett ledigt cluster och skriva i FAT-tabellen och säga vart mappen fortsätter.
Edit2: Hmm.. Känns som en ganska rörig förklaring, tror denna sida förklarar bättre än vad jag gör:
http://www.pjrc.com/tech/8051/ide/fat32.html
Postat: 16 mars 2004, 16:52:17
av danei
Det skulle kunna var FAT tabell #2 som spökar. Det fiunkar om man skapar filen på PC, tar bort den, och lägger dit den med PICen.
Postat: 16 mars 2004, 17:02:00
av Melker
Jag vet inte hur petigt windows är egentligen, men har du varit noga med att sätta alla värden i direntryn rätt, så som storlek, attribut och annat som kanske kan vara viktigt?
Postat: 16 mars 2004, 17:05:16
av danei
jo det ska stämma. I enhetshateraren kommer filen upp med rätt filnaman och datum och hela baletten. Men när man flrsöker öppna den så säger den att det är något fel på filen.
EDIT: Det är en vanlig TXT. Så det ska inte vara något skummt med innehållet.
Postat: 17 mars 2004, 10:23:01
av danei
Nu var det jag som snurrade till det. Måste man skriva till FAT tabellen? Efter som minnet i PICen är för litete kan FATtabellen inte läsasn in och ändras. Räcker det inte med att skriva till rootklusteret? några mappar och fragmenterade filer behöver inte stödjas.
Postat: 17 mars 2004, 12:13:56
av Melker
Borde egentligen inte behövas, så länge filen är mindre än ett cluster.
Postat: 17 mars 2004, 12:56:32
av danei
filen är större än ett cluster. Men fortsätter på följande cluster.
Postat: 17 mars 2004, 14:19:36
av Melker
Kommer på nu att du nog blir så illa tvungen att skriva till FAT även om filen skulle vara mindre än ett cluster... Man måste alltid markera det sista clustret av filen i FAT med 0xFFFFFFFF, så tex Windows vet att filen är slut där.
Postat: 17 mars 2004, 15:03:30
av danei
Jo det stämmer nog. Det borde dessutom gå att genomföra trotts minnes bristen. När man bara har ett fåtal filer som inte är fragmenterade så borde man kunna generera FATtabellen smtidigt som den skrivs. Får se om det implementeras.