Populate the target and boot the image

1 Open a terminal[edit]

Open a terminal on the host computer.

Ubuntu terminal

All the commands preceded by have to be executed from the host computer terminal.

  • Create your STM32MPU workspace directory on the host computer:
 mkdir $HOME/STM32MPU_workspace
 cd $HOME/STM32MPU_workspace

2 Check the host computer Internet access[edit]

  • An Internet access through http and https protocols must be provided.

The command below enables checking for Internet access through http/https protocols:

 wget -q www.google.com && echo "Internet access over HTTP/HTTPS is OK !" || echo "No internet access over HTTP/HTTPS ! You may need to set up a proxy."

If an 'OK' message is returned, the network is correctly configured.
In this case, skip the rest of this section.

Otherwise, a proxy for http/https protocols is required.
The best solution is to set this proxy through the shell variables http_proxy and https_proxy:

 export http_proxy=http://<MyProxyLogin>:<MyProxyPassword>@<MyProxyServerUrl>:<MyProxyPort>
 export https_proxy=http://<MyProxyLogin>:<MyProxyPassword>@<MyProxyServerUrl>:<MyProxyPort>

Check again the Internet access using the command:

 wget -q www.google.com && echo "Internet access over HTTP/HTTPS is OK !" || echo "No internet access over HTTP/HTTPS ! You may need to set up a proxy."

3 Install the tools[edit]

3.1 STM32CubeProgrammer[edit]

  • Create your STM32MPU tools directory on the host computer:
 mkdir $HOME/STM32MPU_workspace/STM32MPU-Tools
 mkdir $HOME/STM32MPU_workspace/STM32MPU-Tools/STM32CubeProgrammer-x.y.z
  • Create a temporary directory in your STM32MPU workspace:
 mkdir $HOME/STM32MPU_workspace/tmp
  • Uncompress the archive file to get the STM32CubeProgrammer installers:
 cd $HOME/STM32MPU_workspace/tmp
 unzip SetupSTM32CubeProgrammer.zip
  • Execute the Linux® installer, which guides you through the installation process. Select "$HOME/STM32MPU-Tools/STM32CubeProgrammer-x.y.z" as installation directory when it is requested by the installer.

The screenshots below have been obtained with old STM32CubeProgrammer V2.7.0. They are provided as examples and are still valid for higher versions :

Splash screen
Welcome page
Installation path
  • Add the STM32CubeProgrammer binary path to your PATH environment variable:
export PATH=$HOME/STM32MPU_workspace/STM32MPU-Tools/STM32CubeProgrammer-x.y.z/bin:$PATH
  • Check that the STM32CubeProgrammer tool is properly installed and accessible:
 STM32_Programmer_CLI --h
                       STM32CubeProgrammer vx.y.z                  

3.2 USB serial link[edit]

  • Install the libusb on your host computer:
 sudo apt-get install libusb-1.0-0
  • To allow STM32CubeProgrammer to access the USB port through low-level commands, proceed as follows:
 cd $HOME/STM32MPU_workspace/STM32MPU-Tools/STM32CubeProgrammer-x.y.z/Drivers/rules
 sudo cp *.* /etc/udev/rules.d/

4 Download the image[edit]

  • Create your STM32MP1 Starter Package directory on the host computer:
 mkdir $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.0
 mkdir $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.0/Starter-Package
 cd $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.0/Starter-Package
  • Download the STM32MP1-Ecosystem-v4.1.0 Starter Package into the following directory:
  • Uncompress the tarball file to get the binaries for the different partitions of the image, and the Flash layout files
 tar xvf en.FLASH-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23.tar.gz