Forum: Mikrocontroller und Digitale Elektronik STM32 Chan FAT mit SD karte über SPI


von Sepp (Gast)


Lesenswert?

Hallo,

Hatt wer von euch schon ne SD karte im SPI-Mode und der CHAN FAT lib zum 
laufen bekommen mit STM32 CUBE?

Mir fehlt da irgendwie die Anbindung SD-Karte SPI an die CHAN Lib.

Controller soll ein STM32F103C8 werden, daher auch klassisch über SPI.

von Nico W. (nico_w)


Lesenswert?

Sepp schrieb:
> Hallo,
>
> Controller soll ein STM32F103C8 werden, daher auch klassisch über SPI.

Der F103 hat SDIO, das weißt du?

von Schorsch X. (bastelschorsch)


Lesenswert?


von Sven P. (Gast)


Lesenswert?

Nico W. schrieb:
> Sepp schrieb:
>> Hallo,
>>
>> Controller soll ein STM32F103C8 werden, daher auch klassisch über SPI.
>
> Der F103 hat SDIO, das weißt du?

Insbesondere der 103x8 hat kein SDIO, das weißt du?

von Sakrotan (Gast)


Lesenswert?

Reference manual
1
22 Secure digital input/output interface
2
3
...
4
5
High-density devices are STM32F101xx and STM32F103xx microcontrollers where the Flash memory density ranges between 256 and 512 Kbytes.
6
7
XL-density devices are STM32F101xx and STM32F103xx microcontrollers where the Flash memory density ranges between 768 Kbytes and 1 Mbyte.
8
9
...
10
11
This section applies to high-density and XL-density performance line devices only.

von Sepp (Gast)


Lesenswert?

Sven P. schrieb:
> Nico W. schrieb:
>> Sepp schrieb:
>>> Hallo,
>>>
>>> Controller soll ein STM32F103C8 werden, daher auch klassisch über SPI.
>>
>> Der F103 hat SDIO, das weißt du?
>
> Insbesondere der 103x8 hat kein SDIO, das weißt du?

Richtig daher möchte ich klassisch über SPI.
Aplikationen von ST selbst hab ich dafür bisher nur zu SDIO und USB 
gefunden.

von Stefan F. (Gast)


Lesenswert?

Ich nutze diese Library am liebsten:
https://www.mikrocontroller.net/articles/AVR_FAT32

Die kann man leicht für den STM32 umschreiben, denn der 
hardwarespezifische Teil ist überschaubar klein.

von Sven P. (Gast)


Lesenswert?

Sepp schrieb:
> Richtig daher möchte ich klassisch über SPI.
> Aplikationen von ST selbst hab ich dafür bisher nur zu SDIO und USB
> gefunden.

Von Chan gibt es ein Beispielpaket, wo auch der MMC/SPI-Anschluss 
abgehandelt wird (ffsample.zip).

Im Prinzip ist da alles mit drin, und den relevanten Auszug aus der 
SD-Spezifikation kannst du dir auch frei herunterladen. Da fehlt zwar 
grundsätzlich vieles drin, aber der SPI-Teil ist einigermaßen 
beschrieben.

Richte dich aber auf ein paar Nächte Nervenkrieg zu den Details ein...

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Also als Fingerübung hab ich mal eine SPI SD Lib geschrieben als 
elmChanFS Unterbau.
Ist aber für den F407, der F103 hat glaube nen leicht anderen SPI?
Aber der HW spezifische SPI Teil ist der kleinste Bereich der Lib.
Wenn interesse besteht kann ich das ja mal hochladen.

Der GammelMX hat übrigens eine "angepasste" (=zerstümmelte) Version des 
elmChanFS.
Mein Unterbau läuft nur mit dem Original.

von Sepp (Gast)


Lesenswert?

Mw E. schrieb:
> Also als Fingerübung hab ich mal eine SPI SD Lib geschrieben als
> elmChanFS Unterbau.
> Ist aber für den F407, der F103 hat glaube nen leicht anderen SPI?
> Aber der HW spezifische SPI Teil ist der kleinste Bereich der Lib.
> Wenn interesse besteht kann ich das ja mal hochladen.

Hi, ja würde mich mal interessieren.

von Sepp (Gast)


Lesenswert?

Mw E. schrieb:
> Der GammelMX hat übrigens eine "angepasste" (=zerstümmelte) Version des
> elmChanFS.
> Mein Unterbau läuft nur mit dem Original.

Ganz zufrieden mit cubeMX bin ich noch nicht, da ständig wieder was 
geändert wird. Aber Clock und Ports konfigurieren ist da wesentlich 
einfacher...

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Angehängte Dateien:

Lesenswert?

Zum CLK Tree angucken/ausrechnen sowie zur Periph zur Portpin 
jonglierung nutze ich den MX ausschließlich.
Das wird dann in meine Libs übertragen.

Im Anhang dann das zip mit dem Code.
Die SD Karte wird dann mit einem vorrangehenden "SD:" im Pfad 
angesprochen:
1
FATFS fs;
2
FIL fp;
3
FRESULT err = f_mount(&fs, "SD:", 1);
4
---------------
5
err = f_open(&fp, "SD:play.wav", FA_READ);

von Nico W. (nico_w)


Lesenswert?

Sven P. schrieb:
> Nico W. schrieb:
> Sepp schrieb:
> Hallo,
>
> Controller soll ein STM32F103C8 werden, daher auch klassisch über SPI.
>
> Der F103 hat SDIO, das weißt du?
>
> Insbesondere der 103x8 hat kein SDIO, das weißt du?

Narf... Ne wusste ich nicht. Hatte das im Kopf immer schonmal 
durchgespielt für ein paar Projekte aber nie nachgesehen. Arbeite 
meistens mit dem 103xC.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.