This article aims to describe the content of the software release included in the TF-M package, version v2.1.3, which is part of the Yocto-based OpenSTLinux ecosystem release note - v6.2.0.
1. Delivery purpose and scope[edit | edit source]
Trusted Firmware-M (TF-M) implements the Secure Processing Environment (SPE) for Armv8-M, Armv8.1-M architectures. It runs on the Arm® Cortex®-M33 processor of the STM32MP2 series. It can be used for both M33-TD flavor
and A35-TD flavor
.
2. Intended Audience[edit | edit source]
The targeted audience is STM32 MPU customers and partners.
3. Licensing[edit | edit source]
All licenses applicable to TF-M package are available here.
4. Supported development boards[edit | edit source]
The software examples and the drivers delivered in this package are applicable for the following boards:
- STM32MP257F-EV1 Evaluation board
, - STM32MP257F-DK Discovery kit
, - STM32MP257F-DK Discovery kit
for STM32MP23x lines evaluation
, - STM32MP215F-DK Discovery kit
.
5. Release content[edit | edit source]
Updated Component release - v2.1.3-stm32mp-r2
It allows the Arm®Cortex®-M33 firmware to run in secure context.
5.1. Main changes[edit | edit source]
- Update to TF-M v2.1.3 (LTS update)
- Update to MbedTLS version to v3.6.4
- STM32MP257x-EV1 Evaluation board
, STM32MP257F-DK Discovery kit
New, STM32MP235F-DK board configuration for STM32MP257F-DK Discovery kit
New, and STM32MP215F-DK Discovery kit
support - Secure boot support
- System reset requested by Arm® Cortex®-A35 (application request) support
- System reset requested by Arm® Cortex®-M33 (application request) support
- Watchdog support
- External tamper event support
- Arm® Cortex®-M and Arm® Cortex®-A intercommunication services support for nonsecure application
- Stability improvements and bug fixes
Main information
- A real time application running on Arm® Cortex®-M33 can be disturbed by an Arm® Cortex®-A35 resource request. The customer has to handle the task priority in its application.
5.2. Main restrictions[edit | edit source]
- Run1, Run2 Low Power modes (ie Arm® Cortex®-A35 can go in low power) are supported, other low power modes are no yet supported.
5.3. Released components[edit | edit source]
5.3.1. TF-M components[edit | edit source]
| Component | Repository | Version (tag or SHA1) |
|---|---|---|
| TF-M | https://github.com/STMicroelectronics/trusted-firmware-m | v2.1.3-stm32mp-r2 |
| tf-m-tests | https://github.com/STMicroelectronics/tf-m-tests | v2.1.3-stm32mp-r2 |
5.3.2. Dependencies[edit | edit source]
TF-M and tf-m-tests are delivered in their own Github repositories. Some additional components are nevertheless required either to compile or to bring new functionalities. Those components are fetched during the compilation of TF-M, or directly by Yocto.
More information can be found in TF-M Dependency management
Some components, such as QCBOR, MCUBoot, CMSIS and MbedTLS, are opensource, not modified by STMicroelectronics.
The other opensource components, modified by STMicroelectronics, or the STMicroelectronics proprietary software are delivered in STMicroelectronics Github.
| Component | Repository | Version (tag or SHA1) |
|---|---|---|
| QCBOR | https://github.com/laurencelundblade/QCBOR.git | v1.2 |
| MCUBoot | https://github.com/mcu-tools/mcuboot.git | v2.1.0 |
| CMSIS | https://github.com/ARM-software/CMSIS_6.git | d0c460c1697d210b49a4b90998195831c0cd325c |
| MbedTLS | https://github.com/Mbed-TLS/mbedtls.git | mbedtls-3.6.4 |
| PSA ADAC | https://github.com/STMicroelectronics/psa-adac | v1.0-stm32mp-r1 |
| SCP-firmware | https://github.com/STMicroelectronics/SCP-firmware | v2.13.0-stm32mp-r3 |
| cmsis-core | https://github.com/STMicroelectronics/cmsis-core.git | v5.9.0 |
| stm32mp2xx-hal-driver | https://github.com/STMicroelectronics/stm32mp2xx-hal-driver.git | v1.3.0 |
| cmsis-device-mp2 | https://github.com/STMicroelectronics/cmsis-device-mp2.git | v1.3.0 |
| stm32mp2-low-power | https://github.com/STMicroelectronics/stm32mp2-low-power | v1.0.0 |
| ddr | https://github.com/STMicroelectronics/stm32-ddr-phy-binary | v1.0-stm32mp |
6. Documentation[edit | edit source]
More information about TF-M can be found in TF-M official Documentation. Or in STMicroelectronics generated documentation , especially the releases page .
7. How to get started with TF-M Package[edit | edit source]
TF-M package are delivered with Starter package and with Developer package for the Yocto-based_OpenSTLinux_ecosystem.
Refer to Yocto-based_OpenSTLinux_embedded_software article to find the right packages corresponding to your board.
8. References[edit | edit source]