Last edited 4 months ago

Populate the target and boot the image

Applicable for STM32MP13x lines, STM32MP15x lines, STM32MP25x lines


1. Open a terminal[edit | edit source]

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 | edit source]

  • 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 | edit source]

3.1. STM32CubeProgrammer[edit | edit source]

  • 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.
 ./SetupSTM32CubeProgrammer-x.y.z.linux


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
  • 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 | edit source]

  • 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 | edit source]

4.1. For STM32MP1 series[edit | edit source]


  • Create your STM32MP1 Starter Package directory on the host computer:
 mkdir $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v5.0.0
 mkdir $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v5.0.0/Starter-Package
 cd $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v5.0.0/Starter-Package
  • Download the STM32MP1-Ecosystem-v5.0.0 Starter Package into the following directory:
    $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v5.0.0/Starter-Package
  • 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-6.1-yocto-mickledore-mp1-v23.06.21.tar.gz


4.2. For STM32MP2 series[edit | edit source]


Warning white.png Warning
Only microSD cards SanDisk Class 10 and UHS Speed Class 1 are verified. Others are not recommended.
  • The STM32MP2 image (binaries) is delivered through one tarball file named
    • FLASH-stm32mp25-openstlinux-6.1-yocto-mickledore-mp2-v23.12.06.tar.gz for STM32MP257x-DK Warning.png and STM32MP257x-EV1 More info green.png

  • Download and install the STM32MP2 image (binaries):

The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA0048). The detailed content licenses can be found here.

STM32MP2 Starter Package image - STM32MP2-Ecosystem-v5.0.2 BETA release
Download
  • If you didn't retrieve yet the file FLASH-stm32mp25-openstlinux-6.1-yocto-mickledore-mp2-v23.12.06.tar.gz, please follow instructions on the downloading instructions page.
Installation
$ cd <working directory path>/Starter-Package
  • Download the tarball file in this directory
  • Uncompress the tarball file to get the binaries for the different partitions of the image, and the Flash layout files:
$ tar xvf FLASH-stm32mp25-openstlinux-6.1-yocto-mickledore-mp2-v23.12.06.tar.gz
Release note

Details of the content of this software package are available in the associated STM32 MPU OpenSTLinux release note.
Archive box.png If you are interested in older releases, please have a look into the section Archives

  • The binaries and the Flash layout files are in the <Starter Package installation directory>/stm32mp25-openstlinux-6.1-yocto-mickledore-mp2-v23.12.06/images/stm32mp25/ directory. The most important ones are:
stm32mp25
├── arm-trusted-firmware                       TF-A binaries for FSBL partitions and supported boot chains
│   ├── metadata.bin                           Meta data binary for METADATA partition for the supported boards
│   ├── tf-a-stm32mp257f-ev1-emmc.stm32        TF-A binary for FSBL partition (eMMC boot device) for STM32MP257F-EV1 → STM32MP25 Evaluation boards
│   ├── tf-a-stm32mp257f-ev1-nor.stm32         TF-A binary for FSBL partition (NOR boot device) for STM32MP257F-EV1 → STM32MP25 Evaluation boards
│   ├── tf-a-stm32mp257f-ev1-sdcard.stm32      TF-A binary for FSBL partition (microSD card boot device) for STM32MP257F-EV1 → STM32MP25 Evaluation boards
│   ├── tf-a-stm32mp257f-ev1-uart.stm32        TF-A binary for uart serial boot mode (STM32CubeProgrammer) for STM32MP257F-EV1 → STM32MP25 Evaluation boards
│   ├── tf-a-stm32mp257f-ev1-usb.stm32         TF-A binary for usb serial boot mode (STM32CubeProgrammer) for STM32MP257F-EV1 → STM32MP25 Evaluation boards
│   └── [...]
├── fip                                        FIP binaries for FIP partitions and supported boot chains
│   ├── fip-stm32mp257f-ev1-optee.bin          FIP binary for FIP partition (optee boot chain) for STM32MP257F-EV1 → STM32MP25 Evaluation boards
│   ├── fip-stm32mp257f-ev1-ddr.bin            FIP ddr binary for helping to flash (STM32CubeProgrammer) for STM32MP257F-EV1 → STM32MP25 Evaluation boards
│   └── [...]
├── flashlayout_st-image-weston                                 Flash layout files (description of the partitions) for the supported boot chains on supported boot devices and boards
│   ├── [...]
│   ├── extensible                                              Flash layout files for microSD card boot device with no userfs partition but a rootfs partition extended to microSD card size
│   │   ├── FlashLayout_sdcard_stm32mp257f-ev1-extensible.tsv   (recommended setup for package repository service) microSD card boot device with rootfs partition extended to microSD card size for STM32MP257F-EV1 → STM32MP25 Discovery kits
│   │   └── [...]
│   └── optee                                                   Flash layout files for optee boot chain
│       ├── FlashLayout_emmc_stm32mp257f-ev1-optee.tsv          eMMC boot device for STM32MP257F-EV1 → STM32MP25 Evaluation boards
│       ├── FlashLayout_nor-sdcard_stm32mp257f-ev1-optee.tsv    NOR boot device and microSD card device for STM32MP257F-EV1 → STM32MP25 Evaluation boards
│       ├── FlashLayout_sdcard_stm32mp257f-ev1-optee.tsv        microSD card boot device for STM32MP257F-EV1 → STM32MP25 Evaluation boards
│       └── [...]
├── scripts
│   └── create_sdcard_from_flashlayout.sh
├── st-image-bootfs-openstlinux-weston-stm32mp2.ext4                            Binary for bootfs partition on eMMC and microSD card devices
├── st-image-bootfs-openstlinux-weston-stm32mp2.manifest
├── st-image-userfs-openstlinux-weston-stm32mp2.ext4                            Binary for userfs partition on eMMC and microSD card devices
├── st-image-userfs-openstlinux-weston-stm32mp2.manifest
├── st-image-vendorfs-openstlinux-weston-stm32mp2.ext4                          Binary for vendorfs partition on eMMC and microSD card devices
├── st-image-vendorfs-openstlinux-weston-stm32mp2.manifest
├── st-image-weston-openstlinux-weston-stm32mp2.ext4                            Binary for rootfs partition on eMMC and microSD card devices
├── st-image-weston-openstlinux-weston-stm32mp2.license
├── st-image-weston-openstlinux-weston-stm32mp2-license_content.html            License summary for all packages needed to feed all partitions
├── st-image-weston-openstlinux-weston-stm32mp2.manifest
└── [...]