Ich bin bereits im Besitz einer unter Arduino laufenden Programmbibliothek (SDFATLIB) für den Zugriff auf ein FAT32-Dateisystem auf einer SD-Karte über SPI. Diese besteht im Grunde aus zwei Komponenten:

  • Zugriff auf SD-Karte via SPI-Schnittstelle
  • Zugriff auf ein FAT-Dateisystem

Davon gibt es eine vereinfachte Version (FAT16LIB). Diese werde ich zuerst portieren, um die Aufgabe etwas zu vereinfachen.

Auf der Seite des TMS320 finde ich einen Beispielcode für den Zugriff auf ein über SPI angeschlossenes ROM (SPIROM).

Es gibt zwei Ansätze, diese auf dem TMS320 zum laufen zu bringen:

  • Die SDFATLIB Bibliothek als Gesamtes mit möglichst wenig Codeänderungen für den TMS320 kompilieren.
  • Aufbauend auf den Code SPIROM die Bibliothek SDIFAT nachbauen

SDFATLIB als Gesamtes portieren

Um die Bibliothek für den TMS320 zu importieren, müssen folgende Schritte unternommen werden:

  • Besorgen und hinzufügen der AVR und Arduino include Dateien. Diese sind in der Arduino IDE beinhaltet.
  • Definieren des Types uint8_t in diversen Header-Dateien.

Die darauf folgende Fehlermeldung, es würden keine Arrays von Funktionen unterstützt, konnte ich nicht mehr beheben. Daher habe ich diesen Ansatz vorerst beiseite gelegt und verfolge nun den zweiten Ansatz.

Schlussendlich verwende ich nun die im Elektor-Beispiel bereit implementierte Portierung der FATLIB, die über die Treiber von DSP/BIOS auf die SD-Karte zugreift.