Difference between revisions of "STM32MP15 Discovery kits - Starter Package"
[quality revision] | [quality revision] |
Denis Humeau (talk | contribs)
(→Checking the material)
|
m
|
Template:ArticleMainWriter Template:ReviewersList Template:ArticleApprovedVersion
This article shows how to start up a STM32MP15 STM32MP157x-DKx Discovery kit (flexible and complete development platform for the STM32MP15 microprocessor devices). It is valid both for the STM32MP157A-DK1 and STM32MP157C-DK2 Discovery kits: the part numbers are specified in the STM32MP15 microprocessor part numbers article.
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.
Contents
- 1 Starter Package content
- 2 Starter Package step-by-step overview
- 3 Checking the material
- 4 Assembling the board
-
5 Installing the tools
- 4
- 5
-
6 Downloading the image and flashing it on the board
- 5
- 6
- 7 Booting the board
- 7 8 Checking the boot sequence
- 8 9 Mouse, keyboard and Ethernet hot-plugs
- 9 10 Remote and local Terminal programs
- 10 11 Executing basic commands 11
-
12 Examples
- 11
- 12
- 13 Fast links to essential commands13
- 14 How to go further?
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:
- Which Package better suits your needs (and especially the Starter Package chapter)
- STM32MPU Embedded Software distribution
If you are already familiar with the Starter Package for the STM32MPU Embedded Software distribution, the fast links to essential commands might be of interest.
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 (STM32CubeProgrammer) tool to install this image on the STM32MP15 STM32MP157x-DKx Discovery kit
2 Starter Package step-by-step overview[edit]
The steps to get the STM32MP15 STM32MP157x-DKx Discovery kit up and running, are:
☐ 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:
- check the boot sequence
- execute basic commands
- run basic use cases
- discover on your own the capabilities of the STM32MP15 STM32MP157x-DKx Discovery kit
3 Checking the material[edit]

Mandatory
PC | Linux or Windows operating systems. See PC prerequisites for more details on the required configurations. |
STM32MP157x-DKx Discovery kit | Flexible and complete development platform for the STM32MP15 microprocessor device including: |
Power supply | Including:
|
MicroSD card | Populated with OpenSTLinux distribution (Linux software), and providing extra storage capacity. A 2-Gbyte minimum microSD card is needed. |
USB micro-B cable | In order to connect the STM32MP157x-DKx Discovery kit to the PC through the USB micro-B (ST-LINK/V2-1) connector |
USB Type-C™ cable | In order to connect the STM32MP157x-DKx Discovery kit to an USB OTG device through the USB Type-C™ connector |
Optional
USB keyboard and mouse | Thanks to the USB type A connectors, the STM32MP157x-DKx Discovery kit can be equipped with a full-size keyboard and mouse |
Ethernet cable | In order to connect the STM32MP157x-DKx Discovery kit to a network through the RJ45 connector |
HDMI cable | In order to connect the STM32MP157x-DKx Discovery kit to an HDMI monitor (or TV) through the HDMI connector |
Optional, more devices and extension boards might be plugged to the STM32MP157x-DKx Discovery kit thanks to expansion connectors such as:
- the GPIO expansion connector
- the Arduino Uno connector
- ...
The following figure shows the optional material (not included in STM32MP15 STM32MP157x-DKx Discovery kit package), that is used with this Starter Package.
4 Assembling the board[edit]
The STM32MP157x-DKx Discovery kits packages (STM32MP157A-DK1 , STM32MP157D-DK1
, STM32MP157C-DK2
and STM32MP157F-DK2
) are delivered assembled, and contain the items listed below. A USB Type-C™ cable is also included.
Please note that;
-
the STM32MP157A-DK1
and STM32MP157D-DK1
Discovery kits neither include the "WLAN + Bluetooth" component (muRata LBEE5KL1DX), nor the MB1407 daughterboard DSI display
-
the STM32MP157C-DK2
and STM32MP157F-DK2
Discovery kits include the "WLAN + Bluetooth" component (muRata LBEE5KL1DX), and the MB1407 daughterboard DSI display
Position | Description |
---|---|
1 |
MB1272 motherboard ("WLAN + Bluetooth" component included only for the STM32MP157C-DK2 ![]() ![]() |
2 |
MB1407 daughterboard DSI display (480x800 pixels): only for the STM32MP157C-DK2 ![]() ![]() |
3 | microSD card |
5 Installing the tools[edit]
45.1 Installing the STM32CubeProgrammer tool[edit]
STM32CubeProgrammer for Linux® host PC | STM32CubeProgrammer for Windows® host PC | |
---|---|---|
Download |
Version 2.7.0
|
|
Installation |
$> ./SetupSTM32CubeProgrammer-2.7.0.linux
$> export PATH=<my STM32CubeProgrammer install directory>/bin:$PATH
$> ln -s <my STM32CubeProgrammer install directory>/bin/STM32_Programmer_CLI /home/bin/STM32_Programmer_CLI |
|
User manual |
|
|
Detailed release note |
|
45.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:
sudo apt-get install libusb-1.0-0
To allow STM32CubeProgrammer to access the USB port through low-level commands, proceed as follows:
cd <your STM32CubeProgrammer install directory>/Drivers/rules
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.
5 6 Downloading the image and flashing it on the board[edit]
56.1 Image download[edit]
![]() |
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-11-12.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.
![]() |
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.1.0 release | |
---|---|
Download |
You need to be logged on to my.st.com before accessing the following link: |
Installation |
$ cd <working directory path>/Starter-Package
$ tar xvf en.FLASH-stm32mp1-openstlinux-5-4-dunfell-mp1-20-11-12.tar.xz |
Release note |
Details of the content of this software package are available in the associated STM32MP15 ecosystem release note. |
- The binaries and the Flash layout files are in the <Starter Package installation directory>/stm32mp1-openstlinux-5-4-dunfell-mp1-20-11-12/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
56.2 Image flashing[edit]
The STM32CubeProgrammer tool is used to flash the STM32MP15 STM32MP157x-DKx Discovery kit with the downloaded image.
The microSD card, provided in the box, is used as the Flash device: see the STM32MP15 Flash mapping article if you want to know more about the supported Flash memory technologies, and the Flash partitions.
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:
- Set the boot switches (1) to the off position
- Connect the USB Type-C™ (OTG) port (2) to the host PC that contains the downloaded image
- Insert the delivered microSD card into the dedicated slot (3)
- Connect the delivered power supply to the USB Type-C™ port (4)
- Press the reset button (5) to reset the board
- Go to the Starter Package directory that contains the binaries and the Flash layout files
cd <Starter Package installation directory>/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/images/stm32mp1
If you have followed the the proposition to organize the working directory, the command is cd Starter-Package/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/images/stm32mp1
![]() |
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)
STM32_Programmer_CLI --h ------------------------------------------------------------------- STM32CubeProgrammer <tool version> -------------------------------------------------------------------
- Get the device port location for the USB link
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
STM32_Programmer_CLI -c port=usb1 -w flashlayout_st-image-weston/FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv
- This operation takes several minutes (mainly depending of the rootfs size). A successful flashing outputs the following log:
![]() |
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-dk2-trusted.stm32 File : tf-a-stm32mp157c-dk2-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.561 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-dk2-trusted.stm32 File : u-boot-stm32mp157c-dk2-trusted.stm32 Size : 722945 Bytes Partition ID : 0x03 Download in Progress: [==================================================] 100% File download complete Time elapsed during the download operation is: 00:00:00.665 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 6846 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-dk2-trusted.stm32 File : tf-a-stm32mp157c-dk2-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.097 RUNNING Program ... PartID: :0x01 Start operation done successfully at partition 0x01 Memory Programming ... Opening and parsing file: tf-a-stm32mp157c-dk2-trusted.stm32 File : tf-a-stm32mp157c-dk2-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.107 RUNNING Program ... PartID: :0x02 Start operation done successfully at partition 0x02 Memory Programming ... Opening and parsing file: u-boot-stm32mp157c-dk2-trusted.stm32 File : u-boot-stm32mp157c-dk2-trusted.stm32 Size : 722945 Bytes Partition ID : 0x03 Download in Progress: [==================================================] 100% File download complete Time elapsed during the download operation is: 00:00:00.326 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:32.392 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:06.544 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:32.095 RUNNING Program ... PartID: :0x13 Start operation done successfully at partition 0x13 Flashing service completed successfully
Go to the STM32CubeProgrammer article:
- to know more about the flashing operation
6 7 Booting the board[edit]
Now that the image is flashed on the STM32MP157x-DKx Discovery kit, let's finalize the system configuration:
-
Step 1: check the configuration of the switches
- The figure below shows the position of the boot switches in order to boot from the microSD card.
- Step 2: (optional) connect a USB keyboard and/or a USB mouse (not provided) using the USB type A ports (3 and 4)
- Step 3: (optional) connect an Ethernet cable (not provided) to the dedicated connector (7)
- Step 4: check that the microSD card is inserted into the dedicated slot (2)
- Step 5: connect the provided power supply (5 V, 3 A) to the USB type C connector (8)
-
Step 6: (optional) connect the ST-LINK/V2-1 USB micro-B port (5) to a host PC that runs a Terminal program with ST-LINK/V2-1 virtual port (e.g. Minicom on Ubuntu Linux PC or Tera Term on Windows PC)
- install and configure a remote Terminal program onto your host PC
-
Step 7: (optional) connect a HDMI monitor (or TV) to the HDMI connector. This option is particularly useful for the STM32MP157A-DK1
and STM32MP157D-DK1
Discovery kits that do not include any DSI display daughterboard
- Step 8: press the reset button (6) to reset the board
The board boots and the system will be available after few seconds.
7 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.
![]() |
The information displayed below might differ from that on your own application, and should just be considered an example. |
In parallel, a U-Boot splash screen picture is displayed on the DSI display (if one is connected to the board).
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).
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).
More detail about this launcher application in GTK demo launcher page.
8 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
9 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:
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):
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:
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 , while any command executed on the host PC starts with .
10 11 Executing basic commands[edit]
![]() |
The outputs of the commands executed below are examples; the outputs obtained might differ. |
1011.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.
1011.2 Identifying the software running on board[edit]
![]() |
Obviously, what you obtain might differ from what is displayed on the Output example column. |
1011.2.1 For ecosystem release v2.1.0
[edit]
Software | How to get its version | Output example |
---|---|---|
TF-A | TF-A Version number |
NOTICE: BL2: v2.2-r2.0(debug):v2.2-dirty |
U-Boot | See the version displayed in the console |
2020.01-stm32mp-r2 [...] |
Linux kernel |
cat /proc/version |
Linux version 5.4.56 (xxxx@yyyy) (gcc version 9.3.0 (GCC)) [...] |
GCC |
cat /proc/version |
Linux version 5.4.56 (xxxx@yyyy) (gcc version 9.3.0 (GCC)) [...] |
Yocto Project |
grep DISTRO_CODENAME /etc/build |
DISTRO_CODENAME = dunfell |
Weston |
weston --version |
weston 8.0.0 |
GStreamer |
gst-play-1.0 --version |
GStreamer 1.16.2 |
GPU |
cat /sys/kernel/debug/gc/version |
6.4.3.279124 built [...] |
1011.2.2 For ecosystem release v2.0.0
[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 |
cat /proc/version |
Linux version 5.4.31 (xxxx@yyyy) (gcc version 9.3.0 (GCC)) [...] |
GCC |
cat /proc/version |
Linux version 5.4.31 (xxxx@yyyy) (gcc version 9.3.0 (GCC)) [...] |
Yocto Project |
grep DISTRO_CODENAME /etc/build |
DISTRO_CODENAME = dunfell |
Weston |
weston --version |
weston 8.0.0 |
GStreamer |
gst-play-1.0 --version |
GStreamer 1.16.2 |
GPU |
cat /sys/kernel/debug/gc/version |
6.4.1.244507 built [...] |
1011.3 Configuration tips[edit]
1011.4 Getting board IP address[edit]
Prerequisite: your board is connected to your local network through the Ethernet connector (see step 3).
- Get the IP address of your board with the ip Linux command line (recommended method):
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):
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
1011.5 Copying a file from your host PC to your board (and reciprocally)[edit]
- How to transfer a file over network (recommended method)
1011.6 Miscellaneous commands[edit]
![]() |
The outputs of the commands executed below are examples; the outputs that you obtain might differ. |
1011.6.1 Printing distribution specific information[edit]
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 |
1011.6.2 Printing system information[edit]
uname -a Linux stm32mp1 5.4.56 #1 SMP PREEMPT Wed Aug 5 07:59:52 UTC 2020 armv7l armv7l armv7l GNU/Linux
Where:
Linux | Kernel name |
stm32mp1 | Network node hostname |
5.4.56 | Kernel release |
#1 SMP PREEMPT Wed Aug 5 07:59:52 UTC 2020 | Kernel version |
armv7l | Machine hardware name |
GNU/Linux | Operating system |
1011.6.3 Printing Linux kernel and GCC versions[edit]
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 |
1011.6.4 Printing the amount of disk space available on all mounted file systems[edit]
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).
11 12 Examples[edit]
![]() |
The examples are under construction: few of them are proposed below; more examples will come with the next releases. |
1112.1 Examples running on Cortex-A7[edit]
The table below gathers links towards articles proposing examples of peripherals usage.
1112.2 Examples running on Cortex-M4[edit]
Please read STM32CubeMP1 Package article.
12 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.
![]() |
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 |
13 14 How to go further?[edit]
Now that the image is flashed on the STM32MP15 STM32MP157x-DKx Discovery kit, 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 - 19Sep'18 | BrunoB - 13Sep'18 - 8424 | 05Dec'18}} {{ReviewsComments|CPR 1908: The ip address declared on section 10, 11.4, are not correct for de development board it must better to have address like 192.168.1.1/24 instead of 10.xx.xx.xx/22 which are specific to ST network. }} [[Category:STM32MP15 Discovery kits|01]] [[Category:Starter Package]] {{UpdateNeededForNewRelease| * Copy this article in a new article "STM32MP15 Discovery kits - Starter Package - <name of the old release>" (example: "STM32MP15 Discovery kits - Starter Package - v1.0.0") * 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> This article shows how to start up a '''STM32MP15STM32MP157x-DKx Discovery kit''' (flexible and complete development platform for the STM32MP15 microprocessor devices). It is valid both for the STM32MP157A-DK1 and STM32MP157C-DK2 Discovery kits: the part numbers are specified in the [[STM32MP15 microprocessor#Part number codification|STM32MP15 microprocessor part numbers]] article. 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 be of interest. 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 (STM32CubeProgrammer) '''tool''' to install this image on the STM32MP15STM32MP157x-DKx Discovery kit [[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 steps to get the STM32MP15STM32MP157x-DKx Discovery kit up and running, are:'''}} <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 STM32MP15STM32MP157x-DKx Discovery kit ==Checking the material== [[File:STM32MP157C-DK2 angle2.jpg|thumb|400px|center]] {{:STM32MP15 Discovery kits - required material}} The following figure shows the optional material (not included in STM32MP15STM32MP157x-DKx Discovery kit package), that is used with this Starter Package. [[File: STM32MP157X-DKXSTM32MP157x-DKx_recommended_material.png|thumb|400px|center|link=|Recommended material for this Starter Package]] ==Assembling the board== {{:STM32MP157x-DKx - 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 STM32MP15STM32MP157x-DKx Discovery kit with the downloaded image. The '''microSD card''', provided in the box, is used as the Flash device: see the [[STM32MP15 Flash mapping]] article if you want to know more about the supported Flash memory technologies, and the Flash partitions. 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: * Set the boot switches ('''1''') to the off position * Connect the USB Type-C<sup>™</sup> (OTG) port ('''2''') to the host PC that contains the downloaded image * Insert the delivered microSD card into the dedicated slot ('''3''') * Connect the delivered power supply to the USB Type-C<sup>™</sup> port ('''4''') * Press the reset button ('''5''') to reset the board [[File: STM32MP157X-DKXSTM32MP157x-DKx_flashing_configuration.png|thumb|upright=4|center|link=|Discovery kit connections for flashing <br> Board name: '''STM32MP157X-DKX''''''STM32MP157C-DK2''' shown here (picture is not contractual)]] {{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-openstlinux-4.19-thud-mp1-19-02-20/images/stm32mp1 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-openstlinux-4.19-thud-mp1-19-02-20/images/stm32mp1 {{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 : 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-dk2-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-dk2-trusted.stm32 File : tf-a-stm32mp157c-dk2-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.561 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-dk2-trusted.stm32 File : u-boot-stm32mp157c-dk2-trusted.stm32 Size : 722945 Bytes Partition ID : 0x03 Download in Progress: [==================================================] 100% File download complete Time elapsed during the download operation is: 00:00:00.665 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 6846 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-dk2-trusted.stm32 File : tf-a-stm32mp157c-dk2-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.097 RUNNING Program ... PartID: :0x01 Start operation done successfully at partition 0x01 Memory Programming ... Opening and parsing file: tf-a-stm32mp157c-dk2-trusted.stm32 File : tf-a-stm32mp157c-dk2-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.107 RUNNING Program ... PartID: :0x02 Start operation done successfully at partition 0x02 Memory Programming ... Opening and parsing file: u-boot-stm32mp157c-dk2-trusted.stm32 File : u-boot-stm32mp157c-dk2-trusted.stm32 Size : 722945 Bytes Partition ID : 0x03 Download in Progress: [==================================================] 100% File download complete Time elapsed during the download operation is: 00:00:00.326 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:32.392 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:06.544 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:32.095 RUNNING Program ... PartID: :0x13 Start operation done successfully at partition 0x13 Flashing service completed successfully</pre> Go to the [[STM32CubeProgrammer]] article: * to know more about the flashing operation ==Booting the board== {{:STM32MP15 Discovery kits - 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)]] |- | [[How to setup wifi connection|Setting up a wifi connection]] |- | [[How to set up a Bluetooth connection|Setting up a Bluetooth connection]] |- | [[How to display on HDMI|Displaying on the HDMI monitor (or TV)]] |} === 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]] |- | [[STM32MP157X-DKX - 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 STM32MP15STM32MP157x-DKx Discovery kit, 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 1: | Line 1: | ||
<noinclude> |
<noinclude> |
||
− | |||
− | |||
{{ArticleApprovedVersion | DenisH | Jean-ChristopheT(Passed, 28Nov'18) | Jean-ChristopheT - 19Sep'18 | BrunoB - 13Sep'18 - 8424 | 05Dec'18}} |
{{ArticleApprovedVersion | DenisH | Jean-ChristopheT(Passed, 28Nov'18) | Jean-ChristopheT - 19Sep'18 | BrunoB - 13Sep'18 - 8424 | 05Dec'18}} |
||
− | |||
{{ReviewsComments|CPR 1908: The ip address declared on section 10, 11.4, are not correct for de development board it must better to have address like 192.168.1.1/24 instead of 10.xx.xx.xx/22 which are specific to ST network. }} |
{{ReviewsComments|CPR 1908: The ip address declared on section 10, 11.4, are not correct for de development board it must better to have address like 192.168.1.1/24 instead of 10.xx.xx.xx/22 which are specific to ST network. }} |
||
− | |||
[[Category:STM32MP15 Discovery kits|01]] |
[[Category:STM32MP15 Discovery kits|01]] |
||
[[Category:Starter Package]] |
[[Category:Starter Package]] |
||
− | |||
{{UpdateNeededForNewRelease| |
{{UpdateNeededForNewRelease| |
||
* Copy this article in a new article "STM32MP15 Discovery kits - Starter Package - <name of the old release>" (example: "STM32MP15 Discovery kits - Starter Package - v1.0.0") |
* Copy this article in a new article "STM32MP15 Discovery kits - Starter Package - <name of the old release>" (example: "STM32MP15 Discovery kits - Starter Package - v1.0.0") |
||
Line 22: | Line 17: | ||
</noinclude> |
</noinclude> |
||
− | This article shows how to start up a ''' |
+ | This article shows how to start up a '''STM32MP157x-DKx Discovery kit''' (flexible and complete development platform for the STM32MP15 microprocessor devices). It is valid both for the STM32MP157A-DK1 and STM32MP157C-DK2 Discovery kits: the part numbers are specified in the [[STM32MP15 microprocessor#Part number codification|STM32MP15 microprocessor part numbers]] article. |
It lists the required material, points to the board features description, and gives the step-by-step process to set up the system. |
It lists the required material, points to the board features description, and gives the step-by-step process to set up the system. |
||
Line 40: | Line 35: | ||
**the binaries for the OpenSTLinux distribution |
**the binaries for the OpenSTLinux distribution |
||
**one or more firmware example(s) for the STM32Cube MPU Package |
**one or more firmware example(s) for the STM32Cube MPU Package |
||
− | *the (STM32CubeProgrammer) '''tool''' to install this image on the |
+ | *the (STM32CubeProgrammer) '''tool''' to install this image on the STM32MP157x-DKx Discovery kit |
[[File: STM32_MPU_Embedded_Software_Starter_Package.png|thumb|upright=2|center|link=|Components of the Starter Package]] |
[[File: STM32_MPU_Embedded_Software_Starter_Package.png|thumb|upright=2|center|link=|Components of the Starter Package]] |
||
==Starter Package step-by-step overview== |
==Starter Package step-by-step overview== |
||
− | {{highlight|'''The steps to get the |
+ | {{highlight|'''The steps to get the STM32MP157x-DKx Discovery kit up and running, are:'''}} <br> |
<span style="font-size:21px">☐</span> [[#Checking the material|Checking the material]] <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> [[#Assembling the board|Assembling the board]] <br> |
||
Line 57: | Line 52: | ||
* [[#Executing basic commands|execute basic commands]] |
* [[#Executing basic commands|execute basic commands]] |
||
* [[#Examples|run basic use cases]] |
* [[#Examples|run basic use cases]] |
||
− | * discover on your own the capabilities of the |
+ | * discover on your own the capabilities of the STM32MP157x-DKx Discovery kit |
==Checking the material== |
==Checking the material== |
||
+ | {{:STM32MP15 Discovery kits - required material}} |
||
− | |||
− | |||
− | |||
+ | The following figure shows the optional material (not included in STM32MP157x-DKx Discovery kit package), that is used with this Starter Package. |
||
+ | [[File: STM32MP157x-DKx_recommended_material.png|thumb|400px|center|link=|Recommended material for this Starter Package]] |
||
− | + |
==Assembling the board==
|
|
− | + |
{{:STM32MP157x-DKx - board assembly}}
|
|
==Installing the tools== |
==Installing the tools== |
||
Line 77: | Line 72: | ||
===Image flashing=== |
===Image flashing=== |
||
− | The STM32CubeProgrammer tool is used to flash the |
+ | The STM32CubeProgrammer tool is used to flash the STM32MP157x-DKx Discovery kit with the downloaded image. |
The '''microSD card''', provided in the box, is used as the Flash device: see the [[STM32MP15 Flash mapping]] article if you want to know more about the supported Flash memory technologies, and the Flash partitions. |
The '''microSD card''', provided in the box, is used as the Flash device: see the [[STM32MP15 Flash mapping]] article if you want to know more about the supported Flash memory technologies, and the Flash partitions. |
||
Line 92: | Line 87: | ||
− | [[File: |
+ | [[File: STM32MP157x-DKx_flashing_configuration.png|thumb|upright=4|center|link=|Discovery kit connections for flashing <br> '''STM32MP157C-DK2''' shown here (picture is not contractual)]] |
{{UpdateNeededForNewRelease|Change the name of the "openstlinux[...]" directory" (several times)}} |
{{UpdateNeededForNewRelease|Change the name of the "openstlinux[...]" directory" (several times)}} |
||
Line 401: | Line 396: | ||
==How to go further?== |
==How to go further?== |
||
− | Now that the image is flashed on the |
+ | Now that the image is flashed on the STM32MP157x-DKx Discovery kit, 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. |