17.5.7.3 SDCard/e.MMC Boot

The SDCard/e.MMC boot requires the Card Detect pin to be connected. If the level on the Card Detect pin is low, SDCard/e.MMC access is initiated (IOs toggling). If not, no communication with SDCard/e.MMC is performed (no IOs toggling).

The SDMMC0 and SDMMC1 Card Detect pin must be left unconnected if the interfaces are used with a non-removable and non-bootable device (Wi-Fi module, etc.). This prevents the ROM code from trying to boot from these interfaces, thus avoiding incorrect boot behavior.

In the case of non-removable devices (soldered on-board), the card detect can be managed by software (refer to the bit FCD: Force Card Detect in SDMMC_MC1R), or by hardware by enabling the pull-down resistor on the SDMMCx_CD PIO after execution of the ROM code.

Supported SDCard Devices

SDCard boot supports all SDCard memories compliant with the SD Memory Card Specification V3.0. This includes SDMMC cards.

e.MMC with Boot Partition

The ROM code first checks if the e.MMC Boot Partition is enabled. If enabled, the ROM code reads the first 64 Kbytes of the boot partition, and copies them into the internal SRAM.

FAT Filesystem Boot

If no boot partition is enabled on an e.MMC, the boot process continues with a Standard SDCard/e.MMC detection, and the ROM code looks for a boot.bin file in the root directory of a FAT12/16/32 file system.