|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Oct 2004
Messaggi: 1
|
Aiuto FAT16 su Compact Flash
Salve a tutti,
Sto realizzando un datalogger per imbarcazione. Semplicemente un sistema a basso costo su schedina elettronica con microcontrollore per salvare i messaggi che viaggiano sul sistema bus di una nave (tipo velocità vento, velocità onde, velocità barca, profondità acque ecc) su una compact flash già formattata. Nel firmware che sto programmando nel microcontrollore c'è anche la parte per gestire il file system della CF. Ecco il punto. Nel codice che ho finora realizzato vado a leggere nel primo settore della CF il MBR, salto i 446 bytes dell'executable code e leggo nella "1st partition entry" l'indirizzo del settore da cui inizia la prima partizione. Fatto questo accedo a questo primo settore della partizione dove risiede il BPB (o boot sector), dal quale vado a leggere tutte le informazioni che mi servono per gestire il FAT16. (sectors per cluster ecc..) Tutto a posto. Dov'è il punto allora? Ho trovato in rete altri esempi di codici per microcontrollore per gestire il fat16 in una compact flash. In alcuni casi differiscono dal mio in quanto considerano che nel primo settore della CF non risieda il MBR ma direttamente il BPB (o boot sector). In altri casi invece leggo che (e riporto testualmente): In hard disks this sector (intende il MBR) contains the system start up code that is responsible for selecting the active partition and loading the boot sector. It also contains a data structure (the partition table) that describes the hard disk partitioning.In cards, this sector is present mostly for "compatibility" reasons, as cards are rarely used (today!) to boot operating systems. Bene, alla fine di questo interminabile msg la mia domanda è: allora come si mette; il primo sector contiene il MBR a cui accedere per trovare il BPB della prima partizione o contiene il BPB direttamente? Qualcuno a un'idea?
__________________
Ciao e grazie a tutti Francesco |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:28.