Handling SDIO Interrupts in STM32F412xG - KBA232855
Question: How do I enable SDIO interrupts for STM32F412xG?
Answer: The SDIO_MASK_SDIOITIE bit is disabled by default for the STM32F412xG platform in wwd_SDIO.c (Location: 43xxx_Wi-Fi\WICED\platform\MCU\STM32F4xx\WWD\wwd_SDIO.c). Enabling or including this bit for this platform will result in initialization issues such as the code getting stuck and bringup failure (see the attached screenshot). This is due to incorrect handling of the SDIO interrupts. Section 27.6.4 of the STM32F412 reference manual provides the required steps to handle SDIO interrupts. The file attached to this KBA provides the required code changes, the modified wwd_sdio.c file, and the screenshots of code.
Note: SDIO_MASK_SDIOITIE is the SDIO mode interrupt received interrupt enable bit.