1. Open a terminal[edit | edit source]
Open a terminal on the host computer.
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
- Download STM32CubeProgrammer in the following directory : $HOME/STM32MPU_workspace/tmp
STM32CubeProgrammer v2.14.0-MP25-B02 is recommended for ecosystem release v5.0.2.BETA .
- 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 :
- 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]
- The STM32MP2 image (binaries) is delivered through one tarball file named
- 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 |
|
Installation |
$ cd <working directory path>/Starter-Package
$ 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. |
- 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 └── [...]