STM32MP2 Developer Package - OpenSTLinux BSP

Revision as of 11:36, 1 July 2024 by Registered User (→‎STM32MPU ecosystem v5.1.0 release)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Applicable for STM32MP25x lines


This article aims at giving the following information:

  • How to get the latest OP-TEE, TF-A, U-Boot, Linux® kernel, gcnano-driver, external device tree and debug symbols for the STM32 microprocessor series
  • Where to find the associated release note
  • Where to find the previous releases (archives)
Warning white.png Warning
To use efficiently this package, go through the Developer Package article relative to your STM32 microprocessor series: Category:Developer Package

1. STM32MPU ecosystem v5.1.0 release[edit source]

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.

  • The OpenSTLinux BSP package is delivered through a tarball file named en.sources-stm32mp2-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.tar.gz for STM32MP257F-EV1 More info green.png boards.

  • Download and install the STM32MPU OpenSTLinux BSP package.
STM32MPU Developer Package - STM32MPU ecosystem v5.1.0 release
Download
  • Go on st.com to download the STM32MP2 Developer Package, en.sources-stm32mp2-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.tar.gz file.
Installation
cd <working directory path>/Developer-Package
tar xvf en.sources-stm32mp2-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.tar.gz
Release note

Details about the content of the OpenSTLinux BSP package are available in the associated STM32 MPU OpenSTLinux release note.

Archive box.png For information on older releases, go to Archives.

  • In sub-directories from <Developer Package installation directory>/stm32mp2-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/aarch64-ostl-linux, several tarball archive of the OpenSTLinux BSP components can be found.
  • The external device tree directory is named external-dt-<ext-dt version>:
external-dt-v5.0-stm32mp-r1-r0		external device tree installation directory
├── external-dt-v5.0-stm32mp-r1-r0.tar.xz	Tarball file of the external device tree source code
└── README.HOW_TO.txt				Helper file for external device tree management: reference for external device tree usage
  • The Linux kernel installation directory is named linux-stm32mp-<kernel version>:
linux-stm32mp-6.1.82-stm32mp-r2-r0	Linux kernel installation directory
├── [*].patch					ST patches to apply during the Linux kernel preparation (see next chapter)
├── fragment-[*].config				ST configuration fragments to apply during the Linux kernel configuration (see next chapter)
├── optional-fragment-[*].config		Optional ST configuration fragments to apply during the Linux kernel configuration depending on your needs (SMP or not, signature or not, ...)
├── linux-6.1.82.tar.xz				Tarball file of the Linux kernel source code
├── README.HOW_TO.txt				Helper file for Linux kernel management: reference for Linux kernel build
└── series					List of all ST patches to apply
  • The gcnano driver installation directory is named gcnano-driver-stm32mp-<gcnano driver version>:
gcnano-driver-stm32mp-6.4.15-stm32mp2-r1-r0/			gcnano-driver installation directory
├── [*].patch							ST patches to apply during the gcnano driver preparation (see next chapter)
├── gcnano-driver-stm32mp-6.4.15-stm32mp2-r1-r0.tar.xz	Tarball file of the gcnano-driver source code
├── README.HOW_TO.txt						Helper file for gcnano-driver management: reference for gcnano-driver  build
└── series							List of all ST patches to apply
  • The ddr phy installation directory is named stm32mp-ddr-phy-<ddr phy version>:
stm32mp-ddr-phy-A2022.11-r0			ddr-phy installation directory
├── stm32mp-ddr-phy-A2022.11-r0.tar.xz	Tarball file of the stm32mp-ddr-phy binaries
└── README.HOW_TO.txt						Helper file for ddr phy management: reference for ddr-phy use
  • The OP-TEE installation directory is named optee-os-stm32mp-<OP-TEE version>:
optee-os-stm32mp-3.19.0-stm32mp-r2-r0		OP-TEE installation directory
├── [*].patch						ST patches to apply during the OP-TEE preparation (see next chapter)
├── fiptool-stm32mp					tool for fip generation
├── fonts.tar.gz					fonts for OPTEE-OS
├── Makefile.sdk					Makefile for the OP-TEE compilation
├── optee-os-stm32mp-3.19.0-stm32mp-r2-r0.tar.xz	Tarball file of the OP-TEE source code
├── README.HOW_TO.txt					Helper file for OP-TEE management: reference for OP-TEE build
└── series						List of all ST patches to apply
  • The U-Boot installation directory is named u-boot-stm32mp-<U-Boot version>:
u-boot-stm32mp-v2022.10-stm32mp-r2-r0		U-Boot installation directory
├── [*].patch						ST patches to apply during the U-Boot preparation (see next chapter)
├── fiptool-stm32mp					tool for fip generation
├── fragment-[*].fb_cfg					ST configuration fragments to apply during the U-Boot configuration to support fastboot
├── Makefile.sdk					Makefile for the U-Boot compilation
├── README.HOW_TO.txt					Helper file for U-Boot management: reference for U-Boot build
├── series						List of all ST patches to apply
└── u-boot-stm32mp-v2022.10-stm32mp-r2-r0.tar.xz	Tarball file of the U-Boot source code
  • The TF-A installation directory is named tf-a-stm32mp-<TF-A version>:
tf-a-stm32mp-v2.8.15-stm32mp-r2-r0			TF-A installation directory
├── [*].patch						ST patches to apply during the TF-A preparation (see next chapter)
├── fiptool-stm32mp					tool for fip generation
├── Makefile.sdk					Makefile for the TF-A compilation
├── README.HOW_TO.txt					Helper file for TF-A management: reference for TF-A build
├── series						List of all ST patches to apply
├── tf-a-st-ddr.tar.gz					Tarball file of the DDR firmware
└── tf-a-stm32mp-v2.8.15-stm32mp-r2-r0.tar.xz	Tarball file of the TF-A source code
  • The FIP artifacts directory is named FIP_artifacts:
FIP_artifacts
├── arm-trusted-firmware
│   ├── bl2
│   │   ├── tf-a-stm32mp257f-dk-[*]-optee-emmc.bin			TF-A binary for FSBL partition (eMMC boot device) for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── tf-a-stm32mp257f-dk-[*]-optee-sdcard.bin			TF-A binary for FSBL partition (microSD card boot device) for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── tf-a-stm32mp257f-dk-[*]-uart.bin				TF-A binary for uart serial boot partition (STM32CubeProgrammer) for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── tf-a-stm32mp257f-dk-[*]-usb.bin				TF-A binary for usb serial boot partition (STM32CubeProgrammer) for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── tf-a-stm32mp257f-dk-optee-emmc.bin
│   │   ├── tf-a-stm32mp257f-dk-optee-sdcard.bin
│   │   ├── tf-a-stm32mp257f-dk-uart.bin
│   │   ├── tf-a-stm32mp257f-dk-usb.bin
│   │   ├── tf-a-stm32mp257f-ev1-[*]-optee-emmc.bin			TF-A binary for FSBL partition (eMMC boot device) for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   ├── tf-a-stm32mp257f-ev1-[*]-optee-sdcard.bin			TF-A binary for FSBL partition (microSD card boot device) for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   ├── tf-a-stm32mp257f-ev1-[*]-uart.bin				TF-A binary for uart serial boot partition (STM32CubeProgrammer) for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   ├── tf-a-stm32mp257f-ev1-[*]-usb.bin				TF-A binary for usb serial boot partition (STM32CubeProgrammer) for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   ├── tf-a-stm32mp257f-ev1-optee-emmc.bin
│   │   ├── tf-a-stm32mp257f-ev1-optee-nor.bin
│   │   ├── tf-a-stm32mp257f-ev1-optee-sdcard.bin
│   │   ├── tf-a-stm32mp257f-ev1-uart.bin
│   │   └── tf-a-stm32mp257f-ev1-usb.bin
│   ├── bl31
│   │   ├── stm32mp257f-dk-[*]-bl31-optee-emmc.dtb			TF-A dtb for eMMC boot device for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── stm32mp257f-dk-[*]-bl31-optee-sdcard.dtb			TF-A dtb for sdcard boot device for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── stm32mp257f-ev1-[*]-bl31-optee-emmc.dtb			TF-A dtb for eMMC boot device for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   ├── stm32mp257f-ev1-[*]-bl31-optee-nor.dtb			TF-A dtb for nor boot device for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   ├── stm32mp257f-ev1-[*]-bl31-optee-sdcard.dtb			TF-A dtb for sdcard boot device for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   ├── tf-a-bl31-stm32mp25-optee-emmc.bin
│   │   ├── tf-a-bl31-stm32mp25-optee-nor.bin
│   │   └── tf-a-bl31-stm32mp25-optee-sdcard.bin
│   ├── ddr
│   │   ├── ddr_pmu-stm32mp257f-dk-[*]-optee-emmc.bin			Trained DDR for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── ddr_pmu-stm32mp257f-dk-[*]-optee-sdcard.bin			Trained DDR for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── ddr_pmu-stm32mp257f-dk-[*]-uart.bin				Trained DDR for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── ddr_pmu-stm32mp257f-dk-[*]-usb.bin				Trained DDR for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── ddr_pmu-stm32mp257f-ev1-[*]-optee-emmc.bin			Trained DDR for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   ├── ddr_pmu-stm32mp257f-ev1-[*]-optee-nor.bin			Trained DDR for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   ├── ddr_pmu-stm32mp257f-ev1-[*]-optee-sdcard.bin		Trained DDR for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   ├── ddr_pmu-stm32mp257f-ev1-[*]-uart.bin			Trained DDR for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   └── ddr_pmu-stm32mp257f-ev1-[*]-usb.bin				Trained DDR for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   ├── fwconfig
│   │   ├── stm32mp257f-dk-[*]-fw-config-optee-emmc.dtb
│   │   ├── stm32mp257f-dk-[*]-fw-config-optee-sdcard.dtb
│   │   ├── stm32mp257f-ev1-[*]-fw-config-optee-emmc.dtb
│   │   ├── stm32mp257f-ev1-[*]-fw-config-optee-nor.dtb
│   │   └── stm32mp257f-ev1-[*]-fw-config-optee-sdcard.dtb
│   ├── metadata.bin
│   ├── tf-a-stm32mp257f-dk-[*]-optee-emmc.stm32			TF-A binary for FSBL partition (eMMC boot device) for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   ├── tf-a-stm32mp257f-dk-[*]-optee-sdcard.stm32			TF-A binary for FSBL partition (microSD card boot device) for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   ├── tf-a-stm32mp257f-dk-[*]-uart.stm32				TF-A binary for uart serial boot partition (nor boot device) for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   ├── tf-a-stm32mp257f-dk-[*]-usb.stm32				TF-A binary for usb serial boot partition (nor boot device) for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   ├── tf-a-stm32mp257f-ev1-[*]-optee-emmc.stm32			TF-A binary for FSBL partition (eMMC boot device) for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   ├── tf-a-stm32mp257f-ev1-[*]-optee-nor.stm32			TF-A binary for FSBL partition (nor boot device) for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   ├── tf-a-stm32mp257f-ev1-[*]-optee-sdcard.stm32			TF-A binary for FSBL partition (microSD card boot device) for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   ├── tf-a-stm32mp257f-ev1-[*]-uart.stm32				TF-A binary for uart serial boot partition (nor boot device) for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   └── tf-a-stm32mp257f-ev1-[*]-usb.stm32				TF-A binary for usb serial boot partition (nor boot device) for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
├── optee
│   ├── tee-header_v2-stm32mp25[*].bin
│   ├── tee-pageable_v2-stm32mp25[*].bin
│   └── tee-pager_v2-stm32mp25[*].bin
└── u-boot
    ├── u-boot-nodtb-stm32mp25-default.bin				U-Boot binary → STM32MP5 boards
    ├── u-boot-nodtb-stm32mp25-fastboot-emmc.bin			U-Boot binary with fastboot on eMMC→ STM32MP5 boards
    ├── u-boot-nodtb-stm32mp25-fastboot-sdcard.bin			U-Boot binary with fastboot on SD-Card→ STM32MP5 boards
    └── u-boot-stm32mp25[*].dtb						Device tree for U-Boot → STM32MP5 boards
  • The debug symbol files are located under the <Developer Package installation directory>/stm32mp2-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/images/stm32mp2 directory:
stm32mp2
├── arm-trusted-firmware
│   ├── bl31
│   │   └── debug
│   │       └── tf-a-bl31-stm32mp257f-[*].elf			Debug symbol file for bl31
│   └── debug
│       ├── debug-tf-a-stm32mp257f-[*].stm32			Debug file for FSBL → STM32MP25 boards
│       ├── tf-a-bl2-stm32mp25-optee-emmc.elf			Debug symbol file for TF-ATF-A for STM32MP25 for eMMC boot stage
│       ├── tf-a-bl2-stm32mp25-optee-nor.elf			Debug symbol file for TF-ATF-A for STM32MP25 for nor boot stage
│       ├── tf-a-bl2-stm32mp25-optee-sdcard.elf			Debug symbol file for TF-ATF-A for STM32MP25 forsdcard boot stage
│       ├── tf-a-bl2-stm32mp25-uart.elf				Debug symbol file for TF-ATF-A for STM32MP25 for UART downloading boot stage
│       └── tf-a-bl2-stm32mp25-usb.elf				Debug symbol file for TF-ATF-A for STM32MP25 for USB downloading boot stage
├── kernel
│   ├── config-6.1.82						Reference Config file for Linux kernel
│   └── vmlinux							Image of the Linux kernel
├── optee
│   └── debug
│       ├── tee-stm32mp257f-dk[*].elf				Debug symbol file for OP-TEE OS → STM32MP25 Discovery kits
│       └── tee-stm32mp257f-ev1[*].elf				Debug symbol file for OP-TEE OS → STM32MP25 Evaluation boards
└── u-boot
    └── debug
        ├── u-boot-stm32mp25-default.elf			Debug symbol file for U-Boot → STM32MP25
        ├── u-boot-stm32mp25-fastboot-emmc.elf			Debug symbol file for fastboot on eMMC for U-Boot → STM32MP25
        └── u-boot-stm32mp25-fastboot-sdcard.elf		Debug symbol file for fastboot on SD-Card for U-Boot → STM32MP25


2. Archives Archive box.png[edit source]

This wiki is for the v5 ecosystem releases. For information about the previous ecosystem releases, go through the Wiki archives.