[Ini sebagai tanggapan terhadap komentar setelah jawaban Ian].
Kartu SD hanyalah perangkat SPI, jadi tidak ada chip / antarmuka yang diperlukan. Protokol lain termasuk antarmuka 2-kawat (seperti I2C) dan antarmuka 4-kawat (dengan CRC kompleks), tetapi SPI adalah yang paling umum digunakan.
Ada catatan aplikasi kartu SD yang tersedia untuk MSP430 dari TI di sini . Ini singkat, tetapi termasuk kode sampel. Ini menangani membaca dan menulis ke berbagai sektor pada kartu SD, yang mungkin semua yang Anda inginkan jika Anda tidak akan menancapkannya ke PC. Lihat juga implementasi ini oleh Foust (disarankan) atau Evans dari MSU.
Setelah Anda memiliki fungsi dasar untuk membaca dan menulis suatu sektor, Anda dapat abstrak sistem file yang sederhana dan tersuai melalui USB, atau menggunakan pustaka sistem file yang ada. FatFS , EFSL , atau DOSFs semua opsi untuk yang terakhir. Jika menerapkan semua fungsi yang diperlukan tampaknya terlalu sulit, ingat bahwa semua kecuali beberapa dapat / akan bertopik.
Namun, sistem file akan diabstraksi melalui antarmuka USB Anda ke tingkat tertentu. Ini akan lebih mudah jika Anda memiliki pustaka sistem file yang nyata dan kartu Anda berada dalam sistem file yang dapat dibaca, tetapi itu tetap bekerja. Jika Anda ingin menulis "Filesystem" Anda sendiri dan menghemat kerja / waktu / memori untuk implementasi USB, Anda dapat membuat definisinya sesederhana dan tidak fleksibel seperti log 1 mulai dari 0x0, log 2 mulai dari 0x10 0000, log 3 di 0x20 0000 , dan log 4 pada 0x30 0000. Kemudian, Anda dapat mengirim data ini melalui USB.
Antarmuka USB bisa serumit yang Anda inginkan - dari antarmuka serial ke perangkat penyimpanan massal.