2025-03-04 4:14 PM
I'm trying to graft an SD card onto the U5G round display development board. CN9 brings out all of the control and data lines for SDMMC2.
The problem that I am seeing is that the SD device will not initialize (MX_SDMMC2_Init) due to a timeout in HAL_SD_Init -> HAL_SD_InitCard -> SD_powerON -> SDMMC_CmdGoIdleState
Currently I have VCC to the card plugged into 3V3, ground, clock, and 47K pull-ups to VCC on CMD and the 4 data lines.
I've tried using level shifters to use the 1V8 signalling on the processor side and 3V3 signalling on the SD card side, 4-bit SD, 4-bit SDIO, 1-bit SD, and 1-bit SD with the signals simply pulled up to 3V3. All give the same result, timeout on Go-Idle-State.
The card is formatted and works properly on a PC. I've got test programs on a F479 Discovery board working with SD cards under FileX, and I tried making the hookup as close as possible to a U575 EV or the 429 Disco, but this U5 is not cooperating.
Given that this board uses 1V8 levels and SD cards use 3V3 to start, is it reasonable to pull-up the lines to 3V3 and expect the SDMMC peripheral to work?
2025-03-05 12:00 PM
I suppose I should mention: MacOS 15.3.1, STM32CubeIDE 1.18.0, STM32Cube FW_U5 V1.7.0