Skip to main content
Visitor II
January 30, 2022
Solved

eMMC Programming for Mass Production

  • January 30, 2022
  • 3 replies
  • 4282 views

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

    This topic has been closed for replies.
    Best answer by PatrickF

    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

    3 replies

    Graduate II
    January 30, 2022

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

    PatrickFAnswer
    Technical Moderator
    January 31, 2022

    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

    Visitor II
    March 1, 2022

    @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?

    JDave.4Author
    Visitor II
    January 31, 2022

    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?

    Technical Moderator
    January 31, 2022

    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'