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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.