Forum: Mikrocontroller und Digitale Elektronik FAT12 image erstellen


von Mike (Gast)


Lesenswert?

Hallo,

ich habe ein PIC32-Board, das neben einem SD-Kartenslot mit einem 
Flash-Baustein bestückt ist, der 1MByte fasst.
Ich würde auf diesem gerne diverse Daten (Grafiken, Audio-Jingles) 
ablegen. Dazu möchte ich ihn mit FAT12 formatieren, so dass ich über das 
bereits vorhandene Filesystem FatFS lesend darauf zugreifen kann. Eine 
direkte Formatierung über die FS-Routinen ist leider nicht möglich, da 
das Flash in Sektoren zu 64k aufgeteilt ist, die sich nur als Ganzes 
löschen lassen. Meine Idee ist daher, auf der SD-Karte ein Image eines 
FAT12-Filesystems abzulegen, das vom PIC zunächst 1:1 binär auf das 
Flash kopiert wird. Danach kann das Filesystem lesend darauf zugreifen, 
ein Schreiben während des laufenden Betriebs ist nicht vorgesehen.

Jetzt suche ich nur noch ein Tool (Windows oder Linux), das mir ein 
komplettes FAT12-Fileystem in einem binären File erzeugt, idealerweise 
dieses auch mounten kann, um weitere Dateien darauf abzulegen. Bisher 
bin ich noch nicht fündig geworden. Kennt jemand eine Lösung?

Besten Dank

Mike

von Stefan (Gast)


Lesenswert?

Generell können die Filesystem Utilities von Linux auch mit 
Image-Dateien umgehen.

Leere Image-Dateie anlegen:
dd if=/dev/zero of=image.bin bs=1024 count=1024

Formatieren:
mkdosfs -F12 image.bin

Mounten:
mount -t loop image.bin /mnt

von Mike (Gast)


Lesenswert?

@Stefan: Vielen Dank für die Tips!

Ich habe es jetzt auch unter dem Microsoft-Betriebssystem ohne 
Pay-Software geschafft:
File mit 1MByte mittels Tiny Hexer erstellt und mit Nullen vorbelegt. 
Anschliessend mit VFD als virtuelle Floppy gemountet und formatiert. 
Eine eventuelle Warnung, dass die Speicherkapazität nicht stimmt, kann 
ignoriert werden.  Es erscheint dann im Explorer eine 5 1/4" Diskette, 
die sich normal mit Daten bespielen lässt.

Auf dem PIC funktioniert es jetzt auch, ich kann nun das SPI-Flash wie 
ein Laufwerk nutzen (natürlich nur Read-only), was die Verwaltung 
deutlich erleichtert.

Beste Grüße

Mike

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.