Difference between revisions of "STM32MP15 Evaluation boards - Starter Package"

[unchecked revision] [quality revision]
m (Examples running on Cortex-A7)
 
m

Template:ArticleMainWriter Template:ReviewersList Template:ArticleApprovedVersion




This article shows how to start up a STM32MP15 Evaluation board (high-end development platform for the STM32MP15 microprocessor devices).

It lists the required material, points to the board features description, and gives the step-by-step process to set up the system.

Finally, it proposes to run some basic use cases and to discover some of the board capabilities.

1 Starter Package content[edit]

If you are not yet familiar with the STM32MPU Embedded Software distribution and its Packages, please read the following articles:

If you are already familiar with the Starter Package for the STM32MPU Embedded Software distribution, the fast links to essential commands might interest you.


To sum up, this Starter Package provides:

  • the software image for the STM32MPU Embedded Software distribution, which includes:
    • the binaries for the OpenSTLinux distribution
    • one or more firmware example(s) for the STM32Cube MPU Package
  • the tool (STM32CubeProgrammer) to install this image on the STM32MP15 Evaluation board
Components of the Starter Package

2 Starter Package step-by-step overview[edit]

The following steps are required to get the STM32MP15 Evaluation board up and running:
Checking the material
Assembling the board
Installing the tools
Downloading the image and flashing it on the board
Booting the board


Once these steps are achieved, you are able to:

3 Checking the material[edit]

Mandatory

PC Linux or Windows operating systems. See PC prerequisites for more details on the required configurations
STM32MP157x-EV1 Evaluation board High-end development platform for the STM32MP15 microprocessor device including:
Power supply Power supply block (5V, 3A) for the MB1263 daughterboard
MicroSD card It is populated with OpenSTLinux distribution (Linux software), and provides extra storage capacity. A 2-Gbyte minimum MicroSD card is needed
USB micro-B cable It connects the STM32MP157x-EV1 Evaluation board to the PC through the USB micro-B (ST-LINK/V2-1) connector
USB micro-AB cable It connects the STM32MP157x-EV1 Evaluation board to an USB OTG device through the USB micro-AB connector


Optional

USB keyboard and mouse Thanks to the USB type A connectors, the STM32MP157x-EV1 Evaluation board can be equipped with a full-size keyboard and mouse
Ethernet cable It can connect the STM32MP157x-EV1 Evaluation board to a network through the RJ45 connector
RS232 cable It can connect the STM32MP157x-EV1 Evaluation board to the PC through the UART connector as an alternative of the ST-LINK/V2-1 connection
CAN cable It can connect the STM32MP157x-EV1 Evaluation board to CAN devices through the CAN FD/TT connectors
Trace cable It can connect the STM32MP157x-EV1 Evaluation board to an external tool through the Trace connector
JTAG cable It can connect the STM32MP157x-EV1 Evaluation board to an external tool through the JTAG connector

Optionally, devices and extension boards might be plugged to the STM32MP157x-EV1 Evaluation board thanks to connectors such as:

  • the Ethernet daughterboard connector
  • the GPIO expansion connector
  • the Motor control connector
  • ...



The following figure shows the material not included in STM32MP15 Evaluation board package, that is used in this Starter Package.

File:STM32MP157C-EV1 recommended material.png
Recommended material for this Starter Package

4 Assembling the board[edit]

STM32MP157C-EV1 - board assembly

5 Installing the tools[edit]

5.1 Installing the STM32CubeProgrammer tool[edit]

STM32CubeProgrammer for Linux® host PC STM32CubeProgrammer for Windows® host PC
Download

Version 2.5.0

  • To access the SetupSTM32CubeProgrammer link and follow instructions to download the package, you need a myST account.
  • Download the archive file on your host PC in a temporary directory
  • Uncompress the archive file to get the STM32CubeProgrammer installers:


PC $>unzip en.stm32cubeprog.zip

Installation
  • Execute the Linux installer, which guides you through the installation process.
$> ./SetupSTM32CubeProgrammer-2.5.0.linux
  • The path to the STM32CubeProgrammer binary must be added to the PATH environment variable
    • either in each Terminal program in which the STM32CubeProgrammer binary needs to be used, using the following command:
$> export PATH=<my STM32CubeProgrammer install directory>/bin:$PATH
  • or once for all by creating a link to the STM32CubeProgrammer binary in a directory already present in PATH. For example, if "/home/bin" is in the PATH environment variable, run the following command:
$> ln -s <my STM32CubeProgrammer install directory>/bin/STM32_Programmer_CLI /home/bin/STM32_Programmer_CLI
  • Execute the Windows installer, which guides you through the installation process.
User manual
Detailed release note
  • Details about the content of this tool version are available from ST web site at Release Note .

Note :
To get STM32CubeProgrammer working with Ubuntu®18.04
1. Install OpenJDK 8

PC $> sudo apt install openjdk-8-jre-headless

2. Set OpenJDK 8 as your default Java Runtime Engine

PC $> sudo update-alternatives --config java

3. Install OpenJFX

PC $> sudo apt purge openjfx
PC $> sudo apt install openjfx=8u161-b12-1ubuntu2 libopenjfx-jni=8u161-b12-1ubuntu2 libopenjfx-java=8u161 b12-1ubuntu2
PC $> sudo apt-mark hold openjfx libopenjfx-jni libopenjfx-java

5.2 Preparing the USB serial link for flashing[edit]

It is recommended to use the USB (in DFU mode) for flashing rather than the UART, which is too slow.

Below indications on how to install the USB in DFU mode under Linux and Windows OS, respectively.

  • For Linux host PC or Windows host PC with VMWare:

The libusb1.0 package (including USB DFU mode) must be installed to be able to connect to the board via the USB port. This is achieved by typing the following command from the host PC terminal:

PC $> sudo apt-get install libusb-1.0-0


To allow STM32CubeProgrammer to access the USB port through low-level commands, proceed as follows:

PC $> cd <your STM32CubeProgrammer install directory>/Drivers/rules 
PC $> sudo cp *.* /etc/udev/rules.d/
  • For Windows host PC:

Run the “STM32 Bootloader.bat” file to install the STM32CubeProgrammer DFU driver and activate the STM32 microprocessor device in USB DFU mode. This driver (installed by STM32 Bootloader.bat) is provided within the STM32CubeProgrammer release package. It is located in the DFU driver folder, \Drivers\DFU_Driver.

In case of issue, refer to How to proceed when the DFU driver installation fails on Windows host PC.

To validate the installation, the DFU driver functionality can be verified by following the FAQ instructions provided in how to check if the DFU driver is functional.

6 Downloading the image and flashing it on the board[edit]

6.1 Image download[edit]

Warning.png Only microSD cards SanDisk Class 10 and UHS Speed Class 1 are verified. Others are not recommended.
  • The STM32MP1 image (binaries) is delivered through one tarball file named
    • en.FLASH-stm32mp1-openstlinux-5-4-dunfell-mp1-20-06-24.tar.xz for STM32MP157X-EV1 and STM32MP157X-DKX boards

  • Download and install the STM32MP1 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 (SLA). The detailed content licenses can be found here.

Warning.png To download a package, it is recommended to be logged in to your "myst" account [1]. If, trying to download, you encounter a “403 error”, you could try to empty your browser cache to workaround the problem. We are working on the resolution of this problem.
We apologize for this inconvenience
STM32MP1 Starter Package image - STM32MP15-Ecosystem-v2.0.0 release
Download

You need to be logged on to my.st.com before accessing the following link:
en.FLASH-stm32mp1-openstlinux-5-4-dunfell-mp1-20-06-24.tar.xz

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 en.FLASH-stm32mp1-openstlinux-5-4-dunfell-mp1-20-06-24.tar.xz
Release note

Details of the content of this software package are available in the associated STM32MP15 ecosystem 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>/stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24/images/stm32mp1/ directory:
stm32mp1
├── arm-trusted-firmware                        TF-A binaries for FSBL partitions and supported boot chains
│   ├── tf-a-stm32mp157a-dk1-optee.stm32        TF-A binary for FSBL partition (optee boot chain) for STM32MP157A-DK1 → STM32MP15 Discovery kits
│   ├── tf-a-stm32mp157a-dk1-serialboot.stm32   TF-A binary for serial boot mode (STM32CubeProgrammer) for STM32MP157A-DK1 → STM32MP15 Discovery kits
│   ├── tf-a-stm32mp157a-dk1-trusted.stm32      TF-A binary for FSBL partition (trusted boot chain) for STM32MP157A-DK1 → STM32MP15 Discovery kits
│   ├── tf-a-stm32mp157a-ev1-optee.stm32        TF-A binary for FSBL partition (optee boot chain) for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│   ├── tf-a-stm32mp157a-ev1-serialboot.stm32   TF-A binary for serial boot mode (STM32CubeProgrammer) for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│   ├── tf-a-stm32mp157a-ev1-trusted.stm32      TF-A binary for FSBL partition (trusted boot chain) for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│   ├── tf-a-stm32mp157c-dk2-optee.stm32        TF-A binary for FSBL partition (optee boot chain) for STM32MP157C-DK2 → STM32MP15 Discovery kits
│   ├── tf-a-stm32mp157c-dk2-serialboot.stm32   TF-A binary for serial boot mode (STM32CubeProgrammer) for STM32MP157C-DK2 → STM32MP15 Discovery kits
│   ├── tf-a-stm32mp157c-dk2-trusted.stm32      TF-A binary for FSBL partition (trusted boot chain) for STM32MP157C-DK2 → STM32MP15 Discovery kits
│   ├── tf-a-stm32mp157c-ev1-optee.stm32        TF-A binary for FSBL partition (optee boot chain) for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│   ├── tf-a-stm32mp157c-ev1-serialboot.stm32   TF-A binary for serial boot mode (STM32CubeProgrammer) for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│   ├── tf-a-stm32mp157c-ev1-trusted.stm32      TF-A binary for FSBL partition (trusted boot chain) for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│   ├── tf-a-stm32mp157d-dk1-optee.stm32        TF-A binary for FSBL partition (optee boot chain) for STM32MP157D-DK1 → STM32MP15 Discovery kits
│   ├── tf-a-stm32mp157d-dk1-serialboot.stm32   TF-A binary for serial boot mode (STM32CubeProgrammer) for STM32MP157D-DK1 → STM32MP15 Evaluation boards
│   ├── tf-a-stm32mp157d-dk1-trusted.stm32      TF-A binary for FSBL partition (trusted boot chain) for STM32MP157D-DK1 → STM32MP15 Discovery kits
│   ├── tf-a-stm32mp157d-ev1-optee.stm32        TF-A binary for FSBL partition (optee boot chain) for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│   ├── tf-a-stm32mp157d-ev1-serialboot.stm32   TF-A binary for serial boot mode (STM32CubeProgrammer) for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│   ├── tf-a-stm32mp157d-ev1-trusted.stm32      TF-A binary for FSBL partition (trusted boot chain) for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│   ├── tf-a-stm32mp157f-dk2-optee.stm32        TF-A binary for FSBL partition (optee boot chain) for STM32MP157F-DK2 → STM32MP15 Discovery kits
│   ├── tf-a-stm32mp157f-dk2-serialboot.stm32   TF-A binary for serial boot mode (STM32CubeProgrammer) for STM32MP157F-DK2 → STM32MP15 Evaluation boards
│   ├── tf-a-stm32mp157f-dk2-trusted.stm32      TF-A binary for FSBL partition (trusted boot chain) for STM32MP157F-DK2 → STM32MP15 Discovery kits
│   ├── tf-a-stm32mp157f-ev1-optee.stm32        TF-A binary for FSBL partition (optee boot chain) for STM32MP157F-EV1 → STM32MP15 Evaluation boards
│   ├── tf-a-stm32mp157f-ev1-serialboot.stm32   TF-A binary for serial boot mode (STM32CubeProgrammer) for STM32MP157F-EV1 → STM32MP15 Evaluation boards
│   └── tf-a-stm32mp157f-ev1-trusted.stm32      TF-A binary for FSBL partition (trusted boot chain) for STM32MP157F-EV1 → STM32MP15 Evaluation boards
├── bootloader                                  U-Boot binaries for FSBL, SSBL partitions and supported boot chains
│   ├── u-boot-spl.stm32-stm32mp157a-dk1-basic  U-Boot binary for FSBL partition (basic boot chain) for STM32MP157A-DK1 → STM32MP15 Discovery kits
│   ├── u-boot-spl.stm32-stm32mp157a-ev1-basic  U-Boot binary for FSBL partition (basic boot chain) for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│   ├── u-boot-spl.stm32-stm32mp157c-dk2-basic  U-Boot binary for FSBL partition (basic boot chain) for STM32MP157C-DK2 → STM32MP15 Discovery kits
│   ├── u-boot-spl.stm32-stm32mp157c-ev1-basic  U-Boot binary for FSBL partition (basic boot chain) for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│   ├── u-boot-spl.stm32-stm32mp157d-dk1-basic  U-Boot binary for FSBL partition (basic boot chain) for STM32MP157D-DK1 → STM32MP15 Discovery kits
│   ├── u-boot-spl.stm32-stm32mp157d-ev1-basic  U-Boot binary for FSBL partition (basic boot chain) for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│   ├── u-boot-spl.stm32-stm32mp157f-dk2-basic  U-Boot binary for FSBL partition (basic boot chain) for STM32MP157F-DK2 → STM32MP15 Discovery kits
│   ├── u-boot-spl.stm32-stm32mp157f-ev1-basic  U-Boot binary for FSBL partition (basic boot chain) for STM32MP157F-EV1 → STM32MP15 Evaluation boards
│   ├── u-boot-stm32mp157a-dk1-optee.stm32      U-Boot binary for SSBL partition (optee boot chain) for STM32MP157A-DK1 → STM32MP15 Discovery kits
│   ├── u-boot-stm32mp157a-dk1-trusted.stm32    U-Boot binary for SSBL partition (trusted boot chain) for STM32MP157A-DK1 → STM32MP15 Discovery kits
│   ├── u-boot-stm32mp157a-ev1-optee.stm32      U-Boot binary for SSBL partition (optee boot chain) for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│   ├── u-boot-stm32mp157a-ev1-trusted.stm32    U-Boot binary for SSBL partition (trusted boot chain) for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│   ├── u-boot-stm32mp157c-dk2-optee.stm32      U-Boot binary for SSBL partition (optee boot chain) for STM32MP157C-DK2 → STM32MP15 Discovery kits
│   ├── u-boot-stm32mp157c-dk2-trusted.stm32    U-Boot binary for SSBL partition (trusted boot chain) for STM32MP157C-DK2 → STM32MP15 Discovery kits
│   ├── u-boot-stm32mp157c-ev1-optee.stm32      U-Boot binary for SSBL partition (optee boot chain) for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│   ├── u-boot-stm32mp157c-ev1-trusted.stm32    U-Boot binary for SSBL partition (trusted boot chain) for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│   ├── u-boot-stm32mp157d-dk1-optee.stm32      U-Boot binary for SSBL partition (optee boot chain) for STM32MP157D-DK1 → STM32MP15 Discovery kits
│   ├── u-boot-stm32mp157d-dk1-trusted.stm32    U-Boot binary for SSBL partition (trusted boot chain) for STM32MP157D-DK1 → STM32MP15 Discovery kits
│   ├── u-boot-stm32mp157d-ev1-optee.stm32      U-Boot binary for SSBL partition (optee boot chain) for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│   ├── u-boot-stm32mp157d-ev1-trusted.stm32    U-Boot binary for SSBL partition (trusted boot chain) for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│   ├── u-boot-stm32mp157f-dk2-optee.stm32      U-Boot binary for SSBL partition (optee boot chain) for STM32MP157F-DK2 → STM32MP15 Discovery kits
│   ├── u-boot-stm32mp157f-dk2-trusted.stm32    U-Boot binary for SSBL partition (trusted boot chain) for STM32MP157F-DK2 → STM32MP15 Discovery kits
│   ├── u-boot-stm32mp157f-ev1-optee.stm32      U-Boot binary for SSBL partition (optee boot chain) for STM32MP157F-EV1 → STM32MP15 Evaluation boards
│   └── u-boot-stm32mp157f-ev1-trusted.stm32    U-Boot binary for SSBL partition (trusted boot chain) for STM32MP157F-EV1 → STM32MP15 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_stm32mp157a-dk1-extensible.tsv   (recommended setup for package repository service) microSD card boot device with rootfs partition extended to microSD card size for STM32MP157A-DK1 → STM32MP15 Discovery kits
│   │   ├── FlashLayout_sdcard_stm32mp157c-dk2-extensible.tsv   (recommended setup for package repository service) microSD card boot device with rootfs partition extended to microSD card size for STM32MP157C-DK2 → STM32MP15 Discovery kits
│   │   ├── FlashLayout_sdcard_stm32mp157d-dk1-extensible.tsv   (recommended setup for package repository service) microSD card boot device with rootfs partition extended to microSD card size for STM32MP157D-DK1 → STM32MP15 Discovery kits
│   │   └── FlashLayout_sdcard_stm32mp157f-dk2-extensible.tsv   (recommended setup for package repository service) microSD card boot device with rootfs partition extended to microSD card size for STM32MP157F-DK2 → STM32MP15 Discovery kits
│   ├── optee                                                   Flash layout files for optee boot chain
│   │   ├── FlashLayout_emmc_stm32mp157a-ev1-optee.tsv          eMMC boot device for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_emmc_stm32mp157c-ev1-optee.tsv          eMMC boot device for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_emmc_stm32mp157d-ev1-optee.tsv          eMMC boot device for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_emmc_stm32mp157f-ev1-optee.tsv          eMMC boot device for STM32MP157F-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_nand-4-256_stm32mp157a-ev1-optee.tsv    NAND boot device for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_nand-4-256_stm32mp157c-ev1-optee.tsv    NAND boot device for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_nand-4-256_stm32mp157d-ev1-optee.tsv    NAND boot device for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_nand-4-256_stm32mp157f-ev1-optee.tsv    NAND boot device for STM32MP157F-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_nor-sdcard_stm32mp157a-ev1-optee.tsv    NOR boot device and microSD card device for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_nor-sdcard_stm32mp157c-ev1-optee.tsv    NOR boot device and microSD card device for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_nor-sdcard_stm32mp157d-ev1-optee.tsv    NOR boot device and microSD card device for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_nor-sdcard_stm32mp157f-ev1-optee.tsv    NOR boot device and microSD card device for STM32MP157F-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_sdcard_stm32mp157a-dk1-optee.tsv        microSD card boot device for STM32MP157A-DK1 → STM32MP15 Discovery kits
│   │   ├── FlashLayout_sdcard_stm32mp157a-ev1-optee.tsv        microSD card boot device for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_sdcard_stm32mp157c-dk2-optee.tsv        microSD card boot device for STM32MP157C-DK2 → STM32MP15 Discovery kits
│   │   ├── FlashLayout_sdcard_stm32mp157c-ev1-optee.tsv        microSD card boot device for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_sdcard_stm32mp157d-dk1-optee.tsv        microSD card boot device for STM32MP157D-DK1 → STM32MP15 Discovery kits
│   │   ├── FlashLayout_sdcard_stm32mp157d-ev1-optee.tsv        microSD card boot device for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│   │   ├── FlashLayout_sdcard_stm32mp157f-dk2-optee.tsv        microSD card boot device for STM32MP157F-DK2 → STM32MP15 Discovery kits
│   │   └── FlashLayout_sdcard_stm32mp157f-ev1-optee.tsv        microSD card boot device for STM32MP157F-EV1 → STM32MP15 Evaluation boards
│   └── trusted                                                 Flash layout files for trusted boot chain
│       ├── FlashLayout_emmc_stm32mp157a-ev1-trusted.tsv        eMMC boot device for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_emmc_stm32mp157c-ev1-trusted.tsv        eMMC boot device for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_emmc_stm32mp157d-ev1-trusted.tsv        eMMC boot device for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_emmc_stm32mp157f-ev1-trusted.tsv        eMMC boot device for STM32MP157F-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_nand-4-256_stm32mp157a-ev1-trusted.tsv  NAND boot device for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_nand-4-256_stm32mp157c-ev1-trusted.tsv  NAND boot device for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_nand-4-256_stm32mp157d-ev1-trusted.tsv  NAND boot device for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_nand-4-256_stm32mp157f-ev1-trusted.tsv  NAND boot device for STM32MP157F-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_nor-sdcard_stm32mp157a-ev1-trusted.tsv  NOR boot device and microSD card device for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_nor-sdcard_stm32mp157c-ev1-trusted.tsv  NOR boot device and microSD card device for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_nor-sdcard_stm32mp157d-ev1-trusted.tsv  NOR boot device and microSD card device for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_nor-sdcard_stm32mp157f-ev1-trusted.tsv  NOR boot device and microSD card device for STM32MP157F-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_sdcard_stm32mp157a-dk1-trusted.tsv      (recommended setup) microSD card boot device for STM32MP157A-DK1 → STM32MP15 Discovery kits
│       ├── FlashLayout_sdcard_stm32mp157a-ev1-trusted.tsv      (recommended setup) microSD card boot device for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv      (recommended setup) microSD card boot device for STM32MP157C-DK2 → STM32MP15 Discovery kits
│       ├── FlashLayout_sdcard_stm32mp157c-ev1-trusted.tsv      (recommended setup) microSD card boot device for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_sdcard_stm32mp157d-dk1-trusted.tsv      (recommended setup) microSD card boot device for STM32MP157D-DK1 → STM32MP15 Discovery kits
│       ├── FlashLayout_sdcard_stm32mp157d-ev1-trusted.tsv      (recommended setup) microSD card boot device for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│       ├── FlashLayout_sdcard_stm32mp157f-dk2-trusted.tsv      (recommended setup) microSD card boot device for STM32MP157F-DK2 → STM32MP15 Discovery kits
│       └── FlashLayout_sdcard_stm32mp157f-ev1-trusted.tsv      (recommended setup) microSD card boot device for STM32MP157F-EV1 → STM32MP15 Evaluation boards
├── optee                                               Optee binaries for TEE partitions required for optee boot chains
│   ├── tee-header_v2-stm32mp157a-dk1-optee.stm32       Optee binary for TEEH partition for STM32MP157A-DK1 → STM32MP15 Discovery kits
│   ├── tee-header_v2-stm32mp157a-ev1-optee.stm32       Optee binary for TEEH partition for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│   ├── tee-header_v2-stm32mp157c-dk2-optee.stm32       Optee binary for TEEH partition for STM32MP157C-DK2 → STM32MP15 Discovery kits
│   ├── tee-header_v2-stm32mp157c-ev1-optee.stm32       Optee binary for TEEH partition for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│   ├── tee-header_v2-stm32mp157d-dk1-optee.stm32       Optee binary for TEEH partition for STM32MP157D-DK1 → STM32MP15 Discovery kits
│   ├── tee-header_v2-stm32mp157d-ev1-optee.stm32       Optee binary for TEEH partition for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│   ├── tee-header_v2-stm32mp157f-dk2-optee.stm32       Optee binary for TEEH partition for STM32MP157F-DK2 → STM32MP15 Discovery kits
│   ├── tee-header_v2-stm32mp157f-ev1-optee.stm32       Optee binary for TEEH partition for STM32MP157F-EV1 → STM32MP15 Evaluation boards
│   ├── tee-pageable_v2-stm32mp157a-dk1-optee.stm32     Optee binary for TEED partition for STM32MP157A-DK1 → STM32MP15 Discovery kits
│   ├── tee-pageable_v2-stm32mp157a-ev1-optee.stm32     Optee binary for TEED partition for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│   ├── tee-pageable_v2-stm32mp157c-dk2-optee.stm32     Optee binary for TEED partition for STM32MP157C-DK2 → STM32MP15 Discovery kits
│   ├── tee-pageable_v2-stm32mp157c-ev1-optee.stm32     Optee binary for TEED partition for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│   ├── tee-pageable_v2-stm32mp157d-dk1-optee.stm32     Optee binary for TEED partition for STM32MP157D-DK1 → STM32MP15 Discovery kits
│   ├── tee-pageable_v2-stm32mp157d-ev1-optee.stm32     Optee binary for TEED partition for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│   ├── tee-pageable_v2-stm32mp157f-dk2-optee.stm32     Optee binary for TEED partition for STM32MP157F-DK2 → STM32MP15 Discovery kits
│   ├── tee-pageable_v2-stm32mp157f-ev1-optee.stm32     Optee binary for TEED partition for STM32MP157F-EV1 → STM32MP15 Evaluation boards
│   ├── tee-pager_v2-stm32mp157a-dk1-optee.stm32        Optee binary for TEEX partition for STM32MP157A-DK1 → STM32MP15 Discovery kits
│   ├── tee-pager_v2-stm32mp157a-ev1-optee.stm32        Optee binary for TEEX partition for STM32MP157A-EV1 → STM32MP15 Evaluation boards
│   ├── tee-pager_v2-stm32mp157c-dk2-optee.stm32        Optee binary for TEEX partition for STM32MP157C-DK2 → STM32MP15 Discovery kits
│   ├── tee-pager_v2-stm32mp157c-ev1-optee.stm32        Optee binary for TEEX partition for STM32MP157C-EV1 → STM32MP15 Evaluation boards
│   ├── tee-pager_v2-stm32mp157d-dk1-optee.stm32        Optee binary for TEEX partition for STM32MP157D-DK1 → STM32MP15 Discovery kits
│   ├── tee-pager_v2-stm32mp157d-ev1-optee.stm32        Optee binary for TEEX partition for STM32MP157D-EV1 → STM32MP15 Evaluation boards
│   ├── tee-pager_v2-stm32mp157f-dk2-optee.stm32        Optee binary for TEEX partition for STM32MP157F-DK2 → STM32MP15 Discovery kits
│   └── tee-pager_v2-stm32mp157f-ev1-optee.stm32        Optee binary for TEEX partition for STM32MP157F-EV1 → STM32MP15 Evaluation boards
├── scripts
│   └── create_sdcard_from_flashlayout.sh
├── st-image-bootfs-openstlinux-weston-stm32mp1.ext4                            Binary for bootfs partition on eMMC and microSD card devices
├── st-image-bootfs-openstlinux-weston-stm32mp1.manifest
├── st-image-userfs-openstlinux-weston-stm32mp1.ext4                            Binary for userfs partition on eMMC and microSD card devices
├── st-image-userfs-openstlinux-weston-stm32mp1.manifest
├── st-image-vendorfs-openstlinux-weston-stm32mp1.ext4                          Binary for vendorfs partition on eMMC and microSD card devices
├── st-image-weston-openstlinux-weston-stm32mp1.ext4                            Binary for rootfs partition on eMMC and microSD card devices
├── st-image-weston-openstlinux-weston-stm32mp1.license
├── st-image-weston-openstlinux-weston-stm32mp1-license_content.html            License summary for all packages needed to feed all partitions
├── st-image-weston-openstlinux-weston-stm32mp1.manifest
└── st-image-weston-openstlinux-weston-stm32mp1_nand_4_256_multivolume.ubi      Binary for bootfs, vendorfs, rootfs and userfs partitions on NAND device


6.2 Image flashing[edit]

The STM32CubeProgrammer tool is used to flash the STM32MP15 Evaluation board with the downloaded image.

Several Flash devices (microSD, eMMC...) are available on this board: see the STM32MP15 Flash mapping article if you want to know more about the supported Flash memory technologies, and the Flash partitions. The steps below consider the microSD card as the Flash device.

As explained in the boot chains overview, the trusted boot chain is the default solution delivered by STMicroelectronics. Thus, the steps below use the image for the trusted boot chain.


Let's flash the downloaded image on the microSD card:

  • Remove the jumper JP1 (1)
  • Set the boot switches (2) to the off position
  • Connect the USB micro-AB (OTG) port (3) to the host PC that contains the downloaded image
  • Insert the delivered microSD card into the dedicated slot (4)
  • Connect the delivered power supply to the power connector (5) of the MB1263 daughterboard
  • Press the reset button (6) to reset the board


File:STM32MP157C-EV1 flashing configuration.png
Evaluation board connections for flashing
Board name: STM32MP157C-EV1


  • Go to the Starter Package directory that contains the binaries and the Flash layout files
PC $> cd <Starter Package installation directory>/stm32mp1-boards-revb-openstlinux-4.14-rocko-mp1-18-11-26/images/stm32mp1-boards-revb
OR
PC $> cd <Starter Package installation directory>/stm32mp1-boards-revc-openstlinux-4.14-rocko-mp1-18-11-26/images/stm32mp1-boards-revc
If you have followed the the proposition to organize the working directory, the command is
PC $> cd Starter-Package/stm32mp1-boards-revb-openstlinux-4.14-rocko-mp1-18-11-26/images/stm32mp1-boards-revb
OR
PC $> cd Starter-Package/stm32mp1-boards-revc-openstlinux-4.14-rocko-mp1-18-11-26/images/stm32mp1-boards-revc
Info.png The commands below are for a Linux host PC; however, they are similar for a Windows host PC except that STM32_Programmer_CLI is replaced by STM32_Programmer_CLI.exe.
  • Check that the STM32CubeProgrammer tool is installed and accessible; if not, go to the installation procedure (installing the tools)
PC $> STM32_Programmer_CLI --h
      -------------------------------------------------------------------
                        STM32CubeProgrammer <tool version>                  
      -------------------------------------------------------------------
  • Get the device port location for the USB link
PC $> STM32_Programmer_CLI -l usb
      -------------------------------------------------------------------
                        STM32CubeProgrammer <tool version>                  
      -------------------------------------------------------------------


Total number of available STM32 device in DFU mode: 1

  Device Index           : USB1
  USB Bus Number         : 002
  USB Address Number     : 002
  Product ID             : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000
  Serial number          : 000000000000
  Firmware version       : 0x011a
  Device ID              : 0x0500
  • Flash the microSD card with the image for the trusted boot chain
PC $> STM32_Programmer_CLI -c port=usb1 -w flashlayout_st-image-weston/FlashLayout_sdcard_stm32mp157c-ev1-trusted.tsv
This operation takes several minutes (mainly depending of the rootfs size). A successful flashing outputs the following log:
Info.png Please note that the logs that you will obtain, might be slightly different, especially if you use a different software release.
      -------------------------------------------------------------------
                        STM32CubeProgrammer <tool version>                  
      -------------------------------------------------------------------



USB speed              : High Speed (480MBit/s)
Manufacturer ID        : STMicroelectronics
Product ID             : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000
Serial number          : 000000000000
Firmware version       : 0x011a
Device ID              : 0x0500
 
   AREA NAME          SECT.NBR        PARTITION.ID    SIZE         TYPE
 
 
   Partition0           0000          0x00000000      0256 KB      RW

   SECBL                0000          0x00000001      0001 MB      RW

   Partition2           0000          0x00000002      0001 MB      RW

   Partition3           0000          0x00000003      0256 KB      RW

   Partition4           0000          0x00000004      0016 MB      RW

   virtual              0000          0x000000f1      0512 B       R

Device name : STM32MPxxx
Device type : MPU
Device CPU  : Cortex-A7


Start Embedded Flashing service



Memory Programming ...
Opening and parsing file: tf-a-stm32mp157c-ev1-trusted.stm32
  File          : tf-a-stm32mp157c-ev1-trusted.stm32
  Size          : 228536 Bytes
  Partition ID  : 0x01 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:00:00.557

RUNNING Program ... 
  PartID:      :0x01 
Start operation done successfully at partition 0x01

Flashlayout Programming ...
[==================================================] 100% 
Running Flashlayout Partition ...
Flashlayout partition started successfully


Memory Programming ...
Opening and parsing file: u-boot-stm32mp157c-ev1-trusted.stm32
  File          : u-boot-stm32mp157c-ev1-trusted.stm32
  Size          : 728904 Bytes
  Partition ID  : 0x03 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:00:00.672

RUNNING Program ... 
  PartID:      :0x03 

reconnecting the device ...

USB speed              : High Speed (480MBit/s)
Manufacturer ID        : STMicroelectronics
Product ID             : USB download gadget@Device ID /0x500, @Revision ID /0x0000
Serial number          : 0000000000
Firmware version       : 0x0110
Device ID              : 0x0500
 
   AREA NAME          SECT.NBR        PARTITION.ID    SIZE         TYPE
 
 
   fsbl1                0000          0x00000001      0256 KB      RW

   fsbl2                0000          0x00000002      0256 KB      RW

   ssbl                 0000          0x00000003      0002 MB      RW

   bootfs               0000          0x00000011      0064 MB      RW

   rootfs               0000          0x00000012      0768 MB      RW

   userfs               0000          0x00000013      3003 MB      RW

   virtual              0000          0x000000f1      0512 B       RW

   OTP                  0000          0x000000f2      0512 B       RW

   PMIC                 0000          0x000000f4      0008 B       RW

Start operation done successfully at partition 0x03


Memory Programming ...
Opening and parsing file: tf-a-stm32mp157c-ev1-trusted.stm32
  File          : tf-a-stm32mp157c-ev1-trusted.stm32
  Size          : 228536 Bytes
  Partition ID  : 0x01 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:00:00.096

RUNNING Program ... 
  PartID:      :0x01 
Start operation done successfully at partition 0x01


Memory Programming ...
Opening and parsing file: tf-a-stm32mp157c-ev1-trusted.stm32
  File          : tf-a-stm32mp157c-ev1-trusted.stm32
  Size          : 228536 Bytes
  Partition ID  : 0x02 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:00:00.110

RUNNING Program ... 
  PartID:      :0x02 
Start operation done successfully at partition 0x02


Memory Programming ...
Opening and parsing file: u-boot-stm32mp157c-ev1-trusted.stm32
  File          : u-boot-stm32mp157c-ev1-trusted.stm32
  Size          : 728904 Bytes
  Partition ID  : 0x03 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:00:00.307

RUNNING Program ... 
  PartID:      :0x03 
Start operation done successfully at partition 0x03


Memory Programming ...
Opening and parsing file: st-image-bootfs-openstlinux-weston-stm32mp1.ext4
  File          : st-image-bootfs-openstlinux-weston-stm32mp1.ext4
  Size          : 64 MBytes
  Partition ID  : 0x11 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:00:39.707

RUNNING Program ... 
  PartID:      :0x11 
Start operation done successfully at partition 0x11


Memory Programming ...
Opening and parsing file: st-image-weston-openstlinux-weston-stm32mp1.ext4
  File          : st-image-weston-openstlinux-weston-stm32mp1.ext4
  Size          : 507952 KBytes
  Partition ID  : 0x12 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:04:23.031

RUNNING Program ... 
  PartID:      :0x12 
Start operation done successfully at partition 0x12


Memory Programming ...
Opening and parsing file: st-image-userfs-openstlinux-weston-stm32mp1.ext4
  File          : st-image-userfs-openstlinux-weston-stm32mp1.ext4
  Size          : 64 MBytes
  Partition ID  : 0x13 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:00:34.205

RUNNING Program ... 
  PartID:      :0x13 
Start operation done successfully at partition 0x13
Flashing service completed successfully


Go see the STM32CubeProgrammer article:

  • to use another Flash device than the microSD card one
  • to know more about the flashing operation

7 Booting the board[edit]

Now that the image is flashed on the STM32MP157x-EV1 Evaluation board, let's finalize the system configuration:

  • Step 1: check the configuration of the switches and jumpers:
    • The boot related switches must be configured so that the device (e.g. microSD card ) on which the image has been flashed is selected as boot source.
    • The jumpers related to the UART4 of the STM32MP15 microprocessor device must be set so that UART4 is used by the ST-LINK/V2-1 controller (7)
The figure below shows the boot switches for the recommended boot from microSD card.
Boot from microSD card
  • Step 2: (optionally) connect a USB keyboard and/or a USB mouse (not provided) using the USB type-A ports (10 and 11).
  • Step 3: (optionally) connect an Ethernet cable (not provided) to the dedicated connector (13).


MB1262 motherboard MB1263 daughterboard: STM32MP157x 18x18  PMIC  DDR3 MB1230 DSI 720p display MB1379 daughterboard camera MicroSD card slot MB1263 power 5V-3A USB micro-B (ST-LINK/V2-1) → PC virtual COM port and debug Display leds Reset button 2 x USB type A (host) → E.g. mouse  keyboard  USB driver... 2 x USB type A (host) → E.g. mouse  Keyboard  USB driver... UART → PC console Ethernet → Network
STM32MP157x-EV1 Evaluation board connections
STM32MP157A-EV1 shown here (picture is not contractual)



  • Step 4: if the Flash device is a microSD card, check that it is inserted into the dedicated slot (5).
  • Step 5: connect the delivered power supply (5V, 3A) to the power connector (6) of the MB1263 daughterboard. Check that the display board (MB1230) is well connected. In this case, the 2 green LEDs (8) are switched on.
  • Step 6: (optionally) install and configure a remote Terminal program (e.g. Minicom on Ubuntu Linux PC or Tera Term on Windows PC) onto your host PC, and connect
    • either the ST-LINK/V2-1 USB micro-B port (7) to a host PC that runs a Terminal program with ST-LINK/V2-1 virtual port (recommended method)
    • or the RS232 UART4 connector (12) to the host PC that runs a Terminal program with COM1 port.
      • the ST-LINK/V2-1 USB micro-B port (7) and the RS232 UART4 connector (12) cannot be used simultaneously: see how to set the JP4 and JP5 jumpers to select one of the two configurations
  • Step 7: press the reset button (9) to reset the board

The board boots and the system will be available after few seconds.



8 Checking the boot sequence[edit]

Assuming you have performed the optional step 6 above, the information (coming successively from the U-Boot and the Linux operating system that is booting on the board), should be displayed on the host PC Terminal.

Info.png The information displayed below might differ from that on your own application, and should just be considered an example.
First information scrolled on the remote Terminal during boot
Last information scrolled on the remote Terminal during boot

In parallel, a U-Boot splash screen picture is displayed on the DSI display (if one is connected to the board).DSI U-Boot splash screen.png

A user space graphical boot splash screen (PSplash) picture is then briefly displayed on the HDMI monitor if one is connected to the board, or otherwise on the DSI display (if one is connected to the board).DSI user splash screen.png


When the boot process is complete, the launcher application is shown on the HDMI monitor if one is connected to the board, or otherwise on the DSI display (if one is connected to the board).

launcher application layer shown on the HDMI monitor or on the DSI display

More detail about this launcher application in GTK demo launcher page.

9 Mouse, keyboard and Ethernet hot-plugs[edit]

Let's assume that the optional step 2 and step 3 were not achieved when setting up the system above.

When connecting a USB mouse, the following information is displayed by the Terminal program:

[  926.786326] usb 2-1.1: new low-speed USB device number 3 using ehci-platform
[  926.961413] input: Logitech Optical USB Mouse as /devices/platform/soc/5800d000.usbh-ehci/usb2/2-1/2-1.1/2-1.1:1.0/0003:046D:C016.0001/input/input2
[  926.975098] hid-generic 0003:046D:C016.0001: input: USB HID v1.10 Mouse [Logitech Optical USB Mouse] on usb-5800d000.usbh-ehci-1.1/input0


When connecting a USB keyboard, the following information is displayed by the Terminal program:

[ 1009.026567] usb 2-1.3: new low-speed USB device number 4 using ehci-platform
[ 1009.193990] input: Dell Dell USB Keyboard as /devices/platform/soc/5800d000.usbh-ehci/usb2/2-1/2-1.3/2-1.3:1.0/0003:413C:2003.0002/input/input3
[ 1009.280101] hid-generic 0003:413C:2003.0002: input: USB HID v1.10 Keyboard [Dell Dell USB Keyboard] on usb-5800d000.usbh-ehci-1.3/input0


When connecting an Ethernet cable, the following information is displayed by the Terminal program:

[ 1215.356377] stm32-dwmac 5800a000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 1215.363377] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 1215.391068] Link is Up - 1000/Half

10 Remote and local Terminal programs[edit]

As already explained in the step 6 above, a remote Terminal program can be installed and configured on your host PC in order to communicate with the board through a serial link or an Ethernet link: see How to get Terminal.

The remote Terminal on your host PC can be used to enter command lines, as shown below with the ifconfig command to query the network interface parameters:

Example of command (ifconfig) executed on the remote Terminal program


A local Terminal program can be launched directly on the board. Click on the small icon at the top left corner of the display (see the red arrow on the figure below):

Icon to launch a local Terminal program
Wayland Terminal program


Then the on-board Wayland Terminal can be used to directly enter command lines as shown below, still with the ip addr command to query the network interface parameters:

Example of command (ip addr) executed on the Wayland Terminal program


Consequently, unless an explicit restriction is mentioned, command lines can be run from both Terminals.

Note: in this article, any command executed on the board (through the remote Terminal or the Wayland Terminal) starts with Board $>, while any command executed on the host PC starts with PC $>.

11 Executing basic commands[edit]

Info.png The outputs of the commands executed below are examples; the outputs obtained might differ.

11.1 Having a look at the OpenSTLinux directory structure[edit]

The directory structure and directory contents in the OpenSTLinux distribution is standard. Some details are available in the OpenSTLinux directory structure article.

11.2 Identifying the software running on board[edit]

Info.png Obviously, what you obtain might differ from what is displayed on the Output example column.
11.2.1 For ecosystem release v2.0.0 More info.png[edit]
Software How to get its version Output example
TF-A TF-A Version number

NOTICE: BL2: v2.2-r1.0(debug):v2.0-r3.0

U-Boot See the version displayed in the console

2020.01-stm32mp-r1 [...]

Linux kernel
Board $> cat /proc/version

Linux version 5.4.31 (xxxx@yyyy) (gcc version 9.3.0 (GCC)) [...]

GCC
Board $> cat /proc/version

Linux version 5.4.31 (xxxx@yyyy) (gcc version 9.3.0 (GCC)) [...]

Yocto Project
Board $> grep DISTRO_CODENAME /etc/build

DISTRO_CODENAME = dunfell

Weston
Board $> weston --version

weston 8.0.0

GStreamer
Board $> gst-play-1.0 --version

GStreamer 1.16.2

GPU
Board $> cat /sys/kernel/debug/gc/version

6.4.1.244507 built [...]

11.3 Configuration tips[edit]

11.4 Getting board IP address[edit]

Prerequisite: your board is connected to your local network through the Ethernet connector (see step 3).

Board $> ip addr show eth0                                                                           
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet xx.xx.xx.xx/xx brd xx.xx.xx.xx scope global dynamic eth0
       valid_lft 159045sec preferred_lft 159045sec
    inet6 xxxx::xx:xx:xx:xx/xx scope link 
       valid_lft forever preferred_lft forever
  • Get the IP address of your board with the ifconfig Linux command line (a deprecated but well-known command):
Board $> ifconfig eth0
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet addr:xx.xx.xx.xx  Bcast:xx.xx.xx.xx  Mask:255.255.252.0
          inet6 addr: xxxx::xx:xx:xx:xx/xx Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2619 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1311 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:353250 (344.9 KiB)  TX bytes:118305 (115.5 KiB)
          Interrupt:247

11.5 Copying a file from your host PC to your board (and reciprocally)[edit]

11.6 Miscellaneous commands[edit]

Info.png The outputs of the commands executed below are examples; the outputs that you obtain might differ.

11.6.1 Printing distribution specific information[edit]

Board $> cat /etc/os-release 

ID="openstlinux-weston" NAME="ST OpenSTLinux - Weston - (A Yocto Project Based Distro)" VERSION="3.1-openstlinux-20-06-10-internal (dunfell)" VERSION_ID="3.1-openstlinux-20-06-10-internal" PRETTY_NAME="ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 3.1-openstlinux-20-06-10-internal (dunfell)"

Where:

ID A lower-case string identifying the operating system
NAME A string identifying the operating system
VERSION A string identifying the operating system version, including a release code name
VERSION_ID A lower case string identifying the operating system version
PRETTY_NAME A full pretty name of the release

11.6.2 Printing system information[edit]

Board $> uname -a
Linux stm32mp1 5.4.31 #1 SMP PREEMPT Wed Apr 8 07:08:47 UTC 2020 armv7l armv7l armv7l GNU/Linux

Where:

Linux Kernel name
stm32mp1 Network node hostname
5.4.31 Kernel release
#1 SMP PREEMPT Wed Apr 8 07:08:47 UTC 2020 Kernel version
armv7l Machine hardware name
GNU/Linux Operating system

11.6.3 Printing Linux kernel and GCC versions[edit]

Board $> cat /proc/version
Linux version 5.4.31 (xxxx@yyyy) (gcc version 9.3.0 (GCC)) #1 SMP PREEMPT Wed Apr 8 07:08:47 UTC 2020

Where:

Linux Kernel name
version 5.4.31 Kernel release
(xxxx@yyyy) Person (xxxx) who compiled the kernel, and machine (yyyy) where it happened
(gcc version 9.3.0 (GCC) ) Version of the GCC compiler used to compile the kernel
#1 SMP PREEMPT Wed Apr 8 07:08:47 UTC 2020 Kernel version; type of kernel (SMP) and date and time of the kernel compilation

11.6.4 Printing the amount of disk space available on all mounted file systems[edit]

Board $> df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       719M  342M  339M  51% /
devtmpfs        372M     0  372M   0% /dev
tmpfs           436M     0  436M   0% /dev/shm
tmpfs           436M   14M  423M   4% /run
tmpfs           436M     0  436M   0% /sys/fs/cgroup
tmpfs           436M  4.0K  436M   1% /tmp
/dev/mmcblk0p4   58M  8.2M   46M  16% /boot
/dev/mmcblk0p7  6.4G   68M  6.1G   2% /usr/local
tmpfs           436M  128K  436M   1% /var/volatile
/dev/mmcblk0p5   15M  8.2M  5.3M  61% /vendor
tmpfs            88M     0   88M   0% /run/user/0

Where:

Filesystem Source of the mount point, usually a device
Size Total size in human readable format (e.g. 1K, 234M, 2G)
Used Used size in human readable format
Available Available size in human readable format
Use% Percentage of used size divided by the total size
Mounted on Mount point


Note: the user file system (userfs) and the boot file system (bootfs) are accessible respectively through the /usr/local mounting point, and the /boot mounting point (see Flash partitions for a description of the file systems).


12 Examples[edit]

Under construction.png The examples are under construction: few of them are proposed below; more examples will come with the next releases.

12.1 Examples running on Cortex-A7[edit]

The table below gathers links towards articles proposing examples of peripherals usage.

Link to the example
Playing an audio/video local file
Playing an audio/video stream
Displaying an image
Running a simple 3D example (GPU usage)
Displaying a fullscreen camera preview
Taking a picture

12.2 Examples running on Cortex-M4[edit]

Please read STM32CubeMP1 Package article.

13 Fast links to essential commands[edit]

If you are already familiar with the Starter Package for the STM32MPU Embedded Software distribution, fast links to the essential commands are listed below.

Info.png With the links below, you will be redirected to other articles; use the back button of your browser to come back to these fast links
Link to the command
Download and install the latest image
Set boot switches
Flash the image on the microSD card
Start a remote Terminal with Minicom
Get the board IP address
Start a remote Terminal over Ethernet
Copy a file from the host PC to the board over Ethernet

14 How to go further?[edit]

Now that the image is flashed on the STM32MP15 Evaluation board, you might want to switch to the STM32MP1 Developer Package, in order to modify or tune the STM32MPU Embedded Software distribution with your own developments.

<noinclude>

{{ArticleMainWriter | DenisH}}
{{ReviewersList | NathalieS, BernardP, Jean-ChristopheT}}  
{{ArticleApprovedVersion | DenisH | Jean-ChristopheT(Passed, 28Nov'18) | Jean-ChristopheT - 21Sep'18 | BrunoB - 20Sep'18 - 8425 | 05Dec'18}}

[[Category:STM32MP15 Evaluation boards|01]]
[[Category:Starter Package]]

{{UpdateNeededForNewRelease|
* Copy this article in a new article "STM32MP15 Evaluation boards - Starter Package - <name of the old release>" (example: "STM32MP15 Evaluation boards - Starter Package - Alpha2")
* Make the following modifications in this new article:
** Add it to the "Category:ST internal" category
** Change the transclusion {{:STM32CubeProgrammer}} by a link to "STM32CubeProgrammer release note#STM32CubeProgrammer - <name of the old version>"
** Change the transclusion {{:STM32MP1 Starter Package - images}} by a link to "STM32MP1 Starter Package - images#<name of the old release>"
** Remove all {{ReviewsComments}} and {{UpdateNeededForNewRelease}}
** Change the links to the Developer Package (new link is "STM32MP1 Developer Package - <name of the old release>"
** Change some links in the "Fast links to essential commands" chapter
* In this article, make the modifications indicated by {{UpdateNeededForNewRelease}}
}}</noinclude>


{{InternalInfo|
{{Warning|Please read carefully and pay attention to the following points:}}
* This article concerns the {{Highlight|'''Beta1'''}} release that is being prepared.
* Meanwhile, please use the Starter Package article for the {{Highlight|'''Alpha2'''}} release: [[STM32MP15 Evaluation boards - Starter Package - Alpha2]].
* Once the Beta1 release will be officially announced, you will be able to use this article.
}}

This article shows how to start up a '''STM32MP15 Evaluation board''' (high-end development platform for the STM32MP15 microprocessor devices).

It lists the required material, points to the board features description, and gives the step-by-step process to set up the system. 

Finally, it proposes to run some basic use cases and to discover some of the board capabilities.

==Starter Package content==
If you are not yet familiar with the '''STM32MPU Embedded Software''' distribution and its '''Packages''', please read the following articles:
* [[Which Package better suits your needs]] (and especially the [[Which Package better suits your needs#Starter Package|Starter Package]] chapter)
* [[STM32MPU Embedded Software distribution]]

If you are already familiar with the Starter Package for the STM32MPU Embedded Software distribution, [[#Fast links to essential commands|the fast links to essential commands]] might interest you.

To sum up, this '''Starter Package''' provides:
*the software '''image''' for the STM32MPU Embedded Software distribution, which includes:
**the binaries for the OpenSTLinux distribution
**one or more firmware example(s) for the STM32Cube MPU Package
*the '''tool''' (STM32CubeProgrammer) to install this image on the STM32MP15 Evaluation board

[[File: STM32_MPU_Embedded_Software_Starter_Package.png|thumb|upright=2|center|link=|Components of the Starter Package]]

==Starter Package step-by-step overview==
{{highlight|'''The following steps are required to get the STM32MP15 Evaluation board up and running:'''}} <br>
<span style="font-size:21px"></span> [[#Checking the material|Checking the material]] <br>
<span style="font-size:21px"></span> [[#Assembling the board|Assembling the board]] <br>
<span style="font-size:21px"></span> [[#Installing the tools|Installing the tools]] <br>
<span style="font-size:21px"></span> [[#Downloading the image and flashing it on the board|Downloading the image and flashing it on the board]] <br>
<span style="font-size:21px"></span> [[#Booting the board|Booting the board]] <br>


Once these steps are achieved, you are able to:
* [[#Checking the boot sequence|check the boot sequence]]
* [[#Executing basic commands|execute basic commands]]
* [[#Examples|run basic use cases]]
* discover on your own the capabilities of the STM32MP15 Evaluation board

==Checking the material==
{{:STM32MP15 Evaluation boards - required material}}

The following figure shows the material not included in STM32MP15 Evaluation board package, that is used in this Starter Package.
[[File: STM32MP157C-EV1_recommended_material.png|thumb|400px|center|link=|Recommended material for this Starter Package]]

==Assembling the board==
{{:STM32MP157C-EV1 - board assembly}}

==Installing the tools==
{{:STM32CubeProgrammer}}
==Downloading the image and flashing it on the board==
===Image download===
{{:STM32MP1 Starter Package - images}}

===Image flashing===
The STM32CubeProgrammer tool is used to flash the STM32MP15 Evaluation board with the downloaded image.

Several Flash devices (microSD, eMMC...) are available on this board: see the [[STM32MP15 Flash mapping]] article if you want to know more about the supported Flash memory technologies, and the Flash partitions. The steps below consider the '''microSD card''' as the Flash device.

As explained in the [[Boot chains overview|boot chains overview]], the trusted boot chain is the default solution delivered by STMicroelectronics. Thus, the steps below use the image for the '''trusted boot chain'''.

Let's flash the downloaded image on the microSD card:
* Remove the jumper JP1 ('''1''')
* Set the boot switches ('''2''') to the off position
* Connect the USB micro-AB (OTG) port ('''3''') to the host PC that contains the downloaded image
* Insert the delivered microSD card into the dedicated slot ('''4''')
* Connect the delivered power supply to the power connector ('''5''') of the MB1263 daughterboard
* Press the reset button ('''6''') to reset the board

[[File: STM32MP157C-EV1_flashing_configuration.png|thumb|upright=4|center|link=|Evaluation board connections for flashing <br> Board name: '''STM32MP157C-EV1''']]

{{UpdateNeededForNewRelease|Change the name of the "openstlinux[...]" directory" (several times)}}
* Go to the Starter Package directory that contains the binaries and the Flash layout files
 {{PC$}} cd <Starter Package installation directory>/stm32mp1-boards-revb-openstlinux-4.14-rocko-mp1-18-11-26/images/stm32mp1-boards-revb
 OR
 {{PC$}} cd <Starter Package installation directory>/stm32mp1-boards-revc-openstlinux-4.14-rocko-mp1-18-11-26/images/stm32mp1-boards-revc

 If you have followed the [[Example of directory structure for Packages|the proposition to organize the working directory]], the command is
 {{PC$}} cd Starter-Package/stm32mp1-boards-revb-openstlinux-4.14-rocko-mp1-18-11-26/images/stm32mp1-boards-revb
 OR
 {{PC$}} cd Starter-Package/stm32mp1-boards-revc-openstlinux-4.14-rocko-mp1-18-11-26/images/stm32mp1-boards-revc

{{Info|The commands below are for a Linux host PC; however, they are similar for a Windows host PC except that ''STM32_Programmer_CLI'' is replaced by ''STM32_Programmer_CLI.exe''.}}

* Check that the STM32CubeProgrammer tool is installed and accessible; if not, go to the installation procedure ([[#Installing the tools|installing the tools]])
 {{PC$}} STM32_Programmer_CLI --h
       -------------------------------------------------------------------
                         STM32CubeProgrammer <tool version>                  

       -------------------------------------------------------------------

* Get the device port location for the USB link
 {{PC$}} STM32_Programmer_CLI -l usb
       -------------------------------------------------------------------
                         STM32CubeProgrammer <tool version>                  

       -------------------------------------------------------------------

 Total number of available STM32 device in DFU mode: 1

   Device Index           : {{highlight|USB1}}
   USB Bus Number         : 002
   USB Address Number     : 002
   Product ID             : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000
   Serial number          : 000000000000
   Firmware version       : 0x011a
   Device ID              : 0x0500

* Flash the <span id="Flash microSD card">microSD card</span> with the image for the trusted boot chain {{UpdateNeededForNewRelease|Check the name of the flashlayout file}}
 {{PC$}} STM32_Programmer_CLI -c port=usb1 -w flashlayout_st-image-weston/FlashLayout_sdcard_stm32mp157c-ev1-trusted.tsv

:This operation takes several minutes (mainly depending of the rootfs size). A successful flashing outputs the following log:
{{Info|Please note that the logs that you will obtain, might be slightly different, especially if you use a different software release.}}<pre>

      -------------------------------------------------------------------
                        STM32CubeProgrammer <tool version>                  

      -------------------------------------------------------------------


USB speed              : High Speed (480MBit/s)
Manufacturer ID        : STMicroelectronics
Product ID             : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000
Serial number          : 000000000000
Firmware version       : 0x011a
Device ID              : 0x0500

   AREA NAME          SECT.NBR        PARTITION.ID    SIZE         TYPE

   Partition0           0000          0x00000000      0256 KB      RW

   SECBL                0000          0x00000001      0001 MB      RW

   Partition2           0000          0x00000002      0001 MB      RW

   Partition3           0000          0x00000003      0256 KB      RW

   Partition4           0000          0x00000004      0016 MB      RW

   virtual              0000          0x000000f1      0512 B       R

Device name : STM32MPxxx
Device type : MPU
Device CPU  : Cortex-A7

Start Embedded Flashing service


Memory Programming ...
Opening and parsing file: tf-a-stm32mp157c-ev1-trusted.stm32
  File          : tf-a-stm32mp157c-ev1-trusted.stm32
  Size          : 228536 Bytes
  Partition ID  : 0x01 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:00:00.557

RUNNING Program ... 
  PartID:      :0x01 
Start operation done successfully at partition 0x01

Flashlayout Programming ...
[==================================================] 100% 
Running Flashlayout Partition ...
Flashlayout partition started successfully

Memory Programming ...
Opening and parsing file: u-boot-stm32mp157c-ev1-trusted.stm32
  File          : u-boot-stm32mp157c-ev1-trusted.stm32
  Size          : 728904 Bytes
  Partition ID  : 0x03 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:00:00.672

RUNNING Program ... 
  PartID:      :0x03 

reconnecting the device ...

USB speed              : High Speed (480MBit/s)
Manufacturer ID        : STMicroelectronics
Product ID             : USB download gadget@Device ID /0x500, @Revision ID /0x0000
Serial number          : 0000000000
Firmware version       : 0x0110
Device ID              : 0x0500

   AREA NAME          SECT.NBR        PARTITION.ID    SIZE         TYPE

   fsbl1                0000          0x00000001      0256 KB      RW

   fsbl2                0000          0x00000002      0256 KB      RW

   ssbl                 0000          0x00000003      0002 MB      RW

   bootfs               0000          0x00000011      0064 MB      RW

   rootfs               0000          0x00000012      0768 MB      RW

   userfs               0000          0x00000013      3003 MB      RW

   virtual              0000          0x000000f1      0512 B       RW

   OTP                  0000          0x000000f2      0512 B       RW

   PMIC                 0000          0x000000f4      0008 B       RW

Start operation done successfully at partition 0x03

Memory Programming ...
Opening and parsing file: tf-a-stm32mp157c-ev1-trusted.stm32
  File          : tf-a-stm32mp157c-ev1-trusted.stm32
  Size          : 228536 Bytes
  Partition ID  : 0x01 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:00:00.096

RUNNING Program ... 
  PartID:      :0x01 
Start operation done successfully at partition 0x01

Memory Programming ...
Opening and parsing file: tf-a-stm32mp157c-ev1-trusted.stm32
  File          : tf-a-stm32mp157c-ev1-trusted.stm32
  Size          : 228536 Bytes
  Partition ID  : 0x02 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:00:00.110

RUNNING Program ... 
  PartID:      :0x02 
Start operation done successfully at partition 0x02

Memory Programming ...
Opening and parsing file: u-boot-stm32mp157c-ev1-trusted.stm32
  File          : u-boot-stm32mp157c-ev1-trusted.stm32
  Size          : 728904 Bytes
  Partition ID  : 0x03 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:00:00.307

RUNNING Program ... 
  PartID:      :0x03 
Start operation done successfully at partition 0x03

Memory Programming ...
Opening and parsing file: st-image-bootfs-openstlinux-weston-stm32mp1.ext4
  File          : st-image-bootfs-openstlinux-weston-stm32mp1.ext4
  Size          : 64 MBytes
  Partition ID  : 0x11 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:00:39.707

RUNNING Program ... 
  PartID:      :0x11 
Start operation done successfully at partition 0x11

Memory Programming ...
Opening and parsing file: st-image-weston-openstlinux-weston-stm32mp1.ext4
  File          : st-image-weston-openstlinux-weston-stm32mp1.ext4
  Size          : 507952 KBytes
  Partition ID  : 0x12 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:04:23.031

RUNNING Program ... 
  PartID:      :0x12 
Start operation done successfully at partition 0x12

Memory Programming ...
Opening and parsing file: st-image-userfs-openstlinux-weston-stm32mp1.ext4
  File          : st-image-userfs-openstlinux-weston-stm32mp1.ext4
  Size          : 64 MBytes
  Partition ID  : 0x13 

Download in Progress:
[==================================================] 100% 

File download complete
Time elapsed during the download operation is: 00:00:34.205

RUNNING Program ... 
  PartID:      :0x13 
Start operation done successfully at partition 0x13
Flashing service completed successfully</pre>


Go see the [[STM32CubeProgrammer]] article:
* to use another Flash device than the microSD card one
* to know more about the flashing operation

==Booting the board==
{{:STM32MP15 Evaluation boards - starting for the first time}}

{{:Subpart - STM32MP15 - Starter Package}}

==Examples==
{{UnderConstruction|The examples are under construction: few of them are proposed below; more examples will come with the next releases.
}}{{UpdateNeededForNewRelease|Complete the tables below if new examples are delivered}}

=== Examples running on Cortex-A7===
The table below gathers links towards articles proposing examples of peripherals usage.
{|
|+ 
! Link to the example
|-
| [[Gst-play#Basic audio/video playback|Playing an audio/video local file]]
|-
| [[Gst-play#http streaming|Playing an audio/video stream]]
|-
| [[Wayland / Weston overview#Display some images|Displaying an image]]
|-
| [[Wayland / Weston overview#OpenGLES application|Running a simple 3D example (GPU usage)]]
|-
| [[V4L2 camera overview#Fullscreen preview|Displaying a fullscreen camera preview]]
|-
| [[V4L2 camera overview#Take a picture|Taking a picture]]
|-
|}

=== Examples running on Cortex-M4===
Please read [[STM32CubeMP1 Package#Starter Package for STM32CubeMP1|STM32CubeMP1 Package]] article.

== Fast links to essential commands==
If you are already familiar with the Starter Package for the STM32MPU Embedded Software distribution, fast links to the essential commands are listed below.
{{Info|With the links below, you will be redirected to other articles; use the ''back'' button of your browser to come back to these fast links}}
{| class="wikitable"
! Link to the command
|-
| [[STM32MP1 Starter Package - images#Download|Download and install the latest image]]
|-
| [[STM32MP157C-EV1 - hardware description#Boot related switches|Set boot switches]]
|-
| [[#Flash microSD card|Flash the image on the microSD card]]
|-
| [[How to get Terminal#Remote Terminal|Start a remote Terminal with Minicom]]
|-
| [[#Getting board IP address|Get the board IP address]]
|-
| [[How to get Terminal#Remote Terminal over network|Start a remote Terminal over Ethernet]]
|-
| [[How to transfer a file over network#Copy a file over network|Copy a file from the host PC to the board over Ethernet]]
|}

==How to go further?==
Now that the image is flashed on the STM32MP15 Evaluation board, you might want to switch to the [[STM32MP1 Developer Package]], in order to modify or tune the STM32MPU Embedded Software distribution with your own developments.
Line 375: Line 375:
 
| [[Gst-play#http streaming|Playing an audio/video stream]]
 
| [[Gst-play#http streaming|Playing an audio/video stream]]
 
|-
 
|-
| [[Wayland / Weston overview#Display some images|Displaying an image]]
+
| [[Wayland Weston overview#Display some images|Displaying an image]]
 
|-
 
|-
| [[Wayland / Weston overview#OpenGLES application|Running a simple 3D example (GPU usage)]]
+
| [[Wayland Weston overview#OpenGLES application|Running a simple 3D example (GPU usage)]]
 
|-
 
|-
 
| [[V4L2 camera overview#Fullscreen preview|Displaying a fullscreen camera preview]]
 
| [[V4L2 camera overview#Fullscreen preview|Displaying a fullscreen camera preview]]