cancel
Showing results for 
Search instead for 
Did you mean: 

Programming an STM32H7 for Samsung eMMC Support

yaxsomo
Associate III

Hello,

I've just received my custom PCB with an STM32H743VIT6 MCU.

It has a Samsung eMMC connected to the SDMMC1 interface (MMC 8 Bits Wide Bus) :

yaxsomo_0-1737130265822.png

(I'll link the eMMC datasheet below.)

I'm encountering some issues while initializing the device with the MX_SDMMC1_MMC_Init function. 
More particularly it seems to be stuck in the HAL_MMC_InitCard function, on this block : 

/* Card initialization */

errorstate = MMC_InitCard(hmmc);

if (errorstate != HAL_MMC_ERROR_NONE)

{

hmmc->State = HAL_MMC_STATE_READY;

hmmc->ErrorCode |= errorstate;

return HAL_ERROR;

}

 

When i launch a debug session it seems to freeze on this block :

/* Get CSD parameters */

if (HAL_MMC_GetCardCSD(hmmc, &CSD) != HAL_OK)

{

return hmmc->ErrorCode;

}

Here's the variables states at this breakpoint :

yaxsomo_1-1737130504759.pngyaxsomo_2-1737130510135.pngyaxsomo_3-1737130514249.png

The data does not seem coherent. Am I missing something here ?
For the configuration of the SDMMC1 interface i setted the Clock at 50MHz on the Clock Configuration, and a Divide Factor of 8 (tried 0, 5 and 6 but have the same result) :

yaxsomo_4-1737130600566.pngyaxsomo_5-1737130627953.png

Could someone help me solve this issue?

 

0 REPLIES 0