Last edited one month ago

STM32MP2 Developer Package - OpenSTLinux BSP

Applicable for STM32MP23x lines, 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 v6.0.0 release[edit | 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.6-yocto-scarthgap-mpu-v24.11.06.tar.gz for STM32MP257F-EV1 More info green.png and STM32MP257F-DK More info green.png boards.

  • Download and install the STM32MPU OpenSTLinux BSP package.
STM32MPU Developer Package - STM32MPU ecosystem v6.0.0 release
Download
  • Go on st.com to download the STM32MP2 Developer Package, en.SOURCES-stm32mp2-openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06.tar.gz file.
Installation
cd <working directory path>/Developer-Package
tar xvf en.SOURCES-stm32mp2-openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06.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.6-yocto-scarthgap-mpu-v24.11.06/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-6.0-r0		external device tree installation directory
├── external-dt-6.0-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.6.48-stm32mp-r1-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.6.48.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.19-stm32mp2-r1-rc8-r0			gcnano-driver installation directory
├── [*].patch							ST patches to apply during the gcnano driver preparation (see next chapter)
├── gcnano-driver-stm32mp-6.4.19-stm32mp2-r1-rc8-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-4.0.0-stm32mp-r1-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-4.0.0-stm32mp-r1-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-v2023.10-stm32mp-r1-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-v2023.10-stm32mp-r1-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.10.5-stm32mp-r1-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.10.5-stm32mp-r1-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-stm32mp235f-dk-[optee/opteemin]-<boot storage>.bin			TF-A binary for FSBL partition for STM32MP235F-DK OSTL → STM32MP23 Discovery boards
│   │   ├── tf-a-stm32mp235f-dk-[optee/opteemin]-programmer-[uart/usb].bin		TF-A binary for FSBL partition for STM32MP235F-DK OSTL → STM32MP23 Discovery boards
│   │   ├── tf-a-stm32mp257f-dk-[optee/opteemin]-<boot storage>.bin			TF-A binary for FSBL partition for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── tf-a-stm32mp257f-dk-[optee/opteemin]-programmer-[uart/usb].bin		TF-A binary for FSBL partition for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── tf-a-stm32mp257f-ev1-[optee/opteemin]-<boot storage>.bin			TF-A binary for FSBL partition for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   └── tf-a-stm32mp257f-ev1-[optee/opteemin]-programmer-[uart/usb].bin		TF-A binary for FSBL partition for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   ├── bl31
│   │   ├── stm32mp235f-dk-bl31-[optee/opteemin]-<boot storage>.dtb			TF-A dtb for STM32MP235F-DK OSTL → STM32MP23 Discovery boards
│   │   ├── stm32mp235f-dk-bl31-[optee/opteemin]-programmer-[uart/usb].bin		TF-A dtb for STM32MP235F-DK OSTL → STM32MP23 Discovery boards
│   │   ├── stm32mp257f-dk-bl31-[optee/opteemin]-<boot storage>.dtb			TF-A dtb for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── stm32mp257f-dk-bl31-[optee/opteemin]-programmer-[uart/usb].bin		TF-A dtb for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── stm32mp257f-ev1-bl31-[optee/opteemin]-<boot storage>.dtb			TF-A dtb for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   ├── stm32mp257f-ev1-bl31-[optee/opteemin]-programmer-[uart/usb].bin		TF-A dtb for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   ├── tf-a-bl31-stm32mp235f-dk-[optee/opteemin]-<boot storage>.bin
│   │   ├── tf-a-bl31-stm32mp235f-dk-[optee/opteemin]-programmer-[uart/usb].bin
│   │   ├── tf-a-bl31-stm32mp257f-dk-[optee/opteemin]-<boot storage>.bin
│   │   ├── tf-a-bl31-stm32mp257f-dk-[optee/opteemin]-programmer-[uart/usb].bin
│   │   ├── tf-a-bl31-stm32mp257f-ev1-[optee/opteemin]-<boot storage>.bin
│   │   └── tf-a-bl31-stm32mp257f-ev1-[optee/opteemin]-programmer-[uart/usb].bin
│   ├── ddr
│   │   ├── ddr_pmu-stm32mp235f-dk-[optee/opteemin]-<boot storage>.bin			Trained DDR for STM32MP235F-DK OSTL → STM32MP23 Discovery boards
│   │   ├── ddr_pmu-stm32mp235f-dk-[optee/opteemin]-programmer-[uart/usb].bin		Trained DDR for STM32MP235F-DK OSTL → STM32MP23 Discovery boards
│   │   ├── ddr_pmu-stm32mp257f-dk-[optee/opteemin]-<boot storage>.bin			Trained DDR for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── ddr_pmu-stm32mp257f-dk-[optee/opteemin]-programmer-[uart/usb].bin		Trained DDR for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   │   ├── ddr_pmu-stm32mp257f-ev1-[optee/opteemin]-<boot storage>.bin			Trained DDR for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   │   └── ddr_pmu-stm32mp257f-ev1-[optee/opteemin]-programmer-[uart/usb].bin		Trained DDR for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   ├── fwconfig
│   │   ├── stm32mp235f-dk-fw-config-[optee/opteemin]-<boot storage>.dtb
│   │   ├── stm32mp235f-dk-fw-config-[optee/opteemin]-programmer-[uart/usb].dtb
│   │   ├── stm32mp257f-dk-[*]-fw-config-[optee/opteemin]-<boot storage>.dtb
│   │   ├── stm32mp257f-dk-[*]-fw-config-[optee/opteemin]-programmer-[uart/usb].dtb
│   │   ├── stm32mp257f-ev1-[*]-fw-config-[optee/opteemin]-<boot storage>.dtb
│   │   └── stm32mp257f-ev1-[*]-fw-config-[optee/opteemin]-programmer-[uart/usb].dtb
│   ├── metadata.bin
│   ├── tf-a-stm32mp235f-dk-[optee/opteemin]-<boot storage>.stm32			TF-A binary for FSBL partition for STM32MP235F-DK OSTL → STM32MP23 Discovery boards
│   ├── tf-a-stm32mp235f-dk-[optee/opteemin]-programmer-[uart/usb].stm32		TF-A binary for FSBL partition for STM32MP235F-DK OSTL → STM32MP23 Discovery boards
│   ├── tf-a-stm32mp257f-dk-[optee/opteemin]-<boot storage>.stm32			TF-A binary for FSBL partition for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   ├── tf-a-stm32mp257f-dk-[optee/opteemin]-programmer-[uart/usb].stm32		TF-A binary for usb/serial boot partition for STM32MP257F-DK OSTL → STM32MP25 Discovery boards
│   ├── tf-a-stm32mp257f-ev1-[optee/opteemin]-<boot storage>.stm32			TF-A binary for FSBL partition for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
│   └── tf-a-stm32mp257f-ev1-[optee/opteemin]-programmer-[uart/usb].stm32		TF-A binary for usb/serial boot partition for STM32MP257F-EV1 OSTL → STM32MP25 Evaluation boards
├── optee
│   ├── tee-[header/pageable/pager]_v2-stm32mp235f-dk[*].bin
│   ├── tee-[header/pageable/pager]_v2-stm32mp257f-dk[*].bin
│   └── tee-[header/pageable/pager]_v2-stm32mp25f-ev1[*].bin
└── u-boot
    ├── u-boot-nodtb-stm32mp23-default.bin				U-Boot binary → STM32MP23 boards
    ├── u-boot-nodtb-stm32mp23-fastboot-emmc.bin			U-Boot binary with fastboot on eMMC→ STM32MP23 boards
    ├── u-boot-nodtb-stm32mp23-fastboot-sdcard.bin			U-Boot binary with fastboot on SD-Card→ STM32MP23 boards
    ├── u-boot-stm32mp23[*].dtb						Device tree for U-Boot → STM32MP23 boards
    ├── u-boot-nodtb-stm32mp25-default.bin				U-Boot binary → STM32MP25 boards
    ├── u-boot-nodtb-stm32mp25-fastboot-emmc.bin			U-Boot binary with fastboot on eMMC→ STM32MP25 boards
    ├── u-boot-nodtb-stm32mp25-fastboot-sdcard.bin			U-Boot binary with fastboot on SD-Card→ STM32MP25 boards
    └── u-boot-stm32mp25[*].dtb						Device tree for U-Boot → STM32MP25 boards


  • The debug symbol files are located under the <Developer Package installation directory>/stm32mp2-openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06/images/stm32mp2 directory:
stm32mp2
├── arm-trusted-firmware
│   ├── bl31
│   │   └── debug
│   │       ├── tf-a-bl31-stm32mp235f-dk-[optee/opteemin]-<boot storage>.elf			Debug symbol file for bl31
│   │       ├── tf-a-bl31-stm32mp235f-dk-[optee/opteemin]-programmer-<boot storage>.elf		Debug symbol file for bl31
│   │       ├── tf-a-bl31-stm32mp257f-dk-[optee/opteemin]-<boot storage>.elf			Debug symbol file for bl31
│   │       ├── tf-a-bl31-stm32mp257f-dk-[optee/opteemin]-programmer-<boot storage>.elf		Debug symbol file for bl31
│   │       ├── tf-a-bl31-stm32mp257f-ev1-[optee/opteemin]-<boot storage>.elf			Debug symbol file for bl31
│   │       └── tf-a-bl31-stm32mp257f-ev1-[optee/opteemin]-programmer-<boot storage>.elf	Debug symbol file for bl31
│   └── debug
│       ├── debug-tf-a-stm32mp235f-dk-[optee/opteemin]-<boot storage>.stm32			Debug file for FSBL → STM32MP23 boards
│       ├── debug-tf-a-stm32mp235f-dk-[optee/opteemin]-programmer-<boot storage>.stm32		Debug file for FSBL → STM32MP23 boards
│       ├── debug-tf-a-stm32mp257f-dk-[optee/opteemin]-<boot storage>.stm32			Debug file for FSBL → STM32MP25 boards
│       ├── debug-tf-a-stm32mp257f-dk-[optee/opteemin]-programmer-<boot storage>.stm32		Debug file for FSBL → STM32MP25 boards
│       ├── debug-tf-a-stm32mp257f-ev1-[optee/opteemin]-<boot storage>.stm32			Debug file for FSBL → STM32MP25 boards
│       ├── debug-tf-a-stm32mp257f-ev1-[optee/opteemin]-programmer-<boot storage>.stm32		Debug file for FSBL → STM32MP25 boards
│       ├── tf-a-bl2-stm32mp235f-dk-[optee/opteemin]-<boot storage>.elf				Debug symbol file for TF-ATF-A for STM32MP23 for <storage> boot stage
│       ├── tf-a-bl2-stm32mp235f-dk-[optee/opteemin]-programmer-<boot storage>.elf		Debug symbol file for TF-ATF-A for STM32MP23 for USB/serial downloading boot stage
│       ├── tf-a-bl2-stm32mp257f-dk-[optee/opteemin]-<boot storage>.elf				Debug symbol file for TF-ATF-A for STM32MP25 for <storage> boot stage
│       ├── tf-a-bl2-stm32mp257f-dk-[optee/opteemin]-programmer-<boot storage>.elf		Debug symbol file for TF-ATF-A for STM32MP25 for USB/serial downloading boot stage
│       ├── tf-a-bl2-stm32mp257f-ev1-[optee/opteemin]-<boot storage>elf				Debug symbol file for TF-ATF-A for STM32MP25 for <storage> boot stage
│       └── tf-a-bl2-stm32mp257f-ev1-[optee/opteemin]-programmer-<boot storage>.elf		Debug symbol file for TF-ATF-A for STM32MP25 for USB/serial downloading boot stage
├── kernel
│   ├── config-6.6.48										Reference Config file for Linux kernel
│   └── vmlinux											Image of the Linux kernel
├── optee
│   └── debug
│       ├── tee-stm32mp235f-dk-[optee/opteemin].elf						Debug symbol file for OP-TEE OS → STM32MP23 Discovery kits
│       ├── tee-stm32mp257f-dk-[optee/opteemin].elf						Debug symbol file for OP-TEE OS → STM32MP25 Discovery kits
│       └── tee-stm32mp257f-ev1-[optee/opteemin].elf						Debug symbol file for OP-TEE OS → STM32MP25 Evaluation boards
└── u-boot
    └── debug
        ├── u-boot-stm32mp23-default.elf							Debug symbol file for U-Boot → STM32MP23
        ├── u-boot-stm32mp23-fastboot-emmc.elf							Debug symbol file for fastboot on eMMC for U-Boot → STM32MP23
        ├── u-boot-stm32mp23-fastboot-sdcard.elf						Debug symbol file for fastboot on SD-Card for U-Boot → STM32MP23
        ├── u-boot-stm32mp23-programmer.elf							Debug symbol file for programmer for U-Boot → STM32MP23
        ├── 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
        └── u-boot-stm32mp25-programmer.elf							Debug symbol file for programmer  for U-Boot → STM32MP25


2. Archives Archive box.png[edit | edit source]

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