15-USB-Host-MSC-Library (STM32F746)

Heute gibt es zwei neue Librarys.
Einen USB-MSC-HOST und die Library um FATFS benutzen zu können.

der USB-MSC-Host läuft entweder auf USB-FS oder USB-HS
(muss per Define eingestellt werden)

die FATFS unterstützt entweder USB oder MMC oder beides gleichzeitig.
(muss im H-File eingestellt werden)
Falls USB+MMC gleichzeitig benutzt wird, hat USB den Pfad “0:/”
und MMC den Pfad “1:/”

Ich habe auch ein Update der USB-HID-HOST nachgezogen,
damit sollten HID und MSC auch gleichzeitig möglich sein.
HID auf USB-FS
MSC auf USB-HS
(das habe ich aber nicht getestet)

Hinweis : bei der MMC-Library scheint es noch einen BUG zu geben,
ich habe eine SD-Karte (1GB) die damit NICHT funktioniert.

zur Info, der USB-HighSpeed Port (CN12) funktioniert bei
mir besser, wenn ich das Disco-Board über ein externes 5V Netzteil
per JP2 versorge. k.A. warum

 

15 = USB-Host-MSC : f746_usb_host_msc_v100


3 Antworten auf FATFS für STM32F746 (USB und MMC)

  1. Fabrice sagt:

    Ich habe keine MMC dabei , aber funktioniert mit :
    16Gb Sandisk Ultra USB3 Stick und 32Gb Sandisk Ultra USB3 Stick.
    Beide sind in FAT32 formatiert.

    Funktioniert nicht mit :
    Alte Dane-Elec 1Gb Stick , ich habe in FAT16 und FAT32 ausprobiert.

    Gruß.

    Fabrice.

  2. Burkhard sagt:

    Im User Manual steht “The 2GB (or more) MicroSD card connected to SDMMC1 port of STM32F746NGH6 is supported by the board.” . Vielleicht gehen daher keine Karten unter 2 GB?!

  3. Stefan sagt:

    Guten Tag,

    erstmal vielen Dank für die Lib!

    Ich verwende den STM32F746BG in einem eigenständigen Projekt.
    Zum loggen einer Kommunikation mit einem anderen Modul wollte ich eine SD-Karte verwenden.
    Als Testkarten stehen mir grad eine 2GB Transcend und eine 32GB Sandisk SDHC-Karte zur Verfügung (beide in FAT32 formatiert).

    Das Beschreiben der SD-Karte hat bei mir anfangs ebenfalls nicht funktioniert.
    Also habe ich die Pull-Up`s ausgelötet, leider ohne Erfolg.
    Beim Debuggen habe ich festgestellt, dass der im Beispiel angegebene Dateiname einen Fehler verursacht. Anscheinend ist Pfad+Dateiname+Endung zu lang für einen SFN.
    Nenne ich die Datei z.B. 0:/M1.txt kann die Datei erstellt werden.

    Vorkehrungen:

    in ffconf.h:
    _USE_LFN 1

    Da durch die Verwendung vom LFN die Funktionen
    WCHAR ff_convert(WCHAR chr, UINT dir);
    WCHAR ff_wtoupper(WCHAR chr);
    für die Umwandlung von Unicode eingebunden werden, aber in der Lib nicht vorhanden sind, müssen die Funktionen noch geschrieben werden.

    Hierzu habe ich am Ende der Datei ff.c

    WCHAR ff_convert(WCHAR wch, UINT dir)
    {
    if(wch<0×80) return wch;
    return 0;
    }

    WCHAR ff_wtoupper(WCHAR wch)
    {
    if(wch=’a’ && wch <= 'z')
    {
    wch &=~0×20;
    }
    return wch;
    }
    return 0;
    }

    implementiert.

    Jetzt Funktioniert das Beschreiben beider SD-Karten mit LFN.


Wie hat Dir dieser Artikel gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert