[Questo è in risposta ai commenti che seguono la risposta di Ian].
Una scheda SD è solo un dispositivo SPI, quindi non è necessario alcun chip / interfaccia. Altri protocolli includono un'interfaccia a 2 fili (come I2C) e un'interfaccia a 4 fili (con un CRC complesso), ma SPI è il più comunemente usato.
C'è una nota sull'applicazione della scheda SD disponibile per MSP430 da TI qui . È breve, ma include un codice di esempio. Gestisce la lettura e la scrittura in vari settori sulla scheda SD, che potrebbe essere tutto ciò che desideri se non lo collegherai a un PC. Guarda anche queste implementazioni di Foust (raccomandato) o Evans di MSU.
Una volta che hai le funzioni di base per leggere e scrivere un settore, puoi astrarre un semplice filesystem personalizzato su USB o usare una libreria di filesystem esistente. FatFS , EFSL o DOSF sono tutte opzioni per quest'ultimo. Se l'implementazione di tutte le funzioni richieste sembra troppo difficile, ricordate che tutti, tranne pochi, possono / saranno matrici.
Tuttavia, il file system verrà estratto in una certa misura attraverso l'interfaccia USB. Questo sarà più facile se hai una libreria di filesystem reale e la tua scheda è in un filesystem leggibile, ma ci vuole lavoro. Se si desidera scrivere il proprio "filesystem" e salvare lavoro / tempo / memoria per l'implementazione USB, è possibile rendere la sua definizione semplice e non flessibile poiché il registro 1 inizia da 0x0, il registro 2 inizia da 0x10 0000, il registro 3 da 0x20 0000 e registra 4 su 0x30 0000. Quindi, puoi inviare questi dati tramite USB.
L'interfaccia USB può essere complessa come preferisci, dall'interfaccia seriale al dispositivo di archiviazione di massa.