This article shows how to start up a STM32MP157x-EV1 Evaluation boards (high-end development platforms for the STM32MP15 microprocessor devices). It is valid for the STM32MP157A-EV1 , STM32MP157C-EV1 and STM32MP157F-EV1 Evaluation boards: 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.
1. Starter Package content[edit | edit source]
If you are not yet familiar with the STM32MPU Embedded Software distribution and its Packages, please read the following articles:
- Which STM32MPU Embedded Software 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 interest you.
To sum up, this Starter Package provides:
- the software image for the STM32MPU Embedded Software distribution, which includes:
- the binaries for the OpenSTLinux distribution
- one or more firmware example(s) for the STM32Cube MPU Package
- the tool (STM32CubeProgrammer) to install this image on the STM32MP15 Evaluation board
2. Starter Package step-by-step overview[edit | edit source]
The following steps are required to get the STM32MP15 Evaluation board up and running:
☐ Checking the material
☐ Assembling the board
☐ Installing the tools
☐ Downloading the image and flashing it on the board
☐ Booting the board
Once these steps are achieved, you are able to:
- check the boot sequence
- execute basic commands
- run basic use cases
- discover on your own the capabilities of the STM32MP15 Evaluation board
3. Checking the material[edit | edit source]
Mandatory
PC | Linux or Windows operating systems. See PC prerequisites for more details on the required configurations |
STM32MP157x-EV1 Evaluation board | High-end development platform for the STM32MP15 microprocessor device including: |
Power supply | Power supply block (5V, 3A) for the MB1263 daughterboard |
MicroSD card | It is populated with OpenSTLinux distribution (Linux software), and provides extra storage capacity. A 2-Gbyte minimum MicroSD card is needed |
USB micro-B cable | It connects the STM32MP157x-EV1 Evaluation board to the PC through the USB micro-B (ST-LINK/V2-1) connector |
USB micro-AB cable | It connects the STM32MP157x-EV1 Evaluation board to an USB OTG device through the USB micro-AB connector |
Optional
USB keyboard and mouse | Thanks to the USB type A connectors, the STM32MP157x-EV1 Evaluation board can be equipped with a full-size keyboard and mouse |
Ethernet cable | It can connect the STM32MP157x-EV1 Evaluation board to a network through the RJ45 connector |
RS232 cable | It can connect the STM32MP157x-EV1 Evaluation board to the PC through the UART connector as an alternative of the ST-LINK/V2-1 connection |
CAN cable | It can connect the STM32MP157x-EV1 Evaluation board to CAN devices through the CAN FD/TT connectors |
Trace cable | It can connect the STM32MP157x-EV1 Evaluation board to an external tool through the Trace connector |
JTAG cable | It can connect the STM32MP157x-EV1 Evaluation board to an external tool through the JTAG connector |
Optionally, devices and extension boards might be plugged to the STM32MP157x-EV1 Evaluation board thanks to connectors such as:
- the Ethernet daughterboard connector
- the GPIO expansion connector
- the Motor control connector
- ...
The following figure shows the material not included in STM32MP15 Evaluation board package, that is used in this Starter Package.
4. Assembling the board[edit | edit source]
The STM32MP157x-EV1 Evaluation boards packages (STM32MP157A-EV1 , STM32MP157D-EV1 , STM32MP157C-EV1 and STM32MP157F-EV1 ) include all the items listed below.
Position | Description |
---|---|
1 | MB1262 motherboard |
2 | MB1263 daughterboard |
3 | MB1230 DSI 720p display |
4 | MB1379 daughterboard camera (OmniVision OV5640 camera sensor) |
5 | microSD card |
6 | Power supply block (5V, 3A) |
The following figures explain how to assemble these different items to get the STM32MP157x-EV1 Evaluation boards.
5. Installing the tools[edit | edit source]
5.1. Installing the STM32CubeProgrammer tool[edit | edit source]
STM32CubeProgrammer for Linux® host PC | STM32CubeProgrammer for Windows® host PC | |
---|---|---|
Download |
Version v2.17.0
| |
Installation |
$> ./SetupSTM32CubeProgrammer-2.17.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 |
|
5.2. Preparing the USB serial link for flashing[edit | 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 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.
6. Downloading the image and flashing it on the board[edit | edit source]
6.1. Image download[edit | edit source]
- The STM32MP1 image (binaries) is delivered through one tarball file named
- 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 (SLA0048). The detailed content licenses can be found here.
STM32MP1 Starter Package image - STM32MP1-Ecosystem-v5.1.0 release | |
---|---|
Download |
|
Installation |
cd <working directory path>/Starter-Package
tar xvf en.FLASH-stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.tar.gz |
Release note |
Details of the content of this software package are available in the associated STM32 MPU OpenSTLinux release note. |
- The binaries and the Flash layout files are in the <Starter Package installation directory>/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/images/stm32mp1/ directory:
stm32mp1 ├── arm-trusted-firmware TF-A binaries for FSBL partitions and supported boot chains │ ├── metadata.bin Meta data binary for METADATA partition for the supported boards │ ├── tf-a-stm32mp135f-dk-optee-sdcard.stm32 TF-A binary for FSBL partition (microSD card boot device) for STM32MP135F-DK → STM32MP13 Discovery kits │ ├── tf-a-stm32mp135f-dk-uart.stm32 TF-A binary for uart serial boot mode (STM32CubeProgrammer) for STM32MP135F-DK → STM32MP13 Discovery kits │ ├── tf-a-stm32mp135f-dk-usb.stm32 TF-A binary for usb serial boot mode (STM32CubeProgrammer) for STM32MP135F-DK → STM32MP13 Discovery kits │ ├── tf-a-stm32mp157a-dk1-optee-sdcard.stm32 TF-A binary for FSBL partition (microSD card boot device) for STM32MP157A-DK1 → STM32MP15 Discovery kits │ ├── tf-a-stm32mp157a-dk1-uart.stm32 TF-A binary for uart serial boot mode (STM32CubeProgrammer) for STM32MP157A-DK1 → STM32MP15 Discovery kits │ ├── tf-a-stm32mp157a-dk1-usb.stm32 TF-A binary for usb serial boot mode (STM32CubeProgrammer) for STM32MP157A-DK1 → STM32MP15 Discovery kits │ ├── tf-a-stm32mp157a-ev1-optee-emmc.stm32 TF-A binary for FSBL partition (eMMC boot device) for STM32MP157A-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157a-ev1-optee-nand.stm32 TF-A binary for FSBL partition (NAND boot device) for STM32MP157A-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157a-ev1-optee-nor.stm32 TF-A binary for FSBL partition (NOR boot device) for STM32MP157A-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157a-ev1-optee-sdcard.stm32 TF-A binary for FSBL partition (microSD card boot device) for STM32MP157A-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157a-ev1-optee-uart.stm32 TF-A binary for uart serial boot mode (STM32CubeProgrammer) for STM32MP157A-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157a-ev1-usb.stm32 TF-A binary for usb serial boot mode (STM32CubeProgrammer) for STM32MP157A-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157c-dk2-optee-sdcard.stm32 TF-A binary for FSBL partition (microSD card boot device) for STM32MP157C-DK2 → STM32MP15 Discovery kits │ ├── tf-a-stm32mp157c-dk2-uart.stm32 TF-A binary for uart serial boot mode (STM32CubeProgrammer) for STM32MP157C-DK2 → STM32MP15 Discovery kits │ ├── tf-a-stm32mp157c-dk2-usb.stm32 TF-A binary for usb serial boot mode (STM32CubeProgrammer) for STM32MP157C-DK2 → STM32MP15 Discovery kits │ ├── tf-a-stm32mp157c-ed1-optee-emmc.stm32 TF-A binary for FSBL partition (eMMC boot device) for STM32MP157C-ED1 → STM32MP15 Evaluation daughter boards │ ├── tf-a-stm32mp157c-ed1-optee-sdcard.stm32 TF-A binary for FSBL partition (microSD card boot device) for STM32MP157C-ED1 → STM32MP15 Evaluation daughter boards │ ├── tf-a-stm32mp157c-ed1-uart.stm32 TF-A binary for uart serial boot mode (STM32CubeProgrammer) for STM32MP157C-ED1 → STM32MP15 Evaluation daughter boards │ ├── tf-a-stm32mp157c-ed1-usb.stm32 TF-A binary for usb serial boot mode (STM32CubeProgrammer) for STM32MP157C-ED1 → STM32MP15 Evaluation daughter boards │ ├── tf-a-stm32mp157c-ev1-optee-emmc.stm32 TF-A binary for FSBL partition (eMMC boot device) for STM32MP157C-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157c-ev1-optee-nand.stm32 TF-A binary for FSBL partition (NAND boot device) for STM32MP157C-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157c-ev1-optee-nor.stm32 TF-A binary for FSBL partition (NOR boot device) for STM32MP157C-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157c-ev1-optee-sdcard.stm32 TF-A binary for FSBL partition (microSD card boot device) for STM32MP157C-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157c-ev1-uart.stm32 TF-A binary for uart serial boot mode (STM32CubeProgrammer) for STM32MP157C-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157c-ev1-usb.stm32 TF-A binary for usb serial boot mode (STM32CubeProgrammer) for STM32MP157C-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157d-dk1-optee-sdcard.stm32 TF-A binary for FSBL partition (microSD card boot device) for STM32MP157D-DK1 → STM32MP15 Discovery kits │ ├── tf-a-stm32mp157d-dk1-uart.stm32 TF-A binary for serial boot mode (STM32CubeProgrammer) for STM32MP157D-DK1 → STM32MP15 Discovery kits │ ├── tf-a-stm32mp157d-dk1-usb.stm32 TF-A binary for usb serial boot mode (STM32CubeProgrammer) for STM32MP157D-DK1 → STM32MP15 Discovery kits │ ├── tf-a-stm32mp157d-ev1-optee-emmc.stm32 TF-A binary for FSBL partition (eMMC boot device) for STM32MP157D-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157d-ev1-optee-nand.stm32 TF-A binary for FSBL partition (NAND boot device) for STM32MP157D-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157d-ev1-nor.stm32 TF-A binary for FSBL partition (NOR boot device) for STM32MP157D-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157d-ev1-optee-sdcard.stm32 TF-A binary for FSBL partition (microSD card boot device) for STM32MP157D-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157d-ev1-uart.stm32 TF-A binary for uart serial boot mode (STM32CubeProgrammer) for STM32MP157D-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157d-ev1-usb.stm32 TF-A binary for usb serial boot mode (STM32CubeProgrammer) for STM32MP157D-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157f-dk2-optee-sdcard.stm32 TF-A binary for FSBL partition (microSD card boot device) for STM32MP157F-DK2 → STM32MP15 Discovery kits │ ├── tf-a-stm32mp157f-dk2-uart.stm32 TF-A binary for uart serial boot mode (STM32CubeProgrammer) for STM32MP157F-DK2 → STM32MP15 Discovery kits │ ├── tf-a-stm32mp157f-dk2-usb.stm32 TF-A binary for usb serial boot mode (STM32CubeProgrammer) for STM32MP157F-DK2 → STM32MP15 Discovery kits │ ├── tf-a-stm32mp157f-ed1-optee-emmc.stm32 TF-A binary for FSBL partition (eMMC boot device) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ ├── tf-a-stm32mp157f-ed1-optee-sdcard.stm32 TF-A binary for FSBL partition (microSD card boot device) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ ├── tf-a-stm32mp157f-ed1-uart.stm32 TF-A binary for uart serial boot mode (STM32CubeProgrammer) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ ├── tf-a-stm32mp157f-ed1-usb.stm32 TF-A binary for usb serial boot mode (STM32CubeProgrammer) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ ├── tf-a-stm32mp157f-ev1-optee-emmc.stm32 TF-A binary for FSBL partition (eMMC boot device) for STM32MP157F-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157f-ev1-optee-nand.stm32 TF-A binary for FSBL partition (NAND boot device) for STM32MP157F-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157f-ev1-optee-nor.stm32 TF-A binary for FSBL partition (NOR boot device) for STM32MP157F-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157f-ev1-optee-sdcard.stm32 TF-A binary for FSBL partition (microSD card boot device) for STM32MP157F-EV1 → STM32MP15 Evaluation boards │ ├── tf-a-stm32mp157f-ev1-uart.stm32 TF-A binary for uart serial boot mode (STM32CubeProgrammer) for STM32MP157F-EV1 → STM32MP15 Evaluation boards │ └── tf-a-stm32mp157f-ev1-usb.stm32 TF-A binary for usb serial boot mode (STM32CubeProgrammer) for STM32MP157F-EV1 → STM32MP15 Evaluation boards ├── fip FIP binaries for FIP partitions and supported boot chains │ ├── fip-stm32mp135f-dk-fastboot-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP135F-DK → STM32MP13 Discovery kits │ ├── fip-stm32mp135f-dk-optee-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP135F-DK → STM32MP13 Discovery kits │ ├── fip-stm32mp157a-dk1-fastboot-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157A-DK1 → STM32MP15 Discovery kits │ ├── fip-stm32mp157a-dk1-optee-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157A-DK1 → STM32MP15 Discovery kits │ ├── fip-stm32mp157a-ev1-fastboot-emmc.bin FIP binary for FIP partition (optee boot chain for emmc) for STM32MP157A-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157a-ev1-fastboot-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157A-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157a-ev1-optee-emmc.bin FIP binary for FIP partition (optee boot chain for emmc) for STM32MP157A-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157a-ev1-optee-nand.bin FIP binary for FIP partition (optee boot chain for nand) for STM32MP157A-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157a-ev1-optee-nor.bin FIP binary for FIP partition (optee boot chain for nor) for STM32MP157A-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157a-ev1-optee-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157A-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157c-dk2-fastboot-emmc.bin FIP binary for FIP partition (optee boot chain for emmc) for STM32MP157C-DK2 → STM32MP15 Discovery kits │ ├── fip-stm32mp157c-dk2-fastboot-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157C-DK2 → STM32MP15 Discovery kits │ ├── fip-stm32mp157c-dk2-optee-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157C-DK2 → STM32MP15 Discovery kits │ ├── fip-stm32mp157c-ed1-fastboot-emmc.bin FIP binary for FIP partition (optee boot chain for emmc) for STM32MP157C-ED1 → STM32MP15 Evaluation daughter boards │ ├── fip-stm32mp157c-ed1-fastboot-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157C-ED1 → STM32MP15 Evaluation daughter boards │ ├── fip-stm32mp157c-ed1-optee-emmc.bin FIP binary for FIP partition (optee boot chain for emmc) for STM32MP157C-ED1 → STM32MP15 Evaluation daughter boards │ ├── fip-stm32mp157c-ed1-optee-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157C-ED1 → STM32MP15 Evaluation daughter boards │ ├── fip-stm32mp157c-ev1-fastboot-emmc.bin FIP binary for FIP partition (optee boot chain for emmc) for STM32MP157C-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157c-ev1-fastboot-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157C-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157c-ev1-optee-emmc.bin FIP binary for FIP partition (optee boot chain for emmc) for STM32MP157C-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157c-ev1-optee-nand.bin FIP binary for FIP partition (optee boot chain for nand) for STM32MP157C-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157c-ev1-optee-nor.bin FIP binary for FIP partition (optee boot chain for nor) for STM32MP157C-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157c-ev1-optee-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157C-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157d-dk1-fastboot-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157D-DK1 → STM32MP15 Discovery kits │ ├── fip-stm32mp157d-dk1-optee-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157D-DK1 → STM32MP15 Discovery kits │ ├── fip-stm32mp157d-ev1-fastboot-emmc.bin FIP binary for FIP partition (optee boot chain for emmc) for STM32MP157D-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157d-ev1-fastboot-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157D-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157d-ev1-optee-emmc.bin FIP binary for FIP partition (optee boot chain for emmc) for STM32MP157D-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157d-ev1-optee-nand.bin FIP binary for FIP partition (optee boot chain for nand) for STM32MP157D-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157d-ev1-optee-nor.bin FIP binary for FIP partition (optee boot chain for nor) for STM32MP157D-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157d-ev1-optee-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157D-EV1 → STM32MP15 Evaluation boards │ ├── fip-stm32mp157f-dk2-fastboot-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157F-DK2 → STM32MP15 Discovery kits │ ├── fip-stm32mp157f-dk2-optee-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157F-DK2 → STM32MP15 Discovery kits │ ├── fip-stm32mp157f-ed1-fastboot-emmc.bin FIP binary for FIP partition (optee boot chain for emmc) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ ├── fip-stm32mp157f-ed1-fastboot-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ ├── fip-stm32mp157f-ed1-optee-emmc.bin FIP binary for FIP partition (optee boot chain for emmc) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ ├── fip-stm32mp157f-ed1-optee-nand.bin FIP binary for FIP partition (optee boot chain for nand) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ ├── fip-stm32mp157f-ed1-optee-nor.bin FIP binary for FIP partition (optee boot chain for nor) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ ├── fip-stm32mp157f-ed1-optee-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ ├── fip-stm32mp157f-ev1-fastboot-emmc.bin FIP binary for FIP partition (optee boot chain for emmc) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ ├── fip-stm32mp157f-ev1-fastboot-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ ├── fip-stm32mp157f-ev1-optee-emmc.bin FIP binary for FIP partition (optee boot chain for emmc) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ ├── fip-stm32mp157f-ev1-optee-nand.bin FIP binary for FIP partition (optee boot chain for nand) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ ├── fip-stm32mp157f-ev1-optee-nor.bin FIP binary for FIP partition (optee boot chain for nor) for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ └── fip-stm32mp157f-ev1-optee-sdcard.bin FIP binary for FIP partition (optee boot chain for sdcard) for STM32MP157F-EV1 → STM32MP15 Evaluation daughter 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_stm32mp135f-dk-optee.tsv (recommended setup for package repository service) microSD card boot device for STM32MP135F-DK → STM32MP13 Discovery kits │ │ ├── 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 │ ├── fastboot Flash layout files for flashing via fastboot │ │ ├── FlashLayout_emmc_stm32mp157a-ev1-fastboot.tsv eMMC boot device for STM32MP157A-EV1 → → STM32MP15 Evaluation kits │ │ ├── FlashLayout_emmc_stm32mp157c-ed1-fastboot.tsv eMMC boot device for STM32MP157C-ED1 → → STM32MP15 Evaluation kits │ │ ├── FlashLayout_emmc_stm32mp157c-ev1-fastboot.tsv eMMC boot device for STM32MP157C-ED1 → → STM32MP15 Evaluation kits │ │ ├── FlashLayout_emmc_stm32mp157d-ev1-fastboot.tsv eMMC boot device for STM32MP157D-ED1 → → STM32MP15 Evaluation kits │ │ ├── FlashLayout_emmc_stm32mp157f-ed1-fastboot.tsv eMMC boot device for STM32MP157F-ED1 → → STM32MP15 Evaluation kits │ │ ├── FlashLayout_emmc_stm32mp157f-ev1-fastboot.tsv eMMC boot device for STM32MP157F-EV1 → → STM32MP15 Evaluation kits │ │ ├── FlashLayout_sdcard_stm32mp135f-dk-fastboot.tsv microSD card boot device for STM32MP135F-DK → → STM32MP13 Discovery kits │ │ ├── FlashLayout_sdcard_stm32mp157a-dk1-fastboot.tsv microSD card boot device for STM32MP157F-DK1 → → STM32MP15 Discovery kits │ │ ├── FlashLayout_sdcard_stm32mp157a-ev1-fastboot.tsv microSD card boot device for STM32MP157A-EV1 → → STM32MP15 Evaluation kits │ │ ├── FlashLayout_sdcard_stm32mp157c-dk2-fastboot.tsv microSD card boot device for STM32MP157C-DK2 → → STM32MP15 Discovery kits │ │ ├── FlashLayout_sdcard_stm32mp157c-ed1-fastboot.tsv microSD card boot device for STM32MP157C-ED1 → → STM32MP15 Evaluation kits │ │ ├── FlashLayout_sdcard_stm32mp157c-ev1-fastboot.tsv microSD card boot device for STM32MP157C-EV1 → → STM32MP15 Evaluation kits │ │ ├── FlashLayout_sdcard_stm32mp157d-dk1-fastboot.tsv microSD card boot device for STM32MP157D-DK1 → → STM32MP15 Discovery kits │ │ ├── FlashLayout_sdcard_stm32mp157d-ev1-fastboot.tsv microSD card boot device for STM32MP157D-ED1 → → STM32MP15 Evaluation kits │ │ ├── FlashLayout_sdcard_stm32mp157f-dk2-fastboot.tsv microSD card boot device for STM32MP157F-DK2 → → STM32MP15 Discovery kits │ │ ├── FlashLayout_sdcard_stm32mp157f-ed1-fastboot.tsv microSD card boot device for STM32MP157F-ED1 → → STM32MP15 Evaluation kits │ │ └── FlashLayout_sdcard_stm32mp157f-ev1-fastboot.tsv microSD card boot device for STM32MP157F-EV1 → → STM32MP15 Evaluation 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-ed1-optee.tsv eMMC boot device for STM32MP157C-ED1 → STM32MP15 Evaluation daughter 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-ed1-optee.tsv eMMC boot device for STM32MP157F-ED1 → STM32MP15 Evaluation daughter 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_stm32mp135f-dk-optee.tsv (recommended setup) microSD card boot device for STM32MP135F-DK → STM32MP13 Discovery kits │ ├── 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-ed1-optee.tsv microSD card boot device for STM32MP157C-ED1 → STM32MP15 Evaluation daughter boards │ ├── 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-ed1-optee.tsv microSD card boot device for STM32MP157F-ED1 → STM32MP15 Evaluation daughter boards │ └── FlashLayout_sdcard_stm32mp157f-ev1-optee.tsv microSD card boot device 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-vendorfs-openstlinux-weston-stm32mp1.manifest ├── st-image-weston-openstlinux-weston-stm32mp1.ext4 Binary for rootfs partition on eMMC and microSD card devices ├── st-image-weston-openstlinux-weston-stm32mp1.license ├── st-image-weston-openstlinux-weston-stm32mp1-license_content.html License summary for all packages needed to feed all partitions ├── st-image-weston-openstlinux-weston-stm32mp1.manifest └── st-image-weston-openstlinux-weston-stm32mp1_nand_4_256_multivolume.ubi Binary for bootfs, vendorfs, rootfs and userfs partitions on NAND device
6.2. Image flashing[edit | edit source]
6.2.1. Via STM32CubeProgrammer tool[edit | edit source]
The STM32CubeProgrammer tool is used to flash the STM32MP15 Evaluation board with the downloaded image.
Several Flash devices (microSD, eMMC...) are available on this board: see the STM32 MPU Flash mapping article if you want to know more about the supported Flash memory technologies, and the Flash partitions. The steps below consider the microSD card as the Flash device.
As explained in the boot chain overview, the optee boot chain is the default solution delivered by STMicroelectronics. Thus, the steps below use the image for the optee boot chain.
Let's flash the downloaded image on the microSD card:
- Remove the jumper JP1 (1)
- Set the boot switches (2) to the off position
- Connect the USB micro-AB (OTG) port (3) to the host PC that contains the downloaded image
- Insert the delivered microSD card into the dedicated slot (4)
- Connect the delivered power supply to the power connector (5) of the MB1263 daughterboard
- Press the reset button (6) to reset the board
- Go to the Starter Package directory that contains the binaries and the Flash layout files
cd <Starter Package installation directory>/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/images/stm32mp1
If you have followed the the proposition to organize the working directory, the command is cd Starter-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/images/stm32mp1
Information |
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 optee boot chain
STM32_Programmer_CLI -c port=usb1 -w flashlayout_st-image-weston/optee/FlashLayout_sdcard_stm32mp157c-ev1-optee.tsv
- This operation takes several minutes (mainly depending of the rootfs size). A successful flashing outputs the following log:
Information |
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) Manuf. ID : STMicroelectronics Product ID : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000 SN : 000000000000 DFU protocol: 1.1 Board : -- Device ID : 0x0500 Device name : STM32MP15xx Device type : MPU Revision ID : -- Device CPU : Cortex-A7 Start Embedded Flashing service Memory Programming ... Opening and parsing file: tf-a-stm32mp157f-dk2-usb.stm32 File : tf-a-stm32mp157f-dk2-usb.stm32 Size : 220.41 KB Partition ID : 0x01 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:01.814 RUNNING Program ... PartID: :0x01 Start operation done successfully at partition 0x01 Memory Programming ... Opening and parsing file: fip-stm32mp157f-dk2-optee-sdcard.bin File : fip-stm32mp157f-dk2-optee-sdcard.bin Size : 1.40 MB Partition ID : 0x03 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:02.449 RUNNING Program ... PartID: :0x03 Reconnecting the device ... USB speed : High Speed (480MBit/s) Manuf. ID : STMicroelectronics Product ID : USB download gadget@Device ID /0x500, @Revision ID /0x2001, @Name /STM32MP157FAC Rev.Z, SN : 0049002C3438511836383238 DFU protocol: 1.1 Board : -- Device ID : 0x0500 Device name : STM32MP157FAC Rev.Z Device type : MPU Device CPU : Cortex-A7 Start operation done successfully at partition 0x03 Flashlayout Programming ... [==================================================] 100% Running Flashlayout Partition ... Reconnecting the device ... USB speed : High Speed (480MBit/s) Manuf. ID : STMicroelectronics Product ID : USB download gadget@Device ID /0x500, @Revision ID /0x2001, @Name /STM32MP157FAC Rev.Z, SN : 0049002C3438511836383238 DFU protocol: 1.1 Board : -- Device ID : 0x0500 Device name : STM32MP157FAC Rev.Z Device type : MPU Device CPU : Cortex-A7 Flashlayout partition started successfully Memory Programming ... Opening and parsing file: tf-a-stm32mp157f-dk2-optee-sdcard.stm32 File : tf-a-stm32mp157f-dk2-optee-sdcard.stm32 Size : 224.44 KB Partition ID : 0x04 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:00.219 RUNNING Program ... PartID: :0x04 Start operation done successfully at partition 0x04 Memory Programming ... Opening and parsing file: tf-a-stm32mp157f-dk2-optee-sdcard.stm32 File : tf-a-stm32mp157f-dk2-optee-sdcard.stm32 Size : 224.44 KB Partition ID : 0x05 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:00.227 RUNNING Program ... PartID: :0x05 Start operation done successfully at partition 0x05 Memory Programming ... Opening and parsing file: metadata.bin File : metadata.bin Size : 120.00 B Partition ID : 0x06 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:00.006 RUNNING Program ... PartID: :0x06 Start operation done successfully at partition 0x06 Memory Programming ... Opening and parsing file: metadata.bin File : metadata.bin Size : 120.00 B Partition ID : 0x07 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:00.006 RUNNING Program ... PartID: :0x07 Start operation done successfully at partition 0x07 Memory Programming ... Opening and parsing file: fip-stm32mp157f-dk2-optee-sdcard.bin File : fip-stm32mp157f-dk2-optee-sdcard.bin Size : 1.40 MB Partition ID : 0x08 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:01.677 RUNNING Program ... PartID: :0x08 Start operation done successfully at partition 0x08 Memory Programming ... Opening and parsing file: st-image-bootfs-openstlinux-weston-stm32mp1.ext4 File : st-image-bootfs-openstlinux-weston-stm32mp1.ext4 Size : 64.00 MB Partition ID : 0x10 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:01:20.335 RUNNING Program ... PartID: :0x10 Start operation done successfully at partition 0x10 Memory Programming ... Opening and parsing file: st-image-vendorfs-openstlinux-weston-stm32mp1.ext4 File : st-image-vendorfs-openstlinux-weston-stm32mp1.ext4 Size : 16.00 MB Partition ID : 0x11 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:22.228 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 : 614.92 MB Partition ID : 0x12 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:13:08.261 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 : 128.00 MB Partition ID : 0x13 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:02:45.173 RUNNING Program ... PartID: :0x13 Start operation done successfully at partition 0x13 Flashing service completed successfully
Go see the STM32CubeProgrammer article:
- to use another Flash device than the microSD card one
- to know more about the flashing operation
6.2.2. Via microSD card raw image script[edit | edit source]
For microSD card, you can create a raw image with the script available with images and after populate the microSD card.
Step for flashing an image:
- create a raw image with the tsv file associated to the board
- populate the microSD card with a raw tools
On images directory, a script is available to help you to create a raw image, scripts/create_sdcard_from_flashlayout.sh.
The script parameters:
- Flashlayout tsv file.
- --compress : to compress the raw image
Script environment variables:
- DEVICE: name of device on which the raw image will be writed (variable used to generate help at end of script execution)
- SDCARD_SIZE: size of sdcard (size on MB)
- ROOTFS_SIZE: size of rootfs (size on MB) which permit to extend the size of rootfs partition.
Let's start by creating a raw image for stm32mp157c-ev1 board:
./scripts/create_sdcard_from_flashlayout.sh flashlayout_st-image-weston/optee/FlashLayout_sdcard_stm32mp157c-ev1-optee.tsv
if you know the device on which the raw image will be copied you can specified it like this (here the microSD card is availabele via /dev/sda)
DEVICE=/dev/sda ./scripts/create_sdcard_from_flashlayout.sh flashlayout_st-image-weston/optee/FlashLayout_sdcard_stm32mp157c-ev1-optee.tsv
Create Raw empty image: flashlayout_st-image-weston/optee/../../FlashLayout_sdcard_stm32mp157c-ev1-optee.raw of 5120MB
Create partition table:
[CREATED] part 01: fsbl1 [partition size 256.0 KiB]
[CREATED] part 02: fsbl2 [partition size 256.0 KiB]
[CREATED] part 03: metadata1 [partition size 256.0 KiB]
[CREATED] part 04: metadata2 [partition size 256.0 KiB]
[CREATED] part 05: fip-a [partition size 4.0 MiB]
[CREATED] part 06: fip-b [partition size 4.0 MiB]
[CREATED] part 07: u-boot-env [partition size 512.0 KiB]
[CREATED] part 08: bootfs [partition size 64.0 MiB]
[CREATED] part 09: vendorfs [partition size 16.0 MiB]
[CREATED] part 10: rootfs [partition size 4.0 GiB]
[CREATED] part 11: userfs [partition size 934.5 MiB]
Partition table from flashlayout_st-image-weston/optee/../../FlashLayout_sdcard_stm32mp157c-ev1-optee.raw
Disk flashlayout_st-image-weston/optee/../../FlashLayout_sdcard_stm32mp157c-ev1-optee.raw: 10485760 sectors, 5.0 GiB
Sector size (logical): 512 bytes
Disk identifier (GUID): F254D924-EAA4-452C-9B35-121179726EEF
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 10485726
Partitions will be aligned on 2-sector boundaries
Total free space is 0 sectors (0 bytes)
Number Start (sector) End (sector) Size Code Name
1 34 545 256.0 KiB 8301 fsbl1
2 546 1057 256.0 KiB 8301 fsbl2
3 1058 1569 256.0 KiB FFFF metadata1
4 1570 2081 256.0 KiB FFFF metadata2
5 2082 10273 4.0 MiB FFFF fip-a
6 10274 18465 4.0 MiB FFFF fip-b
7 18466 19489 512.0 KiB FFFF u-boot-env
8 19490 150561 64.0 MiB 8300 bootfs
9 150562 183329 16.0 MiB 8300 vendorfs
10 183330 8571937 4.0 GiB 8300 rootfs
11 8571938 10485726 934.5 MiB 8300 userfs
Partition GUID code: 19D5DF83-11B0-457B-BE2C-7559C13142A5 (Unknown)
Partition unique GUID: 4FD84C93-54EF-463F-A7EF-AE25FF887087
First sector: 2082 (at 1.0 MiB)
Last sector: 10273 (at 5.0 MiB)
Partition size: 8192 sectors (4.0 MiB)
Attribute flags: 0000000000000000
Partition name: 'fip-a'
Partition GUID code: 19D5DF83-11B0-457B-BE2C-7559C13142A5 (Unknown)
Partition unique GUID: 09C54952-D5BF-45AF-ACEE-335303766FB3
First sector: 10274 (at 5.0 MiB)
Last sector: 18465 (at 9.0 MiB)
Partition size: 8192 sectors (4.0 MiB)
Attribute flags: 0000000000000000
Partition name: 'fip-b'
Partition GUID code: 0FC63DAF-8483-4772-8E79-3D69D8477DE4 (Linux filesystem)
Partition unique GUID: E91C4E10-16E6-4C0E-BD0E-77BECF4A3582
First sector: 183330 (at 89.5 MiB)
Last sector: 8571937 (at 4.1 GiB)
Partition size: 8388608 sectors (4.0 GiB)
Attribute flags: 0000000000000000
Partition name: 'rootfs'
Populate raw image with image content:
[ FILLED ] part 01: fsbl1, image: arm-trusted-firmware/tf-a-stm32mp157c-ev1-optee-sdcard.stm32
[ FILLED ] part 02: fsbl2, image: arm-trusted-firmware/tf-a-stm32mp157c-ev1-optee-sdcard.stm32
[ FILLED ] part 03: metadata1, image: arm-trusted-firmware/metadata.bin
[ FILLED ] part 04: metadata2, image: arm-trusted-firmware/metadata.bin
[ FILLED ] part 05: fip-a, image: fip/fip-stm32mp157c-ev1-optee-sdcard.bin
[ FILLED ] part 08: bootfs, image: st-image-bootfs-openstlinux-weston-stm32mp1.ext4
[ FILLED ] part 09: vendorfs, image: st-image-vendorfs-openstlinux-weston-stm32mp1.ext4
[ FILLED ] part 10: rootfs, image: st-image-weston-openstlinux-weston-stm32mp1.ext4
[ FILLED ] part 11: userfs, image: st-image-userfs-openstlinux-weston-stm32mp1.ext4
###########################################################################
###########################################################################
RAW IMAGE generated: flashlayout_st-image-weston/optee/../../FlashLayout_sdcard_stm32mp157c-ev1-optee.raw
WARNING: before to use the command dd, please umount all the partitions
associated to SDCARD.
sudo umount `lsblk --list | grep sda | grep part | gawk '{ print $7 }' | tr '\n' ' '`
To put this raw image on sdcard:
sudo dd if=flashlayout_st-image-weston/optee/../../FlashLayout_sdcard_stm32mp157c-ev1-optee.raw of=/dev/sda bs=8M conv=fdatasync status=progress
(sda can be replaced by:
sdX if it's a device dedicated to receive the raw image
(where X can be a, b, c, d, e)
To mount bootfs partition:
udisksctl mount -b /dev/disk/by-partlabel/bootfs
After the dd command you can verify if copy are correctly done and partitions take into account
sgdisk /dev/sda -p
sgdisk /dev/sda -v
if '-v' command indicate a problem, please execute the following command:
sgdisk /dev/sda -e
###########################################################################
###########################################################################
One time the raw image is created, the microSD card can be populated via the command described on trace:
dd if=flashlayout_st-image-weston/optee/../../FlashLayout_sdcard_stm32mp157c-ev1-optee.raw of=/dev/sda bs=8M conv=fdatasync status=progres
Go see the How_to_populate_the_SD_card_with_dd_command article for more information.
7. Booting the board[edit | edit source]
Now that the image is flashed on the STM32MP157x-EV1 Evaluation board, let's finalize the system configuration:
- Step 1: check the configuration of the switches and jumpers:
- The boot related switches must be configured so that the device (e.g. microSD card ) on which the image has been flashed is selected as boot source.
- The jumpers related to the UART4 of the STM32MP15 microprocessor device must be set so that UART4 is used by the ST-LINK/V2-1 controller (7)
- The figure below shows the boot switches for the recommended boot from microSD card.
- Step 2: (optionally) connect a USB keyboard and/or a USB mouse (not provided) using the USB type-A ports (10 and 11).
- Step 3: (optionally) connect an Ethernet cable (not provided) to the dedicated connector (13).
- Step 4: if the Flash device is a microSD card, check that it is inserted into the dedicated slot (5).
- Step 5: connect the delivered power supply (5V, 3A) to the power connector (6) of the MB1263 daughterboard. Check that the display board (MB1230) is well connected. In this case, the 2 green LEDs (8) are switched on.
- Step 6: (optionally) install and configure a remote Terminal program (e.g. Minicom on Ubuntu Linux PC or Tera Term on Windows PC) onto your host PC, and connect
- either the ST-LINK/V2-1 USB micro-B port (7) to a host PC that runs a Terminal program with ST-LINK/V2-1 virtual port (recommended method)
- or the RS232 UART4 connector (12) to the host PC that runs a Terminal program with COM1 port.
- the ST-LINK/V2-1 USB micro-B port (7) and the RS232 UART4 connector (12) cannot be used simultaneously: see how to set the JP4 and JP5 jumpers to select one of the two configurations
- Step 7: press the reset button (9) to reset the board
The board boots and the system will be available after few seconds.
8. Checking the boot sequence[edit | edit source]
Assuming you have performed the optional step 6 above, the information (coming successively from the TF-A, OP-TEE OS, U-Boot and the Linux operating system that is booting on the board), should be displayed on the host PC Terminal.
Information |
The information displayed below might differ from that on your own application, and should just be considered as 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.
9. Mouse, keyboard and Ethernet hot-plugs[edit | 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 end0: Link is Up - 1Gbps/Full - flow control rx/tx [ 1215.363377] IPv6: ADDRCONF(NETDEV_CHANGE): end0: link becomes ready [ 1215.391068] Link is Up - 1000/Half
or on STM32MP13x lines for the second Ethernet interface
[ 117.370989] stm32-dwmac 5800e000.eth2 end1: Link is Up - 100Mbps/Full - flow control rx/tx [ 117.377950] IPv6: ADDRCONF(NETDEV_CHANGE): end1: link becomes ready
10. Remote and local Terminal programs[edit | 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 ip 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 .
11. Executing basic commands[edit | edit source]
Information |
The outputs of the commands executed below are examples; the outputs obtained might differ. |
11.1. Having a look at the OpenSTLinux directory structure[edit | 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 | edit source]
Information |
Obviously, what you obtain might differ from what is displayed on the Output example column. |
For ecosystem release v5.1.0 [edit | edit source]
Software | How to get its version | Output example |
---|---|---|
TF-A | TF-A Version number |
NOTICE: BL2: v2.8-stm32mp1-r1.1(debug):lts-v2.8.15-dirty |
U-Boot | See the version displayed in the console |
2022.10-stm32mp-r2 [...] |
Linux kernel |
cat /proc/version |
Linux version 6.1.82 (xxxx@yyyy) (arm-ostl-linux-gnueabi-gcc (GCC) 12.3.0 ) [...] |
GCC |
cat /proc/version |
Linux version 6.1.82 (xxxx@yyyy) (arm-ostl-linux-gnueabi-gcc (GCC) 12.3.0) [...] |
Yocto Project |
grep DISTRO_CODENAME /etc/build |
DISTRO_CODENAME = mickledore |
Weston |
weston --version |
weston 11.0.1 |
GStreamer |
gst-play-1.0 --version |
GStreamer 1.22.6 |
GPU (only on STM32MP15x lines ) |
cat /sys/kernel/debug/gc/version |
6.4.15.6.691815 built [...] |
11.3. Configuration tips[edit | edit source]
11.4. Getting board IP address[edit | edit source]
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 end0 3: end0: <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 end0 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 end0 end0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:xx.xx.xx.xx Bcast:xx.xx.xx.xx Mask:255.255.252.0 inet6 addr: xxxx::xx:xx:xx:xx/xx Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2619 errors:0 dropped:0 overruns:0 frame:0 TX packets:1311 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:353250 (344.9 KiB) TX bytes:118305 (115.5 KiB) Interrupt:247
11.5. Copying a file from your host PC to your board (and reciprocally)[edit | edit source]
- How to transfer a file over network (recommended method)
11.6. Miscellaneous commands[edit | edit source]
Information |
The outputs of the commands executed below are examples; the outputs that you obtain might differ. |
11.6.1. Printing distribution specific information[edit | edit source]
cat /etc/os-release ID=openstlinux-weston NAME="ST OpenSTLinux - Weston - (A Yocto Project Based Distro)" VERSION="4.2.4-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26 (Mickledore)" VERSION_ID=4.2.4-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26 VERSION_CODENAME="mickledore" PRETTY_NAME="ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 4.2.4-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26 (Mickledore)"
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 |
VERSION_CODENAME | Code name for the distribution |
PRETTY_NAME | A full pretty name of the release |
11.6.2. Printing system information[edit | edit source]
uname -a Linux stm32mp1 6.1.82 #1 SMP PREEMPT Fri Mar 15 18:27:50 UTC 2024 armv7l GNU/Linux
Where:
Linux | Kernel name |
stm32mp1 | Network node hostname |
6.1.82 | Kernel release |
#1 SMP PREEMPT Fri Mar 15 18:27:50 UTC 2024 | Kernel version |
armv7l | Machine hardware name |
GNU/Linux | Operating system |
11.6.3. Printing Linux kernel and GCC versions[edit | edit source]
cat /proc/version Linux version 6.1.82 (oe-user@oe-host) (arm-ostl-linux-gnueabi-gcc (GCC) 12.3.0, GNU ld (GNU Binutils) 2.40.0.20230703) #1 SMP PREEMPT Fri Mar 15 18:27:50 UTC 2024
Where:
Linux | Kernel name |
version 6.1.82 | Kernel release |
(xxxx@yyyy) | Person (xxxx) who compiled the kernel, and machine (yyyy) where it happened |
(arm-ostl-linux-gnueabi-gcc (GCC) 12.3.0 ) | Version of the GCC compiler used to compile the kernel |
#1 SMP PREEMPT Fri Mar 15 18:27:50 UTC 2024 | 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 | edit source]
df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 116M 0 116M 0% /dev
/dev/mmcblk0p10 684M 453M 184M 72% /
tmpfs 195M 176K 195M 1% /dev/shm
tmpfs 78M 8.8M 70M 12% /run
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
tmpfs 195M 16K 195M 1% /tmp
/dev/mmcblk0p8 55M 39M 12M 77% /boot
/dev/mmcblk0p9 14M 5.9M 6.8M 47% /vendor
tmpfs 195M 96K 195M 1% /var/volatile
/dev/mmcblk0p11 14G 45M 13G 1% /usr/local
tmpfs 39M 4.0K 39M 1% /run/user/1000
tmpfs 39M 0 39M 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 | edit source]
12.1. Examples running on Cortex-A7[edit | 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) |
Displaying a fullscreen camera preview |
Taking a picture |
12.2. Examples running on Cortex-M4[edit | edit source]
Please read STM32CubeMP15 Package article.
13. Fast links to essential commands[edit | 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.
Information |
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 |
14. How to go further?[edit | edit source]
Now that the image is flashed on the STM32MP15 Evaluation board, you might want to switch to the STM32MPU Developer Package, in order to modify or tune the STM32MPU Embedded Software distribution with your own developments.