STMicroelectronics¶
TF-M is supported on STM32L5 family
https://www.st.com/en/microcontrollers-microprocessors/stm32l5-series.html
Directory content¶
stm/stm32l562e_dk: STM32L562E-DK¶
Discovery kit with STM32L562QE MCU : https://www.st.com/en/evaluation-tools/stm32l562e-dk.html
stm/nucleo_l552ze_q: NUCLEO-L552ZE-Q¶
STM32 Nucleo-144 development board with STM32L552ZE MCU, SMPS, supports Arduino, ST Zio and morpho connectivity https://www.st.com/en/evaluation-tools/nucleo-l552ze-q.html
stm/common/stm32l5xx/stm32l5xx_hal¶
Content from https://github.com/STMicroelectronics/stm32l5xx_hal_driver.git
stm/common/stm32l5xx/Device¶
Content from https://github.com/STMicroelectronics/cmsis_device_l5.git
stm/common/stm32l5xx/bl2¶
stm32l5xx bl2 code specific from https://github.com/STMicroelectronics/STM32CubeL5.git (Projects/STM32L562E-DK/Applications/TFM)
stm/common/stm32l5xx/secure¶
stm32l5xx Secure porting adaptation from https://github.com/STMicroelectronics/STM32CubeL5.git (Projects/STM32L562E-DK/Applications/TFM)
stm/common/stm32l5xx/boards¶
Adaptation and tools specific to stm32 board using stm32l5xx soc from https://github.com/STMicroelectronics/STM32CubeL5.git (Projects/STM32L562E-DK/Applications/TFM)
stm/common/stm32l5xx/CMSIS_Driver¶
Flash and uart driver for stm32l5xx platform
stm/common/stm32l5xx/Native_Driver¶
random generator and tickless implementation
Building and running software on target¶
Specific Software Requirements¶
STM32_Programmer_CLI is required.(see https://www.st.com/en/development-tools/stm32cubeprog.html)
Configuration and Build¶
GNUARM compilation is available for targets STM_NUCLEO_L552ZE_Q and STM_DISCO_L562QE and build the selected configuration as follow.
> mkdir build && cd build
> cmake .. -DTFM_PLATFORM=stm/nucleo_l552ze_q -DCMAKE_TOOLCHAIN_FILE=../toolchain_GNUARM.cmake -G"Unix Makefiles"
> cmake .. -DTFM_PLATFORM=stm/stm32l562e_dk -DCMAKE_TOOLCHAIN_FILE=../toolchain_GNUARM.cmake -G"Unix Makefiles"
> cmake --build ./ -- install
Write software on target¶
In build folder:
postbuild.sh
: Updates regression.sh and TFM_UPDATE.sh scripts according to flash_layout.h
regression.sh
: Sets platform option bytes config and erase platform
TFM_UPDATE.sh
: Writes bl2, secure, and non secure image in target
Connect board to USB and Execute the 3 scripts in following order to update platform: postbuild.sh, regression.sh, TFM_UPDATE.sh
The virtual com port from STLINK is used for TFM log and serial port configuration should be:
Baud rate = 115200
Data = 8 bits
Parity = none
Stop = 1 bit
Flow control = none
Copyright (c) 2019 STMicroelectronics. All rights reserved. SPDX-License-Identifier: BSD-3-Clause