cancel
Showing results for 
Search instead for 
Did you mean: 

eMMC Programming for Mass Production

JDave.4
Associate III

Hello,

What is the best (fastest and reliable) way to program a blank eMMC for mass production? In my custom board, the device will boot from eMMC, no SD card is available.

The default pins are shown in the link below. For other data pins is there any restriction?

https://wiki.st.com/stm32mpu/wiki/STM32MP15_ROM_code_overview#Boot_from_e-E2-80-A2MMC-E2-84-A2

1 ACCEPTED SOLUTION

Accepted Solutions
PatrickF
ST Employee

Hi,

USB high-speed (OTG on USB_DM2/DP2 pins) should be used to load either complete image or only up to u-Boot (to use Ethernet as proposed by @Community member​ ).

CubeProgrammer could be used. As not the fastest tool for a complete image, could be used for TF-A/u-Boot load before Ethernet use (I think from u-Boot, an USB Flash drive connected on USBH on USB_DM1/DP1 might be possible).

All these might need some small tailoring or scripting of our standard deliveries.

Alternatively, especially if you don't want to use Ethernet, our partner Elprotronic also provide a fast USB flasher: https://www.elprotronic.com/pages/gangflasher-st

For eMMC pin choices, i confirm the only restrictions are the 3 pins used by BootROM (and obviously the AFmux possibilities regarding other eMMC pins). See also AN5031 for more guidelines.

Regards,

Patrick

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

7 REPLIES 7

Other Embedded Linux platforms had minimal u-Boot use Ethernet to pull, or stream data loop, from a server

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

Hi,

USB high-speed (OTG on USB_DM2/DP2 pins) should be used to load either complete image or only up to u-Boot (to use Ethernet as proposed by @Community member​ ).

CubeProgrammer could be used. As not the fastest tool for a complete image, could be used for TF-A/u-Boot load before Ethernet use (I think from u-Boot, an USB Flash drive connected on USBH on USB_DM1/DP1 might be possible).

All these might need some small tailoring or scripting of our standard deliveries.

Alternatively, especially if you don't want to use Ethernet, our partner Elprotronic also provide a fast USB flasher: https://www.elprotronic.com/pages/gangflasher-st

For eMMC pin choices, i confirm the only restrictions are the 3 pins used by BootROM (and obviously the AFmux possibilities regarding other eMMC pins). See also AN5031 for more guidelines.

Regards,

Patrick

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
JDave.4
Associate III

Hi all,

Thanks for the replies. Is it possible to use ST Link v3 to program a blank eMMC? If so, what could be max. transfer rate?

Hi,

unlike STM32 MCUs, it is not possible to flash STM32MP1 products using ST-Link.

On STM32 MPUs, ST-Link is only used for debug purposes (e.g. with CubeIDE).

Only UART or USB (OTG on USB_DP2/DM2) are supported for flashing.

Regards.

In order to give better visibility on the answered topics, please click on 'Select as Best' on the reply which solved your issue or answered your question. See also 'Best Answers'

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

@PatrickF​ 

Is it not possible to flash the nand or emmc from a linux boot on the sdcard? That way this would not require any external devices and just an SDcard?

@PatrickF​ 

Also in the field how can one update the partitions if it can't be done through the sdcard?

Hi,

populating another Flash using SD-Card is possible, there was some other posts on that subject.

Update on the field is another story as this has to be done in a safe way. I think too there is other posts on that subject in the community.

I'm not expert on that aspects.

Regards.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.