Fast Flashing STM32MP1 Boards

STM32CubeProgrammer is the official STMicroelectronics tool for creating partitions into any Flash device available on STM32 platforms. Once created, STM32CubeProgrammer allows populating and updating the partitions with the prebuilt binaries.

Unfortunately, this tool is quite slow.

Here we show a way to program our QSMP and TXMP modules much faster. Measurements have shown that programming is possible in 1/6 of the time or faster.

Note

Only a USB connection is required for programming.

Prerequisites

  1. Make sure to put the module into Download Mode - See: Enabling USB-Bootmode

  2. Download Fastboot U-Boot

  3. UUU is installed on your host and ready to use (UUU - Universal Update Utility)

  4. Images to be programmed including the trusted firmware such as tf-a-stm32mp157c-qsmp-1570-serialboot.stm32 used below

  5. USB port of the module connected to your Linux host (Either a native Linux PC or Linux on Windows with WSL)

  6. Package you need on the host system:

    sudo apt install dfu-util
    

Start Fastboot U-Boot

dfu-util -a 1 -D tf-a-stm32mp157c-qsmp-1570-serialboot.stm32
dfu-util -a 3 -D fip-stm32mp157c-qsmp-1570-fastboot.bin
dfu-util -a 0 -e

Start UUU

uuu -v