STM32H755 stalls when SDMMC interface is enabled
- March 12, 2021
- 10 replies
- 6337 views
Hi Folks,
I experienced a weird problem when I tried to use the SDMMC interface on the STM32H755 Nucleo board.
I set up a very basic test program. I use the template for the H755 Nucleo in CubeIDE. I set the H7 clock frequency to 480 MHz and the M4 clock frequency to 240 MHz. Stack and Heap are set to 0x4000 and 0x8000 respectively. I deactivated all peripherals except USART 3 and SDMMC1. I-cache and D-cache are enabled.
Furthermore, power regulator source is set to PWR_LDO_SUPPLY. Solder bridges and capacitors are set on the board to comply to LDO supply only. SDMMC core clock is 80 MHz. Clock divider is set to 20 and SDMMC interrupt is enabled. All other settings are default.
In the main loop I simply have LED 1 blinking:
while (1)
{
HAL_GPIO_WritePin(LD1_GPIO_Port,LD1_Pin,GPIO_PIN_SET);
HAL_Delay(1000);
HAL_GPIO_WritePin(LD1_GPIO_Port,LD1_Pin,GPIO_PIN_RESET);
HAL_Delay(1000);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}When I launch the program, it stalls somewhere in the inline function for enabling the D-cache.
When I comment the line
MX_SDMMC1_SD_Init();everything works fine; LED 1 is blinking. But just with having the SD card init function in the code, the program stalls even before reaching this line. (That feels a bit like quantum physics...)
Did anyone experience similar problems?
Regards,
Daniel
CubeIDE 1.6.0 Firmwarpackage 1.9.0
