This article shows how to start up a STM32MP257x-EV1 Evaluation boards (high-end development platforms for the STM32MP25 microprocessor devices). It is valid for the STM32MP257F-EV1
Evaluation boards: the part numbers are specified in the STM32MP25 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 STM32MP25 Evaluation board
2. Starter Package step-by-step overview[edit | edit source]
The following steps are required to get the STM32MP25 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 STM32MP25 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 |
STM32MP257x-EV1 Evaluation board | High-end development platform for the STM32MP25 microprocessor device including:
|
microSDTM card | It is populated with OpenSTLinux distribution (Linux software), and provides extra storage capacity. A 8-Gbyte minimum MicroSD card is needed |
USB type-C cable | It connects the STM32MP257x-EV1 Evaluation board to the PC through the USB type-C (ST-LINK/V3) connector |
USB type-C cable | It connects the STM32MP257x-EV1 Evaluation board to an USB OTG device through the USB micro-AB connector |
Optional
LCD screen | Several types of screen are possible : LVDS, DSI or HDMI |
Power supply | (Optional) Power supply block (5V, 3A) for the MB1936 board. |
USB keyboard and mouse | Thanks to the USB type A connectors, the STM32MP257x-EV1 Evaluation board can be equipped with a full-size keyboard and mouse |
Ethernet cable | It can connect the STM32MP257x-EV1 Evaluation board to a network through the RJ45 connector |
RS232 cable | It can connect the STM32MP257x-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 STM32MP257x-EV1 Evaluation board to CAN devices through the CAN FD/TT connectors |
Trace cable | It can connect the STM32MP257x-EV1 Evaluation board to an external tool through the Trace connector |
JTAG cable | It can connect the STM32MP257x-EV1 Evaluation board to an external tool through the JTAG connector |
Optionally, devices and extension boards might be plugged to the STM32MP257x-EV1 Evaluation board thanks to connectors such as:
- the GPIO expansion connector
- the PCIe connector
- the Mikro bus connector
- ...
The following figure shows the material not included in STM32MP25 Evaluation board package, that is used in this Starter Package.
4. Assembling the board[edit | edit source]
STM32MP257x-EV1 - board assembly
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.15.0
| |
Installation |
$> ./SetupSTM32CubeProgrammer-2.15.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 STM32MP2 image (binaries) is delivered through one tarball file named
- Download and install the STM32MP2 image (binaries):
The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA0048). The detailed content licenses can be found here.
STM32MP2 Starter Package image - STM32MP2-Ecosystem-v5.0.2 BETA release | |
---|---|
Download |
|
Installation |
$ cd <working directory path>/Starter-Package
$ tar xvf unknown revision
|
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>/unknown revision / directory:
stm32mp2 ├── arm-trusted-firmware TF-A binaries for FSBL partitions and supported boot chains │ ├── metadata.bin Meta data binary for METADATA partition for the supported boards │ ├── tf-a-stm32mp257f-ev1-emmc.stm32 TF-A binary for FSBL partition (eMMC boot device) for STM32MP257F-EV1 → STM32MP25 Evaluation boards │ ├── tf-a-stm32mp257f-ev1-nor.stm32 TF-A binary for FSBL partition (NOR boot device) for STM32MP257F-EV1 → STM32MP25 Evaluation boards │ ├── tf-a-stm32mp257f-ev1-sdcard.stm32 TF-A binary for FSBL partition (microSD card boot device) for STM32MP257F-EV1 → STM32MP25 Evaluation boards │ ├── tf-a-stm32mp257f-ev1-uart.stm32 TF-A binary for uart serial boot mode (STM32CubeProgrammer) for STM32MP257F-EV1 → STM32MP25 Evaluation boards │ └── tf-a-stm32mp257f-ev1-usb.stm32 TF-A binary for usb serial boot mode (STM32CubeProgrammer) for STM32MP257F-EV1 → STM32MP25 Evaluation boards ├── fip FIP binaries for FIP partitions and supported boot chains │ ├── fip-stm32mp257f-ev1-optee.bin FIP binary for FIP partition (optee boot chain) for STM32MP257F-EV1 → STM32MP25 Evaluation boards │ └── fip-stm32mp257f-ev1-ddr.bin FIP ddr binary for helping to flash (STM32CubeProgrammer) for STM32MP257F-EV1 → STM32MP25 Evaluation boards ├── flashlayout_st-image-weston Flash layout files (description of the partitions) for the supported boot chains on supported boot devices and boards │ ├── extensible Flash layout files for microSD card boot device with no userfs partition but a rootfs partition extended to microSD card size │ │ └── FlashLayout_sdcard_stm32mp257f-ev1-extensible.tsv (recommended setup for package repository service) microSD card boot device with rootfs partition extended to microSD card size for STM32MP257F-EV1 → STM32MP25 Discovery kits │ └── optee Flash layout files for optee boot chain │ ├── FlashLayout_emmc_stm32mp257f-ev1-optee.tsv eMMC boot device for STM32MP257F-EV1 → STM32MP25 Evaluation boards │ ├── FlashLayout_nor-sdcard_stm32mp257f-ev1-optee.tsv NOR boot device and microSD card device for STM32MP257F-EV1 → STM32MP25 Evaluation boards │ └── FlashLayout_sdcard_stm32mp257f-ev1-optee.tsv microSD card boot device for STM32MP257F-EV1 → STM32MP25 Evaluation boards ├── scripts │ └── create_sdcard_from_flashlayout.sh ├── st-image-bootfs-openstlinux-weston-stm32mp2.ext4 Binary for bootfs partition on eMMC and microSD card devices ├── st-image-bootfs-openstlinux-weston-stm32mp2.manifest ├── st-image-userfs-openstlinux-weston-stm32mp2.ext4 Binary for userfs partition on eMMC and microSD card devices ├── st-image-userfs-openstlinux-weston-stm32mp2.manifest ├── st-image-vendorfs-openstlinux-weston-stm32mp2.ext4 Binary for vendorfs partition on eMMC and microSD card devices ├── st-image-vendorfs-openstlinux-weston-stm32mp2.manifest ├── st-image-weston-openstlinux-weston-stm32mp2.ext4 Binary for rootfs partition on eMMC and microSD card devices ├── st-image-weston-openstlinux-weston-stm32mp2.license ├── st-image-weston-openstlinux-weston-stm32mp2-license_content.html License summary for all packages needed to feed all partitions ├── st-image-weston-openstlinux-weston-stm32mp2.manifest
6.2. Image flashing[edit | edit source]
The STM32CubeProgrammer tool is used to flash the STM32MP25 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 trusted 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:
- 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 USB type-C (power supply) port (4) to the power connector or a host PC
- 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>/stm32mp2-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/images/stm32mp2
If you have followed the the proposition to organize the working directory, the command is cd Starter-Package/stm32mp2-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/images/stm32mp2
- 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> ------------------------------------------------------------------- ===== DFU Interface ===== Total number of available STM32 device in DFU mode: 1 Device Index : USB1 USB Bus Number : 003 USB Address Number : 002 Product ID : DFU in HS Mode @Device ID /0x505, @Revision ID /0x100 Serial number : 003A00423836500B00343046 Firmware version : 0x0110 Device ID : 0x0505
- Flash the microSD card with the image for the trusted boot chain
STM32_Programmer_CLI -c port=usb1 -w flashlayout_st-image-weston/optee/FlashLayout_sdcard_stm32mp257c-ev1-optee.tsv
- This operation takes several minutes (mainly depending of the rootfs size). A successful flashing outputs the following log:
------------------------------------------------------------------- STM32CubeProgrammer <tool version> ------------------------------------------------------------------- USB speed : High Speed (480MBit/s) Manuf. ID : STMicroelectronics Product ID : DFU in HS Mode @Device ID /0x505, @Revision ID /0x100 SN : 003A00423836500B00343046 DFU protocol: 1.1 Board : -- Device ID : 0x0505 Start Embedded Flashing service Memory Programming ... Opening and parsing file: tf-a-stm32mp257f-ev1-usb.stm32 File : tf-a-stm32mp257f-ev1--usb.stm32 Size : 204.38 KB Partition ID : 0x01 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:02.315 RUNNING Program ... PartID: :0x01 Reconnecting the device ... USB speed : High Speed (480MBit/s) Manuf. ID : STMicroelectronics Product ID : DFU @Device ID /0x505, @Revision ID /0x1000, @Name /STM32MP257FAI Rev.A, SN : 003A00423836500B00343046 DFU protocol: 1.1 Board : -- Device ID : 0x0505 Device name : STM32MP257FAI Rev.A Device type : Device CPU : Start operation done successfully at partition 0x01 Memory Programming ... Opening and parsing file: fip-stm32mp257f-ev1-ddr.bin File : fip-stm32mp257f-ev1-ddr.bin Size : 29.38 KB Partition ID : 0x02 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:00.015 RUNNING Program ... PartID: :0x02 Reconnecting the device ... USB speed : High Speed (480MBit/s) Manuf. ID : STMicroelectronics Product ID : DFU @Device ID /0x505, @Revision ID /0x1000, @Name /STM32MP257FAI Rev.A, SN : 003A00423836500B00343046 DFU protocol: 1.1 Board : -- Device ID : 0x0505 Device name : STM32MP257FAI Rev.A Device type : Device CPU : Start operation done successfully at partition 0x02 Memory Programming ... Opening and parsing file: fip-stm32mp257f-ev1-optee.bin File : fip-stm32mp257f-ev1-optee.bin Size : 2.44 MB Partition ID : 0x03 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:02.184 RUNNING Program ... PartID: :0x03 Reconnecting the device ... USB speed : High Speed (480MBit/s) Manuf. ID : STMicroelectronics Product ID : USB download gadget@Device ID /0x505, @Revision ID /0x1000, @Name /STM32MP257FAI Rev.A, SN : 003A00423836500B00343046 DFU protocol: 1.1 Board : -- Device ID : 0x0505 Device name : STM32MP257FAI Rev.A Device type : Device CPU : 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 /0x505, @Revision ID /0x1000, @Name /STM32MP257FAI Rev.A, SN : 003A00423836500B00343046 DFU protocol: 1.1 Board : -- Device ID : 0x0505 Device name : STM32MP257FAI Rev.A Device type : Device CPU : Flashlayout partition started successfully Memory Programming ... Opening and parsing file: tf-a-stm32mp257f-ev1-sdcard.stm32 File : tf-a-stm32mp257f-ev1-sdcard.stm32 Size : 207.66 KB Partition ID : 0x04 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:00.088 RUNNING Program ... PartID: :0x04 Start operation done successfully at partition 0x04 Memory Programming ... Opening and parsing file: tf-a-stm32mp257f-ev1-sdcard.stm32 File : tf-a-stm32mp257f-ev1-sdcard.stm32 Size : 207.66 KB Partition ID : 0x05 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:00.089 RUNNING Program ... PartID: :0x05 Start operation done successfully at partition 0x05 Memory Programming ... Opening and parsing file: metadata.bin File : metadata.bin Size : 96.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 : 96.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-stm32mp257f-ev1-optee.bin File : fip-stm32mp257f-ev1-optee.bin Size : 2.44 MB Partition ID : 0x08 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:00.984 RUNNING Program ... PartID: :0x08 Start operation done successfully at partition 0x08 Memory Programming ... Opening and parsing file: st-image-bootfs-openstlinux-weston-stm32mp25-revab.ext4 File : st-image-bootfs-openstlinux-weston-stm32mp25-revab.ext4 Size : 64.00 MB Partition ID : 0x10 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:28.705 RUNNING Program ... PartID: :0x10 Start operation done successfully at partition 0x10 Memory Programming ... Opening and parsing file: st-image-vendorfs-openstlinux-weston-stm32mp25-revab.ext4 File : st-image-vendorfs-openstlinux-weston-stm32mp25-revab.ext4 Size : 48.00 MB Partition ID : 0x11 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:21.442 RUNNING Program ... PartID: :0x11 Start operation done successfully at partition 0x11 Memory Programming ... Opening and parsing file: st-image-weston-openstlinux-weston-stm32mp25-revab.ext4 File : st-image-weston-openstlinux-weston-stm32mp25-revab.ext4 Size : 746.66 MB Partition ID : 0x12 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:05:39.847 RUNNING Program ... PartID: :0x12 Start operation done successfully at partition 0x12 Memory Programming ... Opening and parsing file: st-image-userfs-openstlinux-weston-stm32mp25-revab.ext4 File : st-image-userfs-openstlinux-weston-stm32mp25-revab.ext4 Size : 128.00 MB Partition ID : 0x13 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:58.746 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.3. Image flashing via raw image[edit | edit source]
The script create_sdcard_from_flashlayout.sh present with the downloaded image permit to generate a raw image ready to flash microSD on STM32MP25 Evaluation board.
Let's generate raw image and flash it on the microSD card:
- Get the downloaded image
- call the script create_sdcard_from_flashlayout.sh with the flashlayout of STM32MP25 Evaluation board as parameter
./script/create_sdcard_from_flashlayout.sh flashlayout_st-image-weston/optee/FlashLayout_sdcard_stm32mp257f-ev1-optee.tsv
- Flash the microSD from the Linux PC via dd command (follow the instruction available at the end of execution of create_sdcard_from_flashlayout.sh script).
dd if=FlashLayout_sdcard_stm32mp257f-ev1-optee.raw of=<microSD destination> bs=8M conv=fdatasync status=progress
For more information, see How to populate the SD card with dd command.
7. Booting the board[edit | edit source]
STM32MP25 Evaluation boards - starting for the first time
Subpart - STM32MP2 - Starter Package
8. Examples[edit | edit source]
![]() |
The examples are under construction: few of them are proposed below; more examples will come with the next releases. |
8.1. Examples running on Cortex-A35[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 |
8.2. Examples running on Cortex-M33[edit | edit source]
Please read STM32CubeMP2 Package article.
9. 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.
10. How to go further?[edit | edit source]
Now that the image is flashed on the STM32MP25 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.