Forum: Mikrocontroller und Digitale Elektronik SD Karte mit STM32H7


von J. S. (jojos)


Lesenswert?

Hat hier mal jemand eine SDC mit dem H7 und HAL Code benutzt?
Ich habe lange gebraucht das zum Laufen zu bekommen, das Init hat 
funktioniert und die Karteninfo konnte gelesen werden. Aber Blöcke lesen 
mit oder ohne DMA ging nicht, es wurden keine Interrupts vom SDMMC1 
gefeuert.
Erst nachdem ich das hsd.Init.ClockPowerSave enabled hatte ging es. Habe 
noch nicht nachgesehen warum genau das so ist, vielleicht ist hier auch 
mal jemand darüber gestolpert?
https://github.com/JojoS62/COMPONENT_SDIO/blob/312ced360d7a24b8b0aa6a5f5e3df0b1736be652/TARGET_STM/TARGET_STM32H7/sdio_device.c#L148
Der Code ist noch dirty vom Umbau vom F7. Mit dem integrierten DMA im H7 
SDMMC ist sogar einfacher als für die F7 wenn man nicht die max. 
mögliche Speed der Karten ausreizen möchte. Cache Handling fehlt auch 
noch, habe erstmal mit abgeschaltetem D-Cache getestet.

Wie behandelt man einen Kartenwechsel richtig? Man muss ja wieder einen 
Init ausführen weil sich die SDC Geschwindigkeit geändert haben kann. 
Und dem Filesystem einen Tritt geben weil da ja auch alles ungültig 
geworden ist.

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.