cancel
Showing results for 
Search instead for 
Did you mean: 

how to interface eMMC memories using STM32f4xx ??

Sfarb.1
Associate II

good afternoon.

I was gonna drive an eMMC flash memory ( something like https://www.samsung.com/semiconductor/estorage/emmc/KLM8G1GEND-B031/ ) with my STM32f407IGT6.

I don't know if I can access it through the SDIO peripheral or not. it is mentioned in the datasheet of the eMMC link above that its version is 5.0 . but what I saw in the microcontroller reference manual was it only supports mmc 4.2 . is it possible to use this with my MCU?

I have another question too. unfortunately I'm not familiar with flash memory types. can u help me choose a flash memory with at least 4 GB of space that can be soldered beside my MCU? I mean what type of flash memory should I choose? what are the specs that MCU supports? and what are the ways I can connect a flash memory to STM32f407IGT6 ??

I would be so thankful if u help me in this case.

1 ACCEPTED SOLUTION

Accepted Solutions

The SDIO interface is usable, MMC 5.0 is a super-set of MMC 4.2 functionality, you won't be able to use some of the more advanced transfer protocols, ie DDR, speeds beyond the clocking limit of the STM32F4.

eMMC devices up to several 100GB can be used on the F4 with suitable drivers and file systems.

The F4 could use FMC based NAND Flash, but would use more pins, and more software complexity.

Could using QSPI NAND or NOR devices via the 1-bit SPI

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

View solution in original post

5 REPLIES 5

The SDIO interface is usable, MMC 5.0 is a super-set of MMC 4.2 functionality, you won't be able to use some of the more advanced transfer protocols, ie DDR, speeds beyond the clocking limit of the STM32F4.

eMMC devices up to several 100GB can be used on the F4 with suitable drivers and file systems.

The F4 could use FMC based NAND Flash, but would use more pins, and more software complexity.

Could using QSPI NAND or NOR devices via the 1-bit SPI

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Sfarb.1
Associate II

thanks a lot for your answer!

how can I determine the maximum capacity of the eMMC that I can use with my microcontroller?

and another question is am I able to use FATFS with eMMCs? in STM32CUBEMX the only options for FATFS are "SD-CARD", "USB Disk", "external SRAM" and "user defined".

thanks a lot for your answer!

how can I determine the maximum capacity of the eMMC that I can use with my microcontroller?

and another question is am I able to use FATFS with eMMCs? in STM32CUBEMX the only options for FATFS are "SD-CARD", "USB Disk", "external SRAM" and "user defined".

eMMC is a block storage media, it is not byte addressable, so not limited by the address space of the processor.

256 GB(byte) or more are readily usable, although with larger devices I'd recommend current versions of FATFS

I've used FATFS in my implementations, although you're not bound to it. If you want to map access via USB MSC it helps to use a file system the host OS already supports.

CubeMX doesn't support all modes of functionality. The hardware is capable of using eMMC devices with appropriate drivers.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

you are awesome Tesla DeLoreadn!

as you mentioned I wanna map access via USB MSC. do you know any tutorial or resources that can help me out with that?

again I really appreciate your answer. thanks.