This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

CONFIG_ARM_STACK_PROTECTION

(No prompt – not directly user assignable.)

Type: bool

Help

This option enables either:
- The built-in Stack Pointer limit checking, or
- the MPU-based stack guard
to cause a system fatal error
if the bounds of the current process stack are overflowed.
The two stack guard options are mutually exclusive. The
selection of the built-in Stack Pointer limit checking is
prioritized over the MPU-based stack guard. The developer
still has the option to manually select the MPU-based
stack guard, if this is desired.

Direct dependencies

ARM

(Includes any dependencies from ifs and menus.)

Default

Symbols selected by this symbol

Symbols implied by this symbol

Kconfig definition

At arch/arm/core/aarch32/Kconfig:161

Included via Kconfig:8Kconfig.zephyr:37arch/Kconfig:12arch/arm/Kconfig:57

Menu path: (Top) → ARM Options

config ARM_STACK_PROTECTION
    bool
    default y if HW_STACK_PROTECTION
    select MPU_STACK_GUARD if !BUILTIN_STACK_GUARD && ARM_MPU
    imply BUILTIN_STACK_GUARD if CPU_CORTEX_M_HAS_SPLIM
    depends on ARM
    help
      This option enables either:
      - The built-in Stack Pointer limit checking, or
      - the MPU-based stack guard
      to cause a system fatal error
      if the bounds of the current process stack are overflowed.
      The two stack guard options are mutually exclusive. The
      selection of the built-in Stack Pointer limit checking is
      prioritized over the MPU-based stack guard. The developer
      still has the option to manually select the MPU-based
      stack guard, if this is desired.

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)