2019-10-16 03:00 PM
We have a working design in an STM32F745 device that talks to an eMMC device over SDMMC. We ported the design over to an STM32H743 device, using CubeMX to configure the device to match the F7, and the SDMMC interface doesn't work. We've gone through AN5200 and we believe we've followed the set-up procedures correctly. When we capture the SDMMC bus on both devices on a logic analyzer, we see that the F7 bus runs at 25MHz and the H7 bus runs at 50MHz. In addition, the 4-bit data bus on the H7 device acts like it's not being driven, and instead shows random patterns as if it's being driven by cross-talk noise.
2019-10-16 04:13 PM
Is your code getting stuck somewhere? Are pins initialized? Is the noise you see random digital data or analog noise?
Clocks should match if you’re just porting code unless you deliberately changed it.
2019-10-16 04:43 PM
CubeMX seems to break everything it touches, none of it is rigorously tested. The HAL has working examples.
You can change the ClockDiv value, though eMMC should run north of 50 MHz
Instrument the SDMMC/MMC code, check where it dies, perhaps start with 1-bit mode
Do you have a working UART on the board? What pins, etc?
Had 8-bit DDR eMMC working on the H7 platform here.