-
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
&& ARM
(Includes any dependencies from if’s and menus.)
Defaults¶
- “y” if
TRUSTED_EXECUTION_NONSECURE
&& !ARM_SECURE_FIRMWARE
&&ARMV8_M_SE
&&ARM
Kconfig definition¶
At arch/arm/core/Kconfig:81
Included via Kconfig:10
→ Kconfig.zephyr:29
→ arch/Kconfig:15
→ arch/arm/Kconfig:13
Menu path: (top menu) → ARM Options
config ARM_NONSECURE_FIRMWARE bool default "y" ifTRUSTED_EXECUTION_NONSECURE
&& !ARM_SECURE_FIRMWARE
&&ARMV8_M_SE
&&ARM
depends on !ARM_SECURE_FIRMWARE
&&ARMV8_M_SE
&&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.
(Definitions include propagated dependencies, including from if’s and menus.)