Last edited 5 months ago

STM32MP1 Developer Package - OpenSTLinux BSP

This article aims at giving the following information:

  • How to get the latest OP-TEE, TF-A, U-Boot, Linux® kernel, gcnano-driver 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. STM32MP1 ecosystem v5.1.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-stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.tar.gz for STM32MP157x-EV1 More info green.png, STM32MP157x-DKx More info green.png and STM32MP135x-DK More info green.png boards.

  • Download and install the STM32MP1 OpenSTLinux BSP package.
STM32MP1 Developer Package - STM32MP1 ecosystem v5.1.0 release
Download
  • Go on st.com to download the STM32MP1 Developer Package, en.SOURCES-stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.tar.gz file.
Installation
cd <working directory path>/Developer-Package
tar xvf en.SOURCES-stm32mp1-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 the <Developer Package installation directory>/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/arm-ostl-linux-gnueabi, a tarball archive of the OpenSTLinux BSP components can be found.
  • 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-stm32mp1-r1-r0/		gcnano-driver installation directory
├── gcnano-driver-stm32mp-6.4.15-stm32mp1-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
  • 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
├── u-boot-stm32mp-v2022.10-stm32mp-r2-r0			U-Boot source code directory
├── 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
├── tf-a-stm32mp-v2.8.15-stm32mp-r2-r0		TF-A source code directory
├── 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-stm32mp-v2.8.15-stm32mp-r2-r0.tar.xz	Tarball file of the TF-A source code
  • 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
├── optee-os-stm32mp-3.19.0-stm32mp-r2-r0			OP-TEE source code directory
├── 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 FIP artifacts directory is named FIP_artifacts:
FIP_artifacts
├── arm-trusted-firmware
│   ├── fwconfig
│   │   ├── stm32mp13[*]-fw-config-optee.dtb		Device tree for FW config → STM32MP13 boards
│   │   └── stm32mp15[*]-fw-config-optee.dtb		Device tree for FW config → STM32MP15 boards
│   ├── metada.bin					Store boot information
│   ├── tf-a-stm32mp13[*].stm32				FSBL binary→ STM32MP13 boards
│   └── tf-a-stm32mp15[*].stm32				FSBL binary → STM32MP15 boards
├── optee
│   ├── tee-header_v2-stm32mp13[*].bin			Binary file for OP-TEE OS → STM32MP13 boards
│   ├── tee-header_v2-stm32mp15[*].bin			Binary file for OP-TEE OS → STM32MP15 kits
│   ├── tee-pageable_v2-stm32mp13[*].bin		Binary file for OP-TEE OS → STM32MP13 boards
│   ├── tee-pageable_v2-stm32mp15[*].bin		Binary file for OP-TEE OS → STM32MP15 boards
│   ├── tee-pager_v2-stm32mp13[*].bin			Binary file for OP-TEE OS → STM32MP13 boards
│   └── tee-pager_v2-stm32mp15[*].bin			Binary file for OP-TEE OS → STM32MP15 boards
└── u-boot
    ├── u-boot-nodtb-stm32mp13-default.bin
    ├── u-boot-nodtb-stm32mp15-default.bin
    ├── u-boot-nodtb-stm32mp13-fastboot-sdcard.bin	Binary file for fastboot on SD-Card for STM32MP13 boards
    ├── u-boot-nodtb-stm32mp15-fastboot-emmc.bin	Binary file for fastboot on eMMC for STM32MP15 boards
    ├── u-boot-nodtb-stm32mp15-fastboot-sdcard.bin	Binary file for fastboot on SD-Card for STM32MP15 boards
    ├── u-boot-stm32mp13[*].dtb				Device tree for U-Boot → STM32MP13 boards
    └── u-boot-stm32mp15[*].dtb				Device tree for U-Boot → STM32MP15 boards
  • The debug symbol files are located under the <Developer Package installation directory>/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/images/stm32mp1 directory:
stm32mp1
├── arm-trusted-firmware
│   └── debug
│       ├── debug-tf-a-stm32mp13[*].stm32	Debug file for FSBL → STM32MP13 boards
│       ├── debug-tf-a-stm32mp15[*].stm32	Debug file for FSBL → STM32MP15 boards
│       ├── tf-a-bl2-stm32mp13-sdcard.elf 	Debug symbol file for TF-ATF-A for STM32MP13 boards for emmc boot stage
│       ├── tf-a-bl2-stm32mp13-uart.elf 	Debug symbol file for TF-ATF-A for STM32MP13 boards for UART downloading boot stage
│       ├── tf-a-bl2-stm32mp13-usb.elf 		Debug symbol file for TF-ATF-A for STM32MP13 boards for USB downloading boot stage
│       ├── tf-a-bl2-stm32mp15-emmc.elf 	Debug symbol file for TF-ATF-A for STM32MP15 for emmc boot stage
│       ├── tf-a-bl2-stm32mp15-nand.elf 	Debug symbol file for TF-ATF-A for STM32MP15 for nand boot stage
│       ├── tf-a-bl2-stm32mp15-nor.elf 		Debug symbol file for TF-ATF-A for STM32MP15 for nor boot stage
│       ├── tf-a-bl2-stm32mp15-sdcard.elf 	Debug symbol file for TF-ATF-A for STM32MP15 for SDcard boot stage
│       ├── tf-a-bl2-stm32mp15-uart.elf 	Debug symbol file for TF-ATF-A for STM32MP15 for UART downloading boot stage
│       └── tf-a-bl2-stm32mp15-usb.elf 		Debug symbol file for TF-ATF-A for STM32MP15 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-stm32mp135f-dk.elf 		Debug symbol file for OP-TEE OS → STM32MP13 Discovery kits
│       ├── tee-stm32mp157a-dk1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Discovery kits
│       ├── tee-stm32mp157a-ev1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Evaluation boards
│       ├── tee-stm32mp157c-dk2.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Discovery kits
│       ├── tee-stm32mp157c-ed1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Evaluation boards
│       ├── tee-stm32mp157c-ev1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Evaluation boards
│       ├── tee-stm32mp157d-dk1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Discovery kits
│       ├── tee-stm32mp157d-ev1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Evaluation boards
│       ├── tee-stm32mp157f-dk2.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Discovery kits
│       ├── tee-stm32mp157f-ed1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Evaluation boards
│       └── tee-stm32mp157f-ev1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Evaluation boards
└── u-boot
    └── debug
        ├── u-boot-stm32mp13-default.elf 		Debug symbol file for U-Boot → STM32MP13 Discovery kits
        ├── u-boot-stm32mp*-fastboot*.elf 		Debug symbol file for U-Boot with fastboot enabled
        └── u-boot-stm32mp13-default.elf 		Debug symbol file for U-Boot → STM32MP13 Discovery kits


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

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

2.1. STM32MPU-Ecosystem-v5.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-stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21.tar.gz for STM32MP157x-EV1 More info green.png, STM32MP157x-DKx More info green.png and STM32MP135x-DK More info green.png boards.

  • Download and install the STM32MP1 OpenSTLinux BSP package.
STM32MP1 Developer Package - STM32MP1 ecosystem v5.0.0 release
Download
  • Go on st.com to download the STM32MP1 Developer Package, en.sources-stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21.tar.gz file.
Installation
cd <working directory path>/Developer-Package
tar xvf en.sources-stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21.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 the <Developer Package installation directory>/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/sources/arm-ostl-linux-gnueabi/, a tarball archive of the OpenSTLinux BSP components can be found.
  • The Linux kernel installation directory is named linux-stm32mp-<kernel version>:
linux-stm32mp-6.1.28-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.1.28.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.13-stm32mp-r1-r0		gcnano-driver installation directory
├── gcnano-driver-stm32mp-6.4.13-stm32mp-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
  • The U-Boot installation directory is named u-boot-stm32mp-<U-Boot version>:
u-boot-stm32mp-v2022.10-stm32mp-r1-r0			U-Boot installation directory
├── [*].patch						ST patches to apply during the U-Boot preparation (see next chapter)
├── u-boot-stm32mp-v2022.10-stm32mp-r1			U-Boot source code directory
├── 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-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.8.6-stm32mp-r1-r0		TF-A installation directory
├── [*].patch					ST patches to apply during the TF-A preparation (see next chapter)
├── tf-a-stm32mp-v2.8.6-stm32mp-r1		TF-A source code directory
├── 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-stm32mp-v2.8.6-stm32mp-r1-r0.tar.xz	Tarball file of the TF-A source code
  • The OP-TEE installation directory is named optee-os-stm32mp-<OP-TEE version>:
optee-os-stm32mp-3.19.0-stm32mp-r1-r0			OP-TEE installation directory
├── [*].patch						ST patches to apply during the OP-TEE preparation (see next chapter)
├── optee-os-stm32mp-3.19.0-stm32mp-r1			OP-TEE source code directory
├── fonts.tar.gz					fonts for OPTEE-OS
├── Makefile.sdk					Makefile for the OP-TEE compilation
├── optee-os-stm32mp-3.19.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 FIP artifacts directory is named FIP_artifacts:
FIP_artifacts
├── arm-trusted-firmware
│   ├── fwconfig
│   │   ├── stm32mp13[*]-fw-config-optee.dtb		Device tree for FW config → STM32MP13 boards
│   │   └── stm32mp15[*]-fw-config-optee.dtb		Device tree for FW config → STM32MP15 boards
│   ├── metada.bin					Store boot information
│   ├── tf-a-stm32mp13[*].stm32				FSBL binary→ STM32MP13 boards
│   └── tf-a-stm32mp15[*].stm32				FSBL binary → STM32MP15 boards
├── optee
│   ├── tee-header_v2-stm32mp13[*].bin			Binary file for OP-TEE OS → STM32MP13 boards
│   ├── tee-header_v2-stm32mp15[*].bin			Binary file for OP-TEE OS → STM32MP15 kits
│   ├── tee-pageable_v2-stm32mp13[*].bin		Binary file for OP-TEE OS → STM32MP13 boards
│   ├── tee-pageable_v2-stm32mp15[*].bin		Binary file for OP-TEE OS → STM32MP15 boards
│   ├── tee-pager_v2-stm32mp13[*].bin			Binary file for OP-TEE OS → STM32MP13 boards
│   └── tee-pager_v2-stm32mp15[*].bin			Binary file for OP-TEE OS → STM32MP15 boards
└── u-boot
    ├── u-boot-nodtb-stm32mp13.bin
    ├── u-boot-nodtb-stm32mp15.bin
    ├── u-boot-stm32mp13[*].dtb				Device tree for U-Boot → STM32MP13 boards
    └── u-boot-stm32mp15[*].dtb				Device tree for U-Boot → STM32MP15 boards
  • The debug symbol files are located under the <Developer Package installation directory>/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/images/stm32mp1 directory:
stm32mp1
├── arm-trusted-firmware
│   └── debug
│       ├── debug-tf-a-stm32mp13[*].stm32	Debug file for FSBL → STM32MP13 boards
│       ├── debug-tf-a-stm32mp15[*].stm32	Debug file for FSBL → STM32MP15 boards
│       ├── tf-a-bl2-stm32mp13-sdcard.elf 	Debug symbol file for TF-ATF-A for STM32MP13 boards for emmc boot stage
│       ├── tf-a-bl2-stm32mp13-uart.elf 	Debug symbol file for TF-ATF-A for STM32MP13 boards for UART downloading boot stage
│       ├── tf-a-bl2-stm32mp13-usb.elf 		Debug symbol file for TF-ATF-A for STM32MP13 boards for USB downloading boot stage
│       ├── tf-a-bl2-stm32mp15-emmc.elf 	Debug symbol file for TF-ATF-A for STM32MP15 for emmc boot stage
│       ├── tf-a-bl2-stm32mp15-nand.elf 	Debug symbol file for TF-ATF-A for STM32MP15 for nand boot stage
│       ├── tf-a-bl2-stm32mp15-nor.elf 		Debug symbol file for TF-ATF-A for STM32MP15 for nor boot stage
│       ├── tf-a-bl2-stm32mp15-sdcard.elf 	Debug symbol file for TF-ATF-A for STM32MP15 for SDcard boot stage
│       ├── tf-a-bl2-stm32mp15-uart.elf 	Debug symbol file for TF-ATF-A for STM32MP15 for UART downloading boot stage
│       └── tf-a-bl2-stm32mp15-usb.elf 		Debug symbol file for TF-ATF-A for STM32MP15 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-stm32mp135f-dk.elf 		Debug symbol file for OP-TEE OS → STM32MP13 Discovery kits
│       ├── tee-stm32mp157a-dk1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Discovery kits
│       ├── tee-stm32mp157a-ev1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Evaluation boards
│       ├── tee-stm32mp157c-dk2.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Discovery kits
│       ├── tee-stm32mp157c-ed1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Evaluation boards
│       ├── tee-stm32mp157c-ev1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Evaluation boards
│       ├── tee-stm32mp157d-dk1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Discovery kits
│       ├── tee-stm32mp157d-ev1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Evaluation boards
│       ├── tee-stm32mp157f-dk2.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Discovery kits
│       ├── tee-stm32mp157f-ed1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Evaluation boards
│       └── tee-stm32mp157f-ev1.elf 		Debug symbol file for OP-TEE OS → STM32MP15 Evaluation boards
└── u-boot
    └── debug
        ├── u-boot-stm32mp13.elf 		Debug symbol file for U-Boot → STM32MP13 Discovery kits
        └── u-boot-stm32mp15.elf 		Debug symbol file for U-Boot → STM32MP15 boards