[Это в ответ на комментарии после ответа Яна].
SD-карта - это просто SPI-устройство, поэтому нет необходимости в чипе / интерфейсе. Другие протоколы включают в себя 2-проводный интерфейс (например, I2C) и 4-проводный интерфейс (со сложным CRC), но SPI является наиболее часто используемым.
Существует приложение SD карта примечание доступна для MSP430 от TI здесь . Это коротко, но включает в себя пример кода. Он поддерживает чтение и запись в различные сектора на SD-карте, что может быть всем, что вам нужно, если вы не собираетесь подключать его к ПК. Также посмотрите на эти реализации Фустом (рекомендуется) или Эвансом из МГУ.
Если у вас есть основные функции для чтения и записи сектора, вы можете либо абстрагировать простую пользовательскую файловую систему через USB, либо использовать существующую библиотеку файловой системы. FatFS , EFSL или DOSF - все варианты для последнего. Если реализация всех необходимых функций кажется слишком сложной, помните, что все, кроме нескольких, могут быть / будут заглушками.
Тем не менее, файловая система будет в некоторой степени абстрагирована от вашего интерфейса USB. Это будет проще, если у вас есть настоящая библиотека файловой системы, а ваша карта находится в читаемой файловой системе, но это требует работы. Если вы хотите написать свою собственную «Файловую систему» и сохранить работу / время / память для реализации USB, вы можете сделать ее определение простым и негибким, поскольку журнал 1 начинается с 0x0, журнал 2 начинается с 0x10 0000, журнал 3 - с 0x20 0000 и введите 4 в 0x30 0000. Затем вы можете отправить эти данные через USB.
Интерфейс USB может быть настолько сложным, насколько вам нравится - от последовательного интерфейса до запоминающего устройства.