Browse Source

boards: st: stm32l5: Fix TF-M by restricting Libc malloc aera

By default, libc malloc allocated area is using all available RAM.
For some yet unknown reason, this conflicts with TF-M resulting in a
Hard Fault before jumping in the non secure application.

For now, define a Libc malloc area defined to 2048 which is the default in
some other typical applications (ARMv7 targets enabling USERSPACE).

Fixes #77847

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
pull/81115/head
Erwan Gouriou 8 months ago committed by Mahesh Mahadevan
parent
commit
b2c9db7606
  1. 20
      boards/st/nucleo_l552ze_q/Kconfig.defconfig
  2. 12
      boards/st/stm32l562e_dk/Kconfig.defconfig

20
boards/st/nucleo_l552ze_q/Kconfig.defconfig

@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
# STM32L552ZE-Q Nucleo board configuration
# Copyright (c) 2024 STMicroelectronics
# SPDX-License-Identifier: Apache-2.0
if BOARD_NUCLEO_L552ZE_Q
if BUILD_WITH_TFM
# Not defining LIBC malloc arena has the effect of declaring all available RAM
# as available for malloc.
# This currently conflicts with TF-M MPU setting, resulting in a hard fault.
# Define a specific size to avoid this situation.
config COMMON_LIBC_MALLOC_ARENA_SIZE
default 2048
endif # BUILD_WITH_TFM
endif # BOARD_NUCLEO_L552ZE_Q

12
boards/st/stm32l562e_dk/Kconfig.defconfig

@ -30,4 +30,16 @@ endchoice @@ -30,4 +30,16 @@ endchoice
endif # DISPLAY
if BUILD_WITH_TFM
# Not defining LIBC malloc arena has the effect of declaring all available RAM
# as available for malloc.
# This currently conflicts with TF-M MPU setting, resulting in a hard fault.
# Define a specific size to avoid this situation.
config COMMON_LIBC_MALLOC_ARENA_SIZE
default 2048
endif # BUILD_WITH_TFM
endif # BOARD_STM32L562E_DK

Loading…
Cancel
Save