CONFIG_ARM_NONSECURE_FIRMWARE

(No prompt – not directly user assignable.)

Type: bool

Help

This option indicates that we are building a Zephyr image that is intended to execute in Non-Secure state. Execution of this image is triggered by Secure firmware that executes in Secure state. The option is only applicable to ARMv8-M MCUs that implement the Security Extension.

This option enables Zephyr to include code that executes in Non-Secure state only, as well as to exclude code that is designed to execute only in Secure state.

Code executing in Non-Secure state has no access to Secure resources of the Cortex-M MCU, and, therefore, it shall avoid accessing them.

Direct dependencies

!ARM_SECURE_FIRMWARE && ARMV8_M_SE && !ARM64 && ARM

(Includes any dependencies from ifs and menus.)

Kconfig definition

At <Zephyr>/arch/arm/core/aarch32/Kconfig:197

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:29<Zephyr>/arch/Kconfig:12<Zephyr>/arch/arm/Kconfig:42

Menu path: (Top) → ARM Options

config ARM_NONSECURE_FIRMWARE
    bool
    default y if TRUSTED_EXECUTION_NONSECURE
    depends on !ARM_SECURE_FIRMWARE && ARMV8_M_SE && !ARM64 && ARM
    help
      This option indicates that we are building a Zephyr image that
      is intended to execute in Non-Secure state. Execution of this
      image is triggered by Secure firmware that executes in Secure
      state. The option is only applicable to ARMv8-M MCUs that
      implement the Security Extension.

      This option enables Zephyr to include code that executes in
      Non-Secure state only, as well as to exclude code that is
      designed to execute only in Secure state.

      Code executing in Non-Secure state has no access to Secure
      resources of the Cortex-M MCU, and, therefore, it shall avoid
      accessing them.

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