Skip to main content
Visitor II
August 8, 2025
Solved

STM32N657 - eMMC issue

  • August 8, 2025
  • 1 reply
  • 374 views

Hello,

Our board has an STM32N657 MCU connected to an IS21S08GA eMMC.
We use an 8-bit bus, and SDMMC1 is configured to run at 32 MHz.
In polling mode, read/write operations work, but are very slow — it takes about 1–2 ms to read or write a single block (512 bytes).

I want to switch to DMA, but I’ve encountered a strange problem.
As far as I know, on the STM32N6 series, the SDMMC peripheral works with IDMA, so we can't use GPDMA or HPDMA — is that correct?

IDMA seems to work — the callbacks are called and no errors are reported.
However, I can't read the same data I wrote.
It seems the data isn't actually read at all (or possibly not written either).

Note that I am using SCB_CleanDCache and SCB_InvalidateDCache as needed. I also tried disabling the D-Cache entirely — no change.

Does anyone have experience with eMMC and IDMA on STM32N6?
I would greatly appreciate any guidance or advice.

    This topic has been closed for replies.
    Best answer by David Jashi

    Figured it out.
    I missed the RIF setting.
    Everything works fine now.

    1 reply

    David JashiAuthorAnswer
    Visitor II
    August 11, 2025

    Figured it out.
    I missed the RIF setting.
    Everything works fine now.