Skip to main content
Jaboop
Associate II
December 13, 2021
Question

SDMMC on H7 using CubeIDE 1.8.0

  • December 13, 2021
  • 2 replies
  • 1271 views

Has anyone else had problems with the SDMMC peripheral on the H7 since the CubeIDE 1.8.0 Update. I have some old projects I went back to that had previously used this peripheral and now when mounting the SD Card I get a FR_NO_FILESYSTEM error. I have also started from scratch with a new project and ran into the same error.

I looked into this thread as well:

https://community.st.com/s/question/0D53W00000cShQ1SAK/stm32h735-sdmmc-error-frnofilesys

but it looked to me like they removed the ENABLE_SD_DMA_CACHE_MAINTENANCE define.

My general setup comes from the tutorial put out by ST:

https://www.youtube.com/watch?v=I9KDN1o6924

Also everything for the SD Card is in the D1 Ram and I am not using FreeRTOS

Am I missing something with weird H7 memory? Or could the update have messed up this peripheral?

This topic has been closed for replies.

2 replies

Jaboop
JaboopAuthor
Associate II
December 14, 2021

Looking at the logic analyzer from test on the old project this is the expected communication protocol

0693W00000HoU7tQAF.jpgCurrently I am now seeing this communication

0693W00000HoU83QAF.jpgIt seemed odd to me to see so much movement on the card detect line.

There are currently internal pullups (through the CubeMX) on each of the data lines and the Card Detect line.

Jaboop
JaboopAuthor
Associate II
December 14, 2021

Ended up being a signal integrity issue. Changing Pull-Ups from internal in CubeMX to external Pull-Ups on my circuit fixed the issue.

The SD Card was working for about 20-30 program cycles and then went back to the state of always returning FR_NO_FILESYSTEM. Any ideas of what could be going wrong?

My SDMMC Clock is 6MHz (240MHz/(20MHz*2)) coming from the PLLQ1. Heap Size: 0x400 and Stack Size: 0x800. ICache and DCache are disabled.