:orphan: .. title:: ARM_MPU .. option:: CONFIG_ARM_MPU *ARM MPU Support* Type: ``bool`` Help ==== MCU implements Memory Protection Unit. Note that NXP MPU as well as ARMv8-M MPU does not require MPU regions to have power-of-two alignment for base address and region size. In addition to the above, ARMv8-M MPU requires the active MPU regions be non-overlapping. Direct dependencies =================== \ :option:`CPU_HAS_MPU ` && \ :option:`ARM ` *(Includes any dependencies from if's and menus.)* Defaults ======== No defaults. Implicitly defaults to ``n``. Symbols selected by this symbol =============================== - \ :option:`MEMORY_PROTECTION ` if \ :option:`CPU_HAS_MPU ` && \ :option:`ARM ` - \ :option:`THREAD_STACK_INFO ` if \ :option:`CPU_HAS_MPU ` && \ :option:`ARM ` - \ :option:`ARCH_HAS_EXECUTABLE_PAGE_BIT ` if \ :option:`CPU_HAS_MPU ` && \ :option:`ARM ` - \ :option:`MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT ` if !(\ :option:`CPU_HAS_NXP_MPU ` || \ :option:`ARMV8_M_BASELINE ` || \ :option:`ARMV8_M_MAINLINE `) && \ :option:`CPU_HAS_MPU ` && \ :option:`ARM ` - \ :option:`MPU_REQUIRES_NON_OVERLAPPING_REGIONS ` if \ :option:`CPU_HAS_ARM_MPU ` && (\ :option:`ARMV8_M_BASELINE ` || \ :option:`ARMV8_M_MAINLINE `) && \ :option:`CPU_HAS_MPU ` && \ :option:`ARM ` Symbols that select this symbol =============================== - \ :option:`SOC_SERIES_SAME70 ` - \ :option:`ETH_MCUX ` Kconfig definition ================== .. highlight:: kconfig At ``arch/arm/core/cortex_m/mpu/Kconfig:11`` Included via ``Kconfig:10`` → ``Kconfig.zephyr:29`` → ``arch/Kconfig:15`` → ``arch/arm/Kconfig:13`` → ``arch/arm/core/Kconfig:168`` Menu path: (top menu) → ARM Options .. parsed-literal:: config ARM_MPU bool prompt "ARM MPU Support" if \ :option:`CPU_HAS_MPU ` && \ :option:`ARM ` select \ :option:`MEMORY_PROTECTION ` if \ :option:`CPU_HAS_MPU ` && \ :option:`ARM ` select \ :option:`THREAD_STACK_INFO ` if \ :option:`CPU_HAS_MPU ` && \ :option:`ARM ` select \ :option:`ARCH_HAS_EXECUTABLE_PAGE_BIT ` if \ :option:`CPU_HAS_MPU ` && \ :option:`ARM ` select \ :option:`MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT ` if !(\ :option:`CPU_HAS_NXP_MPU ` || \ :option:`ARMV8_M_BASELINE ` || \ :option:`ARMV8_M_MAINLINE `) && \ :option:`CPU_HAS_MPU ` && \ :option:`ARM ` select \ :option:`MPU_REQUIRES_NON_OVERLAPPING_REGIONS ` if \ :option:`CPU_HAS_ARM_MPU ` && (\ :option:`ARMV8_M_BASELINE ` || \ :option:`ARMV8_M_MAINLINE `) && \ :option:`CPU_HAS_MPU ` && \ :option:`ARM ` depends on \ :option:`CPU_HAS_MPU ` && \ :option:`ARM ` help MCU implements Memory Protection Unit. Note that NXP MPU as well as ARMv8-M MPU does not require MPU regions to have power-of-two alignment for base address and region size. In addition to the above, ARMv8-M MPU requires the active MPU regions be non-overlapping. *(Definitions include propagated dependencies, including from if's and menus.)*