Skip to content

Commit

Permalink
boards: st: stm32l5: Fix TF-M by restricting Libc malloc aera
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
erwango authored and mmahadevan108 committed Nov 8, 2024
1 parent 7c40b07 commit b2c9db7
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
20 changes: 20 additions & 0 deletions boards/st/nucleo_l552ze_q/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -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 changes: 12 additions & 0 deletions boards/st/stm32l562e_dk/Kconfig.defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit b2c9db7

Please sign in to comment.