[Це у відповідь на коментарі після відповіді Іана].
SD-карта є лише пристроєм SPI, тому немає необхідності в чипі / інтерфейсі. Інші протоколи включають 2-провідний інтерфейс (як I2C) та 4-провідний інтерфейс (зі складним CRC), але SPI є найбільш часто використовуваним.
Існує додаток SD карта примітка доступна для MSP430 від TI тут . Це короткий, але включає зразок коду. Він обробляє читання та запис у різні сектори на SD-картці, що може бути все, що вам потрібно, якщо ви не збираєтесь підключати її до ПК. Також подивіться на ці реалізації від Foust (рекомендовано) або Evans з MSU.
Після того, як у вас є основні функції для читання і запису сектору, ви можете або абстрагувати просту, власну файлову систему через USB, або використовувати наявну бібліотеку файлової системи. FatFS , EFSL або DOSF - це всі варіанти для останнього. Якщо реалізація всіх необхідних функцій здається занадто важкою, пам’ятайте, що всі, окрім кількох, можуть бути заглушками.
Однак файлова система буде абстрагована через ваш USB-інтерфейс до певної міри. Це буде простіше, якщо у вас справжня бібліотека файлових систем, і ваша карта знаходиться в читаній файловій системі, але це потребує роботи. Якщо ви хочете написати власну "Filesystem" і зберегти роботу / час / пам'ять для реалізації USB, ви можете зробити її визначення таким же простим і негнучким, оскільки журнал 1 починається з 0x0, журнал 2 починається з 0x10 0000, журнал 3 починається з 0x20 0000 , і журнал 4 на 0x30 0000. Потім ви можете надіслати ці дані через USB.
Інтерфейс USB може бути настільки складним, наскільки ви хочете - від послідовного інтерфейсу до пристрою масового зберігання.