Hat jemanden von euch SD CARD mit SPI DMA (CMSIS) STM32F407G gemacht, aber nicht HAl.
OpenCM3, ChibiOS, NuttX und sicher viele andere machen das ohne HAL. Ansonsten wenn man meint HAL ist ja so schlecht: selber programmieren. In libopencm3 finde ich gerade keinen Code für SD Karten, ich dachte die können das auch. Der F4 hat aber auch ein SDIO Interface, damit ist die Datenübertragung deutlich schneller als mit 1 Bit SPI.
Man kann ja auch "HAL ohne HAL" machen. Nennt sich LL Driver und lässt sich mit CubeMx ganz toll und automagisch generieren. Ein klein wenig Mehrarbeit ist notwendig aber bei der Generierung wird alles initialisiert und man kann sicher sein dass alles dabei ist was man braucht. Nur die diversen Handler müssen noch mit Leben (action) gefüllt werden.
Warum SPI? Der STM32F407 hat SDIO. Damit kannst du eine höhere und insbesondere garantierte (Speed Class) Geschwindigkeit erreichen. Geht natürlich mit und ohne HAL.
Warum SPI? Der STM32F407 hat SDIO. Damit kannst du eine höhere und insbesondere garantierte (Speed Class) Geschwindigkeit erreichen. Geht natürlich mit und ohne HAL.
SDIO HAL ist auch langsam, wenn Sie SDIO DMA CMSIS haben, ist auch Gut
Man kann ja auch "HAL ohne HAL" machen. Nennt sich LL Driver und lässt sich mit CubeMx ganz toll und automagisch generieren. Ein klein wenig Mehrarbeit ist notwendig aber bei der Generierung wird alles initialisiert und man kann sicher sein dass alles dabei ist was man braucht. Nur die diversen Handler müssen noch mit Leben (action) gefüllt werden.
Danke Wastl
SDIO HAL ist auch langsam
Naja, das sind nur ein paar Takte pro Paket. DMA ist sowieso Pflicht.
Ich habe den STM32F407 mit SDIO und DMA, ohne HAL, schon erfolgreich verwendet.
OpenCM3, ChibiOS, NuttX und sicher viele andere machen das ohne HAL. Ansonsten wenn man meint HAL ist ja so schlecht: selber programmieren. In libopencm3 finde ich gerade keinen Code für SD Karten, ich dachte die können das auch. Der F4 hat aber auch ein SDIO Interface, damit ist die Datenübertragung deutlich schneller als mit 1 Bit SPI.
SDIO DMA CMSIS kein Code im Internet. Alles Hal und ist langsam
SDIO HAL ist auch langsam
Naja, das sind nur ein paar Takte pro Paket. DMA ist sowieso Pflicht.
Ich habe den STM32F407 mit SDIO und DMA, ohne HAL, schon erfolgreich verwendet.
Code oder Link?
SDIO DMA CMSIS kein Code im Internet
Selber schreiben!
Alles Hal und ist langsam
Was genau ist langsam? Kannst du es genau quantifizieren?
Code oder Link?
Wie viel bezahlst du?
SDIO DMA CMSIS kein Code im Internet
Selber schreiben!
Alles Hal und ist langsam
Was genau ist langsam? Kannst du es genau quantifizieren?
Code oder Link?
Wie viel bezahlst du?
wie viel willst du?
wie viel willst du?
Hängt von der Stückzahl ab. Und davon, ob du den Sourcecode kaufst oder nur ein Binary.
SDIO DMA CMSIS kein Code im Internet
Selber schreiben!
Alles Hal und ist langsam
Was genau ist langsam? Kannst du es genau quantifizieren?
Code oder Link?
Wie viel bezahlst du?
wie viel willst du?
ja kann man quantifizieren, ich habe Video Player und habe ich einmal mit SPI dma und einaml Sdio DMA HAL geamcht SPI DMA war schneller
habe ich einmal mit SPI dma und einaml Sdio DMA HAL geamcht SPI DMA war schneller
Kann nicht sein, dann hast du etwas sehr falsch gemacht bei SDIO.
wie viel willst du?
Hängt von der Stückzahl ab. Und davon, ob du den Sourcecode kaufst oder nur ein Binary.
Sourcecode nur STM32CubeIde
habe ich einmal mit SPI dma und einaml Sdio DMA HAL geamcht SPI DMA war schneller
Kann nicht sein, dann hast du etwas sehr falsch gemacht bei SDIO.
Galube ich, Weil Code fuktioniert
Sourcecode nur STM32CubeIde
€50000 für alle Nutzungsrechte mit Sourcecode.
Galube ich, Weil Code fuktioniert
Welche Funktion genau ist denn so langsam? Wie lange (µs) braucht sie genau? Bitte Oszillogramme der Datenübertragung zeigen, wo gleichzeitig per Toggle-Pin gezeigt wird, wann diese langsame Funktion läuft. Nur weil etwas "funktioniert" ist es noch lange nicht optimal.
Auch die Errate vom STM32F407 beachten, der kann SDIO nur mit 37 MHz (Silicon Bug, repariert bei neueren Controllern)
Sourcecode nur STM32CubeIde
€50000 für alle Nutzungsrechte mit Sourcecode.
Galube ich, Weil Code fuktioniert
Welche Funktion genau ist denn so langsam? Wie lange (µs) braucht sie genau? Bitte Oszillogramme der Datenübertragung zeigen, wo gleichzeitig per Toggle-Pin gezeigt wird, wann diese langsame Funktion läuft. Nur weil etwas "funktioniert" ist es noch lange nicht optimal.
Auch die Errate vom STM32F407 beachten, der kann SDIO nur mit 37 MHz (Silicon Bug, repariert bei neueren Controllern)
mein Code nur für bastlen nicht für Verkauf
ich habe leider kein Oscilloscope
wie kann man wissen 37 MHZ oder 48 Mhz?
langsam wenn JPG liest
hast du echt Code SDIO DMA CMSIS?
Dann ist die jpeg Implementierung vielleicht eher das Problem, oder das Dateisystem bzw die Parametrierung dazu. HAL macht herzlich wenig beim Transfer mit DMA, das sind wenige Registerzugriffe um den DMA zu starten.
mein Code nur für bastlen nicht für Verkauf
Tja, dein Problem...
wie kann man wissen 37 MHZ oder 48 Mhz?
Das hast du in CLKDIV eingestellt. Die 37 erreicht man aber nur mit einem "PLL-Hack". Siehe Errata Sheet.
langsam wenn JPG liest
Wie langsam genau? Welche Funktion der HAL ist langsam?
hast du echt Code SDIO DMA CMSIS?
Ja. Und viele andere sicherlich auch.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.