AnsweredAssumed Answered

[BUG] STM32F4 SDIO and CMSIS driver MCI interface

Question asked by Eugene on Apr 2, 2018
Latest reply on Apr 26, 2018 by Mohamed Mansouri

Hello ST,

 

I found that code, generated by STM32CubeMX for STM32F4 SDIO periperal, is poorly integrated with MCI interface (CMSIS driver). And doesn't work out of box without modification.

 

STM32CubeMX generates HAL_MMC_MspInit function (file stm32f4xx_hal_msp.c). But MCI interface expect HAL_SD_MspInit (file MCI_STM32F4xx.c, line 543).

 

Another problem related to SDIO_IRQ. I've disabled SDIO global interrupt here, because MCI_STM32F4xx.c has SDIO_IRQHandler already:

(otherwise STM32CubeMX generates second SDIO_IRQHandler)

But in this case no code generated to enable SDIO_IRQn. And MCI_STM32F4xx.c doesn't enable this interrupt as well.

 

After implementing workarounds for bugs above MCI interface driver works fine.

 

My configuration:

8 bit eMMC

Keil MDK v5.25.1

Keil STM32F4xx_DFP v2.12.0

STM32CubeMX v4.24.0

STM32CubeF4 package v1.19.0

 

Best regards,

Eugene.

 

Outcomes