Last edited 9 months ago

STM32MP15 Discovery kits - Starter Package

Template:ArticleMainWriter Template:ReviewersList Template:ArticleApprovedVersion

Template:UpdateNeededForNewRelease


Template:InternalInfo

This article shows how to start up a STM32MP15 Discovery kit (flexible and complete 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 source]

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 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 Discovery kit
Components of the Starter Package

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

Template:Highlight
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 source]

Template:Highlight

PC Linux or Windows operating systems. See PC prerequisites for more details on the required configurations.
STM32MP157X-DKX Discovery kit
(board name: STM32MP157X-DKX)
Flexible and complete development platform for the STM32MP15 microprocessor device including:
Power supply Including:
  • a USB Type-C cable
  • a USB Type-C charger (5 V, 3 A)
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 STM32MP15 Discovery kit to the PC through the USB micro-B (ST-LINK/V2-1) connector
USB Type-C cable In order to connect the STM32MP15 Discovery kit to an USB OTG device through the USB Type-C connector


Template:Highlight

USB keyboard and mouse Thanks to the USB type A connectors, the STM32MP15 Discovery kit can be equipped with a full-size keyboard and mouse
Ethernet cable In order to connect the STM32MP15 Discovery kit to a network through the RJ45 connector
HDMI cable In order to connect the STM32MP15 Discovery kit to an HDMI monitor (or TV) through the HDMI connector

Template:Highlight, more devices and extension boards might be plugged to the STM32MP15 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 Discovery kit package), that is used with this Starter Package.

File:STM32MP157X-DKX recommended material.png
Recommended material for this Starter Package

4. Assembling the board[edit source]

The STM32MP15 Discovery kit packages (STM32MP157X-DKX) include the items listed below.

Please note that;

  • the STM32MP157X-DK1 Discovery kit neither includes the "WLAN + Bluetooth" component (muRata LBEE5KL1DX), nor the MB1407 daughterboard DSI display
  • the STM32MP157X-DK2 Discovery kit includes the "WLAN + Bluetooth" component (muRata LBEE5KL1DX), and the MB1407 daughterboard DSI display

The different variants corresponding to STM32MP157X-DK1/2 are explained by the part number codification.


File:STM32MP157X-DKX split.png
Out of the STM32MP157X-DKX box
Position Description
1 MB1272 motherboard ("WLAN + Bluetooth" component included only for the STM32MP157X-DK2 Discovery kit)
2 MB1407 daughterboard DSI display (480x800 pixels): only for the STM32MP157X-DK2 Discovery kit
3 microSD card
4 DSI ribbon cable: only for the STM32MP157X-DK2 Discovery kit
5 Spacer for DSI display daughterboard: only for the STM32MP157X-DK2 Discovery kit
6 USB Type-C (power 5V-3A)


The following figures explain how to assemble the various items to obtain the STM32MP15 Discovery kit.

For STM32MP157X-DK1 kits, the assembly only consists in inserting the microSD card into the dedicated slot (step C in the below figures).

File:STM32MP157X-DKX assembly 1.png
Discovery kit assembly
Board name: STM32MP157X-DK2
File:STM32MP157X-DKX assembled.png
Discovery kit assembled
Board name: STM32MP157X-DK2 (for the STM32MP157X-DK1, the elements 2, 4 and 5 are not present)

5. Installing the tools[edit source]

5.1. Installing the STM32CubeProgrammer tool[edit source]

STM32CubeProgrammer for LinuxTemplate:Sup host PC STM32CubeProgrammer for WindowsTemplate:Sup host PC
Download

Version 1.3.0 Template:InternalInfo Template:STdotcomInfo

  • Download the archive file in a temporary directory of your host PC
  • Uncompress the archive file to get the STM32CubeProgrammer installers:
unzip SetupSTM32CubeProgrammer.zip
Installation
  • Execute the Linux installer, which guides you through the installation process. If you follow the proposition to organize the tools' directory, indicate "STM32MPU-Tools/STM32CubeProgrammer-1.3.0" as the installation directory, when it's requested by the installer
./SetupSTM32CubeProgrammer-1.3.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, with 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 in PATH. Example, if "/home/bin" is in the PATH environment varialble, 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. If you follow the proposition to organize the tools' directory, indicate "STM32MPU-Tools/STM32CubeProgrammer-1.3.0" as the installation directory, when it's requested by the installer
./SetupSTM32CubeProgrammer-1.3.0.exe
User manual

Template:ReviewsComments

Detailed release note

Template:ReviewsComments

  • Details about the content of this tool version are available in ST Web Site Release Note .
  • If interested in previous releases, please go through the archives of the ecosystem release note.


5.2. Preparing the USB serial link for flashing[edit source]

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, for 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:

Template:PC$ sudo apt-get install libusb-1.0-0

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

Template:PC$ cd <your STM32CubeProgrammer install directory>/Drivers/rules 
Template: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 source]

6.1. Image download[edit source]

  • Download and install the STM32MP1 image (binaries):

By downloading this software package, you agree to be bound to the terms of the Limited License Agreement. The detailed content licenses can be found here.

STM32MP1 Starter Package image - Beta1 release
Download Template:InternalInfo

Template:STdotcomInfo

Installation
$ cd <working directory path>/Starter-Package
  • Download the tarball file in this directory
  • Uncompress the tarball file to get the binaries for the different partitions of the image, and the Flash layout files:
$ tar xvf FLASH-stm32mp1-boards-revb-openstlinux-4.14-rocko-mp1-18-11-26.tar.xz
OR
$ tar xvf FLASH-stm32mp1-boards-revc-openstlinux-4.14-rocko-mp1-18-11-26.tar.xz
Release note

Details of the content of this software package are available in the associated STM32MP15 ecosystem release note.

If you are interested in older releases, please refer to the archives of the ecosystem release note.

  • The binaries and the Flash layout files are in the <Starter Package installation directory>/stm32mp1-boards-Template:Highlight-openstlinux-4.14-rocko-mp1-18-11-26/images/stm32mp1-boards-Template:Highlight/ or in the <Starter Package installation directory>/stm32mp1-boards-Template:Highlight-openstlinux-4.14-rocko-mp1-18-11-26/images/stm32mp1-boards-Template:Highlight/ directory:
Template:Green
├── Template:Green                                 Template:Highlight
│   ├── FlashLayout_emmc_stm32mp157c-ev1-trusted.tsv            Template:Highlight
│   ├── FlashLayout_nand-4-256_stm32mp157c-ev1-trusted.tsv      Template:Highlight
│   ├── FlashLayout_nor-emmc_stm32mp157c-ev1-trusted.tsv        Template:Highlight
│   ├── FlashLayout_nor-nand-4-256_stm32mp157c-ev1-trusted.tsv  Template:Highlight
│   ├── FlashLayout_nor-sdcard_stm32mp157c-ev1-trusted.tsv      Template:Highlight
│   ├── FlashLayout_sdcard_stm32mp157c-dk2-basic.tsv            Template:Highlight
│   ├── FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv          Template:Highlight
│   ├── FlashLayout_sdcard_stm32mp157c-ev1-basic.tsv            Template:Highlight
│   └── FlashLayout_sdcard_stm32mp157c-ev1-trusted.tsv          Template:Highlight
├── Template:Green
│   └── create_sdcard_from_flashlayout.sh
├── splash.bin                                                                  Template:Highlight
├── st-image-bootfs-openstlinux-weston-stm32mp1-boards-rev[b/c].ext4            Template:Highlight
├── st-image-bootfs-openstlinux-weston-stm32mp1-boards-rev[b/c].manifest
├── st-image-userfs-openstlinux-weston-stm32mp1-boards-rev[b/c].ext4            Template:Highlight
├── st-image-userfs-openstlinux-weston-stm32mp1-boards-rev[b/c].manifest
├── st-image-vendorfs-openstlinux-weston-stm32mp1-boards-rev[b/c].ext4          Template:Highlight
├── st-image-vendorfs-openstlinux-weston-stm32mp1-boards-rev[b/c].manifest
├── st-image-weston-openstlinux-weston-stm32mp1-boards-rev[b/c].ext4            Template:Highlight
├── st-image-weston-openstlinux-weston-stm32mp1-boards-rev[b/c].license
├── st-image-weston-openstlinux-weston-stm32mp1-boards-rev[b/c]-license_content.html
├── st-image-weston-openstlinux-weston-stm32mp1-boards-rev[b/c].manifest
├── st-image-weston-openstlinux-weston-stm32mp1_nand-boards-rev[b/c]_4_256_multivolume.ubi
├── tf-a-stm32mp157c-dk2-trusted.stm32                          Template:Highlight
├── tf-a-stm32mp157c-ev1-trusted.stm32                          Template:Highlight
├── u-boot-spl.stm32-stm32mp157c-dk2-basic                      Template:Highlight
├── u-boot-spl.stm32-stm32mp157c-ev1-basic                      Template:Highlight
├── u-boot-stm32mp157c-dk2-basic.img                            Template:Highlight
├── u-boot-stm32mp157c-dk2-trusted.stm32                        Template:Highlight
├── u-boot-stm32mp157c-ev1-basic.img                            Template:Highlight
└── u-boot-stm32mp157c-ev1-trusted.stm32                        Template:Highlight


6.2. Image flashing[edit source]

The STM32CubeProgrammer tool is used to flash the STM32MP15 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


File:STM32MP157X-DKX flashing configuration.png
Discovery kit connections for flashing
Board name: STM32MP157X-DKX

Template:UpdateNeededForNewRelease

  • Go to the Starter Package directory that contains the binaries and the Flash layout files
Template:PC$ cd <Starter Package installation directory>/stm32mp1-boards-revb-openstlinux-4.14-rocko-mp1-18-11-26/images/stm32mp1-boards-revb
OR
Template: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
 Template:PC$ cd Starter-Package/stm32mp1-boards-revb-openstlinux-4.14-rocko-mp1-18-11-26/images/stm32mp1-boards-revb
OR
Template:PC$ cd Starter-Package/stm32mp1-boards-revc-openstlinux-4.14-rocko-mp1-18-11-26/images/stm32mp1-boards-revc

Template:Info

  • Check that the STM32CubeProgrammer tool is installed and accessible; if not, go to the installation procedure (installing the tools)
Template:PC$ STM32_Programmer_CLI --h
      -------------------------------------------------------------------
                        STM32CubeProgrammer <tool version>                  
      -------------------------------------------------------------------
  • Get the device port location for the USB link
Template: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
Template: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:

Template:Info

      -------------------------------------------------------------------
                        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

7. Booting the board[edit source]

Now that the image is flashed on the STM32MP15 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: Template:Highlight connect a USB keyboard and/or a USB mouse (not provided) using the USB type A ports (3 and 4)
  • Step 3: Template:Highlight connect an Ethernet cable (not provided) to the dedicated connector (7)


Template:ImageMap


  • 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: Template:Highlight 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)
  • Step 7: Template:Highlight connect a HDMI monitor (or TV) to the HDMI connector. This option is particularly useful for the STM32MP157X-DK1 Discovery kit that does not include any DSI display daughterboard

File:STM32MP157X-DKX HDMI.png

  • Step 8: press the reset button (6) to reset the board

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


8. Checking the boot sequence[edit source]

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. Template:Info

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 Wayland background layer 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).

File:STM32MP15 wayland background layer.png
Wayland background layer shown on the HDMI monitor or on the DSI display

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

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

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 ifconfig command to query the network interface parameters:

Example of command (ifconfig) 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 Template:Board$, while any command executed on the host PC starts with Template:PC$.

11. Executing basic commands[edit source]

Template:Info

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

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

Template:Info Template:UpdateNeededForNewRelease

Software How to get its version Output example
TF-A TF-A Version number

NOTICE: BL2: v2.0(debug):Template:Highlight

U-Boot See the version displayed in the console

Template:Highlight [...]

Linux kernel
Template:Board$ cat /proc/version

Template:Highlight (xxxx@yyyy) (gcc version 7.3.0 (GCC)) [...]

GCC
Template:Board$ cat /proc/version

Linux version 4.14.48 (xxxx@yyyy) (Template:Highlight) [...]

Yocto Project
Template:Board$ lsb_release -c

Codename: Template:Highlight

Weston
Template:Board$ weston --version

Template:Highlight

GStreamer
Template:Board$ gst-play-1.0 --version

Template:Highlight

GPU
Template:Board$ cat /sys/kernel/debug/gc/version

Template:Highlight built [...]

11.3. Configuration tips[edit source]

11.4. Getting board IP address[edit source]

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

Template:Board$ ip addr show eth0                                                                           
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet Template:Highlight/22 brd 10.xx.xx.xx scope global dynamic eth0
       valid_lft 159045sec preferred_lft 159045sec
    inet6 fe80::xx:xx:xx:xx/64 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):
Template:Board$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:xx:xx:xx:xx:xx
          inet addr:Template:Highlight  Bcast:10.xx.xx.xx  Mask:255.255.252.0
          inet6 addr: fe80::xx:xx:xx:xx/64 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 source]

11.6. Miscellaneous commands[edit source]

Template:InfoTemplate:UpdateNeededForNewRelease

11.6.1. Printing distribution specific information[edit source]

Template:Board$ lsb_release -a
LSB Version:    core-4.1-noarch:core-4.1-arm
Distributor ID: openstlinux-weston
Description:    ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 2.4+openstlinux-4.14-rocko-mp1-18-11-26
Release:        2.4+openstlinux-4.14-rocko-mp1-18-11-26
Codename:       rocko

Where:

LSB Version Version of LSB (Linux Standard Base) against which distribution is compliant
Distributor ID String identifier of distributor
Description Single line text description of distribution
Release Release number of distribution
Codename Codename according to distribution release

11.6.2. Printing system information[edit source]

Template:Board$ uname -a
Linux stm32mp1-boards-rev[b/c] 4.14.48 #1 SMP PREEMPT Tue Nov 27 14:41:52 UTC 2018 armv7l armv7l armv7l GNU/Linux

Where:

Linux Kernel name
stm32mp1-boards-rev[b/c] Network node hostname
4.14.48 Kernel release
#1 SMP PREEMPT Tue Nov 27 14:41:52 UTC 2018 Kernel version
armv7l Machine hardware name
GNU/Linux Operating system

11.6.3. Printing Linux kernel and GCC versions[edit source]

Template:Board$ cat /proc/version
Linux version 4.14.48 (xxxx@yyyy) (gcc version 7.3.0 (GCC)) #1 SMP PREEMPT Tue Nov 27 14:41:52 UTC 2018

Where:

Linux Kernel name
version 4.14.48 Kernel release
(xxxx@yyyy) Person (xxxx) who compiled the kernel, and machine (yyyy) where it happened
(gcc version 7.3.0 (GCC) ) Version of the GCC compiler used to compile the kernel
#1 SMP PREEMPT Tue Nov 27 14:41:52 UTC 2018 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 source]

Template:Board$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       719M  347M  334M  52% /
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  7.7M   46M  15% /boot
tmpfs           436M  160K  436M   1% /var/volatile
/dev/mmcblk0p7   15G   14G     0 100% /usr/local
/dev/mmcblk0p5   15M  8.7M  4.7M  65% /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 source]

Template:UnderConstructionTemplate:UpdateNeededForNewRelease

12.1. Examples running on Cortex-A7[edit source]

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)
Setting up a wifi connection
Setting up a Bluetooth connection
Displaying on the HDMI monitor (or TV)

12.2. Examples running on Cortex-M4[edit source]

Please read STM32CubeMP1 Package article.

13. Fast links to essential commands[edit source]

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

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

Now that the image is flashed on the STM32MP15 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.