:orphan: .. title:: choice NULL_POINTER_EXCEPTION_DETECTION: Enable and use null-pointer exception .. _choice_17: .. describe:: choice NULL_POINTER_EXCEPTION_DETECTION: Enable and use null-pointer exception *Enable and use null-pointer exception* Type: ``bool`` Help ==== .. code-block:: none There are 2 implementations available, one based on DWT and the other based on MPU. Use this choice symbol to select one of the options. By default the feature is disabled. In the test suite the feature is enabled and the DWT-based solution is preferred. Direct dependencies =================== \ :kconfig:`BOARD_MPS2_AN521_CPU0 ` || \ :kconfig:`BOARD_MPS2_AN521_CPU0_NS ` || \ :kconfig:`BOARD_MPS2_AN521_CPU1 ` || \ :kconfig:`BOARD_MPS3_AN547 ` || \ :kconfig:`BOARD_QEMU_CORTEX_M3 ` || \ :kconfig:`SOC_FAMILY_NRF ` || \ :kconfig:`SOC_FAMILY_NRF ` || (\ :kconfig:`CPU_CORTEX_M ` && \ :kconfig:`ARM `) *(Includes any dependencies from ifs and menus.)* Defaults ======== - \ :kconfig:`NULL_POINTER_EXCEPTION_DETECTION_NONE ` if \ :kconfig:`QEMU_TARGET ` - \ :kconfig:`NULL_POINTER_EXCEPTION_DETECTION_NONE ` if \ :kconfig:`QEMU_TARGET ` - \ :kconfig:`NULL_POINTER_EXCEPTION_DETECTION_NONE ` - \ :kconfig:`NULL_POINTER_EXCEPTION_DETECTION_DWT ` if \ :kconfig:`TEST_ARM_CORTEX_M ` && !\ :kconfig:`ARM_NONSECURE_FIRMWARE ` && \ :kconfig:`CPU_CORTEX_M_HAS_DWT ` - \ :kconfig:`NULL_POINTER_EXCEPTION_DETECTION_DWT ` if \ :kconfig:`TEST_ARM_CORTEX_M ` && !\ :kconfig:`ARM_NONSECURE_FIRMWARE ` && \ :kconfig:`CPU_CORTEX_M_HAS_DWT ` - \ :kconfig:`NULL_POINTER_EXCEPTION_DETECTION_MPU ` if \ :kconfig:`TEST_ARM_CORTEX_M ` && !\ :kconfig:`ARM_NONSECURE_FIRMWARE ` && \ :kconfig:`ARM_MPU ` && !\ :kconfig:`CPU_CORTEX_M_HAS_DWT ` - \ :kconfig:`NULL_POINTER_EXCEPTION_DETECTION_NONE ` Choice options ============== - \ :kconfig:`NULL_POINTER_EXCEPTION_DETECTION_NONE ` - \ :kconfig:`NULL_POINTER_EXCEPTION_DETECTION_DWT ` - \ :kconfig:`NULL_POINTER_EXCEPTION_DETECTION_MPU ` Kconfig definitions =================== At ``/arm/mps2_an521/Kconfig.defconfig:9`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig choice NULL_POINTER_EXCEPTION_DETECTION bool default NULL_POINTER_EXCEPTION_DETECTION_NONE if QEMU_TARGET depends on BOARD_MPS2_AN521_CPU0 || BOARD_MPS2_AN521_CPU0_NS || BOARD_MPS2_AN521_CPU1 ---- At ``/arm/mps3_an547/Kconfig.defconfig:12`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig choice NULL_POINTER_EXCEPTION_DETECTION bool default NULL_POINTER_EXCEPTION_DETECTION_NONE if QEMU_TARGET depends on BOARD_MPS3_AN547 ---- At ``/arm/qemu_cortex_m3/Kconfig.defconfig:16`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig choice NULL_POINTER_EXCEPTION_DETECTION bool default NULL_POINTER_EXCEPTION_DETECTION_NONE depends on BOARD_QEMU_CORTEX_M3 ---- At ``/arm/nordic_nrf/Kconfig.defconfig:45`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` Menu path: (Top) .. code-block:: kconfig choice NULL_POINTER_EXCEPTION_DETECTION bool default NULL_POINTER_EXCEPTION_DETECTION_DWT if TEST_ARM_CORTEX_M && !ARM_NONSECURE_FIRMWARE && CPU_CORTEX_M_HAS_DWT depends on SOC_FAMILY_NRF ---- At ``/arm/nordic_nrf/Kconfig.defconfig:45`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` Menu path: (Top) .. code-block:: kconfig choice NULL_POINTER_EXCEPTION_DETECTION bool default NULL_POINTER_EXCEPTION_DETECTION_DWT if TEST_ARM_CORTEX_M && !ARM_NONSECURE_FIRMWARE && CPU_CORTEX_M_HAS_DWT depends on SOC_FAMILY_NRF ---- At ``/arm/core/aarch32/cortex_m/Kconfig:347`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:39`` → ``/Kconfig:12`` → ``/arm/Kconfig:57`` → ``/arm/core/aarch32/Kconfig:294`` Menu path: (Top) → ARM Options .. code-block:: kconfig choice NULL_POINTER_EXCEPTION_DETECTION bool "Enable and use null-pointer exception" default NULL_POINTER_EXCEPTION_DETECTION_MPU if TEST_ARM_CORTEX_M && !ARM_NONSECURE_FIRMWARE && ARM_MPU && !CPU_CORTEX_M_HAS_DWT default NULL_POINTER_EXCEPTION_DETECTION_NONE depends on CPU_CORTEX_M && ARM help There are 2 implementations available, one based on DWT and the other based on MPU. Use this choice symbol to select one of the options. By default the feature is disabled. In the test suite the feature is enabled and the DWT-based solution is preferred. *(The 'depends on' condition includes propagated dependencies from ifs and menus.)*