Can't enable 'HAS_PM' to support power management notification

Hello,

I'm trying to enable the Power management for nRF9161 over nRF-Connect SDK2.5

the prj.conf has an entry of 'CONFIG_PM=y'

but it not accepted because we do not satisty the condition "HAS_PM=y"

the condition 'CONFIG_SYS_CLOCK_EXISTS=y' is found inside the ".config" generated file so it is enabled.

however the second condition "HAS_PM=y" is not satisfied...

I couldn't find "where" to configure and "what" to configure, in order to have this feature "CONFIG_PM=y" enabled...

FYI, we also enabled:

CONFIG_PM_DEVICE=y
CONFIG_PM_DEVICE_RUNTIME=y
Parents Reply
  • Hi

    Well, the firmware wakes up every 1 minute so we can postpone cpu idle while UART TX needs to finish (we can poll the register). In practice there is no much UART going on and typically no one looking at it. This firmware get a total of 2uA in the dev kit. Without this, it’s about 20uA more when I don’t stop the UARTE (I do stop the RX side based on an RTS signal)

     

    So what is the chance to get the binaries of the PM back? If I add “select CONFIG_PM” it does compile but is missing some object files…)

Children
  • I still don't understand why the UART can't just be suspended with the PM_DEVICE action after the transaction is complete. You could also have used the UART ASYNC API with the low power mode enabled (CONFIG_UART_0_NRF_ASYNC_LOW_POWER). There's also the Low power UART driver. It does not work with standard flow control signals, however.

    Ohad Gal said:
    So what is the chance to get the binaries of the PM back? If I add “select CONFIG_PM” it does compile but is missing some object files…)

    You need to revert the changes introduced by the commit I linked to in my initial reply.

  • Hello,

    I managed to revert the Git Commit and have the PM hooks back.
    the file power.c is back and there is an implementation for pm_notifier_register()

    static struct pm_notifier power_state_notifier = {.state_entry = &power_state_enter_cb, .state_exit = &power_state_exit_cb};
    
    void power_state_enter_cb(enum pm_state state)
    { // As currently implemented the entry callback is invoked when transitioning from PM_STATE_ACTIVE to another state
      add_CPU24H_accumulator(toc(&user_cpu_timestamp));
      
      // disable the UART
      if (!GET_RTS_HIGH()) // if the UART-RX is enabled, then we need to keep the UART active during sleep/idle as well
      {
        NRF_UARTE0_NS->ENABLE = 0;
        __NOP();
        NRF_UARTE0_NS->ENABLE = 0;
      }
    
      k_cpu_idle();
    }
    
    void power_state_exit_cb(enum pm_state state)
    { // As currently implemented the exit callback is invoked when transitioning from a non-active state to PM_STATE_ACTIVE.
      tic(&user_cpu_timestamp);
    
      // enable the UART
      NRF_UARTE0_NS->ENABLE = 8;
      __NOP();
      NRF_UARTE0_NS->ENABLE = 8;
    }
    
    void main()
    {
        pm_notifier_register(&power_state_notifier);
        ...
        while (1)
        {
            // NOTE: the sleep period here MAY NOT exceed 1 second
            //       otherwise it MAY cause the correlation to start AFTER the REF time
            k_sleep(K_SECONDS(1));
            k_cpu_idle();
        }
    }

    in the prj.conf I have

    CONFIG_SYS_CLOCK_EXISTS=y
    CONFIG_PM=y
    CONFIG_PM_DEVICE=y
    CONFIG_PM_DEVICE_RUNTIME=y
    CONFIG_TICKLESS_KERNEL=y
     
    I am runinig on SDK2.5.0, nrf9161
    my problem is that the hooks are never called (I've put a break point on them in debug)
    any idea what I am doing wrong?

    thanks
    Ohad

  • The nRF SOCs do not implement any CPU power states in the devicetree, assume that is why the PM state transitions are not being registered. An alternative may be to use the idle hooks as in this library: https://github.com/nrfconnect/sdk-nrf/blob/43e521ecb2c6366df2c6f94bec39f36d8d38b89e/subsys/debug/etb_trace/Kconfig#L20  

  • Hello,

    the documentaiton explains it will generate latency and increase power consumption
    the intention on my side with the PM library hooks is to REDUCE the overall power consumption.
    so this is not a viable way
    the nRF9160 on SDK1.3 has the PM library working and it gets these hooks called.
    so what has been changed?
    from "electronics point of view" if it works on SDK 1.3 it should also work on SDK2.5
    attached are the "Zephyr.dts" and ".config" on SDK1.3 for you to examine what has been activated

    Recall the overall motivation here:
    when I disable UART0 I measure 4.5uA on SDK2.5
    when UART0 is enabled (and UART0.RX is disabled) I measure 26uA on SDK2.5
    The motivation is to use the hooks in order to understand when to enable and when to disable the UART, otherwise the debug/trace/warning/error messages try to print on UART0 disabled and the system gets stuck
    The hooks are working just fine in SDK1.3 with the PM library

    thanks

    Ohad

    5444.zephyr.dts

    CONFIG_SPM_NRF_RTC0_NS=y
    CONFIG_SPM_NRF_WDT_NS=y
    CONFIG_SPM_NRF_UARTE2_NS=y
    CONFIG_FORCE_NRFX_MODULES=y
    CONFIG_UART_1=y
    CONFIG_SPM_NRF_REGULATORS_NS=y
    CONFIG_SYS_POWER_SLEEP_STATES=y
    
    #
    # Modules
    #
    
    #
    # Nordic nRF Connect
    #
    # CONFIG_NCS_SAMPLES_DEFAULTS is not set
    CONFIG_LOG_DEFAULT_LEVEL=3
    
    #
    # Bootloader
    #
    # CONFIG_BUILD_S1_VARIANT is not set
    # CONFIG_SECURE_BOOT is not set
    CONFIG_PM_PARTITION_SIZE_PROVISION=0x280
    CONFIG_PM_PARTITION_SIZE_B0_IMAGE=0x8000
    # CONFIG_SECURE_BOOT_CRYPTO is not set
    
    #
    # Secure Boot firmware validation
    #
    CONFIG_SB_VALIDATION_INFO_MAGIC=0x86518483
    CONFIG_SB_VALIDATION_POINTER_MAGIC=0x6919b47e
    CONFIG_SB_VALIDATION_INFO_CRYPTO_ID=1
    CONFIG_SB_VALIDATION_INFO_VERSION=2
    CONFIG_SB_VALIDATION_METADATA_OFFSET=0
    CONFIG_SB_VALIDATE_FW_SIGNATURE=y
    # end of Secure Boot firmware validation
    # end of Bootloader
    
    #
    # Bluetooth Low Energy
    #
    CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=1024
    # end of Bluetooth Low Energy
    
    #
    # DFU
    #
    CONFIG_DFU_TARGET=y
    CONFIG_DFU_TARGET_MCUBOOT=y
    CONFIG_DFU_TARGET_MODEM=y
    CONFIG_DFU_TARGET_MODEM_TIMEOUT=60
    # CONFIG_DFU_TARGET_LOG_LEVEL_OFF is not set
    # CONFIG_DFU_TARGET_LOG_LEVEL_ERR is not set
    # CONFIG_DFU_TARGET_LOG_LEVEL_WRN is not set
    CONFIG_DFU_TARGET_LOG_LEVEL_INF=y
    # CONFIG_DFU_TARGET_LOG_LEVEL_DBG is not set
    CONFIG_DFU_TARGET_LOG_LEVEL=3
    # end of DFU
    
    # CONFIG_ESB is not set
    
    #
    # Networking
    #
    
    #
    # Application protocols
    #
    # CONFIG_NRF_CLOUD is not set
    # CONFIG_DOWNLOAD_CLIENT is not set
    # CONFIG_AWS_IOT is not set
    # CONFIG_AWS_JOBS is not set
    # CONFIG_CLOUD_API is not set
    # CONFIG_CLOUD_PERSISTENT_SESSIONS is not set
    
    #
    # Self-Registration (Zi ZHu Ce)
    #
    # CONFIG_ZZHC is not set
    # end of Self-Registration (Zi ZHu Ce)
    
    # CONFIG_ICAL_PARSER is not set
    # CONFIG_FTP_CLIENT is not set
    # CONFIG_COAP_UTILS is not set
    # end of Application protocols
    # end of Networking
    
    #
    # NFC
    #
    # CONFIG_NFC_NDEF is not set
    # CONFIG_NFC_NDEF_PARSER is not set
    # CONFIG_NFC_NDEF_PAYLOAD_TYPE_COMMON is not set
    # CONFIG_NFC_T2T_PARSER is not set
    # CONFIG_NFC_T4T_ISODEP is not set
    # CONFIG_NFC_T4T_APDU is not set
    # CONFIG_NFC_T4T_CC_FILE is not set
    # CONFIG_NFC_T4T_HL_PROCEDURE is not set
    # CONFIG_NFC_PLATFORM is not set
    # CONFIG_NFC_TNEP_TAG is not set
    # CONFIG_NFC_TNEP_POLLER is not set
    # end of NFC
    
    # CONFIG_PROFILER is not set
    
    #
    # SPM
    #
    CONFIG_SPM=y
    # CONFIG_SPM_BUILD_STRATEGY_USE_HEX_FILE is not set
    # CONFIG_SPM_BUILD_STRATEGY_SKIP_BUILD is not set
    CONFIG_SPM_BUILD_STRATEGY_FROM_SOURCE=y
    # CONFIG_IS_SPM is not set
    CONFIG_ARM_ENTRY_VENEERS_LIB_NAME="spm/libspmsecureentries.a"
    # end of SPM
    
    CONFIG_FW_INFO=y
    CONFIG_FW_INFO_OFFSET=0x200
    CONFIG_FW_INFO_FIRMWARE_VERSION=1
    CONFIG_FW_INFO_MAGIC_COMMON=0x281ee6de
    CONFIG_FW_INFO_MAGIC_FIRMWARE_INFO=0x8fcebb4c
    CONFIG_FW_INFO_MAGIC_EXT_API=0xb845acea
    CONFIG_FW_INFO_HARDWARE_ID=91
    CONFIG_FW_INFO_VERSION=2
    CONFIG_FW_INFO_CRYPTO_ID=0
    CONFIG_FW_INFO_MAGIC_COMPATIBILITY_ID=0
    CONFIG_FW_INFO_MAGIC_LEN=12
    CONFIG_FW_INFO_VALID_VAL=0x9102FFFF
    CONFIG_EXT_API_PROVIDE_EXT_API_UNUSED=y
    # CONFIG_EXT_API_PROVIDE_EXT_API_OPTIONAL is not set
    # CONFIG_EXT_API_PROVIDE_EXT_API_REQUIRED is not set
    # CONFIG_EXT_API_PROVIDE_EXT_API_ENABLED is not set
    # CONFIG_PPI_TRACE is not set
    # CONFIG_CPU_LOAD is not set
    
    #
    # Nordic MPSL
    #
    CONFIG_MPSL_THREAD_COOP_PRIO=8
    CONFIG_MPSL_SIGNAL_STACK_SIZE=1024
    # CONFIG_MPSL_LOG_LEVEL_OFF is not set
    # CONFIG_MPSL_LOG_LEVEL_ERR is not set
    # CONFIG_MPSL_LOG_LEVEL_WRN is not set
    CONFIG_MPSL_LOG_LEVEL_INF=y
    # CONFIG_MPSL_LOG_LEVEL_DBG is not set
    CONFIG_MPSL_LOG_LEVEL=3
    # end of Nordic MPSL
    
    #
    # Partition Manager
    #
    
    #
    # Zephyr subsystem configurations
    #
    CONFIG_PM_PARTITION_SIZE_NVS_STORAGE=0x6000
    # end of Zephyr subsystem configurations
    
    # CONFIG_PM_SINGLE_IMAGE is not set
    # CONFIG_PM_EXTERNAL_FLASH is not set
    # end of Partition Manager
    
    #
    # Libraries
    #
    
    #
    # Binary libraries
    #
    # end of Binary libraries
    
    #
    # BSD Library for nrf91
    #
    CONFIG_BSD_LIBRARY=y
    CONFIG_BSD_LIBRARY_SYS_INIT=y
    # CONFIG_BSD_LIBRARY_TRACE_ENABLED is not set
    # CONFIG_NRF91_SOCKET_SEND_SPLIT_LARGE_BLOCKS is not set
    CONFIG_NRF91_SOCKET_BLOCK_LIMIT=2048
    CONFIG_BSD_LIBRARY_SENDMSG_BUF_SIZE=128
    # end of BSD Library for nrf91
    
    # CONFIG_ADP536X is not set
    
    #
    # AT Command driver
    #
    CONFIG_AT_CMD=y
    CONFIG_AT_CMD_SYS_INIT=y
    CONFIG_AT_CMD_INIT_PRIORITY=40
    CONFIG_AT_CMD_THREAD_PRIO=10
    CONFIG_AT_CMD_THREAD_STACK_SIZE=1024
    CONFIG_AT_CMD_RESPONSE_MAX_LEN=2700
    CONFIG_AT_CMD_RESPONSE_BUFFER_COUNT=2
    # CONFIG_AT_CMD_LOG_LEVEL_OFF is not set
    # CONFIG_AT_CMD_LOG_LEVEL_ERR is not set
    # CONFIG_AT_CMD_LOG_LEVEL_WRN is not set
    CONFIG_AT_CMD_LOG_LEVEL_INF=y
    # CONFIG_AT_CMD_LOG_LEVEL_DBG is not set
    CONFIG_AT_CMD_LOG_LEVEL=3
    # end of AT Command driver
    
    CONFIG_LTE_LINK_CONTROL=y
    # CONFIG_LTE_AUTO_INIT_AND_CONNECT is not set
    # CONFIG_LTE_LOCK_BANDS is not set
    # CONFIG_LTE_LOCK_PLMN is not set
    # CONFIG_LTE_UNLOCK_PLMN is not set
    CONFIG_LTE_PSM_REQ_RPTAU="00000011"
    CONFIG_LTE_PSM_REQ_RAT="00100001"
    # CONFIG_LTE_EDRX_REQ is not set
    CONFIG_LTE_EDRX_REQ_VALUE="1001"
    # CONFIG_LTE_LEGACY_PCO_MODE is not set
    # CONFIG_LTE_PDP_CMD is not set
    # CONFIG_LTE_PDN_AUTH_CMD is not set
    CONFIG_LTE_NETWORK_MODE_LTE_M=y
    # CONFIG_LTE_NETWORK_MODE_LTE_M_GPS is not set
    # CONFIG_LTE_NETWORK_MODE_NBIOT is not set
    # CONFIG_LTE_NETWORK_MODE_NBIOT_GPS is not set
    # CONFIG_LTE_NETWORK_USE_FALLBACK is not set
    CONFIG_LTE_NETWORK_TIMEOUT=360
    # CONFIG_LTE_LINK_CONTROL_LOG_LEVEL_OFF is not set
    # CONFIG_LTE_LINK_CONTROL_LOG_LEVEL_ERR is not set
    # CONFIG_LTE_LINK_CONTROL_LOG_LEVEL_WRN is not set
    # CONFIG_LTE_LINK_CONTROL_LOG_LEVEL_INF is not set
    CONFIG_LTE_LINK_CONTROL_LOG_LEVEL_DBG=y
    CONFIG_LTE_LINK_CONTROL_LOG_LEVEL=4
    # CONFIG_FPROTECT is not set
    CONFIG_NRF_SPU_FLASH_REGION_SIZE=0x8000
    CONFIG_FPROTECT_BLOCK_SIZE=0x8000
    CONFIG_AT_NOTIF=y
    CONFIG_AT_NOTIF_SYS_INIT=y
    # CONFIG_AT_NOTIF_LOG_LEVEL_OFF is not set
    # CONFIG_AT_NOTIF_LOG_LEVEL_ERR is not set
    # CONFIG_AT_NOTIF_LOG_LEVEL_WRN is not set
    CONFIG_AT_NOTIF_LOG_LEVEL_INF=y
    # CONFIG_AT_NOTIF_LOG_LEVEL_DBG is not set
    CONFIG_AT_NOTIF_LOG_LEVEL=3
    
    #
    # AT Host Library for nrf91
    #
    # CONFIG_AT_HOST_LIBRARY is not set
    # end of AT Host Library for nrf91
    
    # CONFIG_DK_LIBRARY is not set
    CONFIG_AT_CMD_PARSER=y
    # CONFIG_MODEM_INFO is not set
    # CONFIG_PDN_MANAGEMENT is not set
    CONFIG_RESET_ON_FATAL_ERROR=y
    # CONFIG_FATAL_ERROR_LOG_LEVEL_OFF is not set
    # CONFIG_FATAL_ERROR_LOG_LEVEL_ERR is not set
    # CONFIG_FATAL_ERROR_LOG_LEVEL_WRN is not set
    CONFIG_FATAL_ERROR_LOG_LEVEL_INF=y
    # CONFIG_FATAL_ERROR_LOG_LEVEL_DBG is not set
    CONFIG_FATAL_ERROR_LOG_LEVEL=3
    # CONFIG_SMS is not set
    # CONFIG_MODEM_KEY_MGMT is not set
    # CONFIG_SUPL_CLIENT_LIB is not set
    # CONFIG_DATE_TIME is not set
    # end of Libraries
    
    #
    # Device Drivers
    #
    CONFIG_ENTROPY_CC310=y
    # CONFIG_ETH_RTT is not set
    # CONFIG_SENSOR is not set
    
    #
    # GPS Drivers
    #
    # CONFIG_GPS_SIM is not set
    # CONFIG_NRF9160_GPS is not set
    # end of GPS Drivers
    
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC is not set
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH is not set
    # end of Device Drivers
    
    #
    # External libraries
    #
    # CONFIG_CJSON_LIB is not set
    # end of External libraries
    
    # CONFIG_UNITY is not set
    # end of Nordic nRF Connect
    
    #
    # MCUboot
    #
    CONFIG_MCUBOOT_CMAKELISTS_DIR="$MCUBOOT_BASE/boot/zephyr/"
    # CONFIG_MCUBOOT_BUILD_STRATEGY_USE_HEX_FILE is not set
    # CONFIG_MCUBOOT_BUILD_STRATEGY_SKIP_BUILD is not set
    CONFIG_MCUBOOT_BUILD_STRATEGY_FROM_SOURCE=y
    CONFIG_MCUBOOT_IMAGE_VERSION="0.0.0+0"
    CONFIG_MCUBOOT_FLASH_WRITE_BLOCK_SIZE=4
    CONFIG_BOOT_SIGNATURE_KEY_FILE="root-rsa-2048.pem"
    CONFIG_DT_FLASH_WRITE_BLOCK_SIZE=4
    # end of MCUboot
    
    #
    # Nordic nrfxlib
    #
    CONFIG_BSD_LIB=y
    # CONFIG_NFC_T2T_NRFXLIB is not set
    # CONFIG_NFC_T4T_NRFXLIB is not set
    
    #
    # Crypto libraries for nRF5x SOCs.
    #
    CONFIG_NRFXLIB_CRYPTO=y
    CONFIG_NRF_OBERON=y
    # CONFIG_NRF_CC310_BL is not set
    # CONFIG_NRF_CC310_PLATFORM is not set
    # end of Crypto libraries for nRF5x SOCs.
    
    #
    # Nordic Security
    #
    # CONFIG_NORDIC_SECURITY_BACKEND is not set
    # end of Nordic Security
    # end of Nordic nrfxlib
    
    #
    # Optional modules. Make sure they're installed, via the project manifest.
    #
    # CONFIG_CANOPENNODE is not set
    # CONFIG_CIVETWEB is not set
    CONFIG_HAS_CMSIS_CORE=y
    CONFIG_HAS_CMSIS_CORE_M=y
    CONFIG_CMSIS_DSP=y
    
    #
    # Components
    #
    CONFIG_CMSIS_DSP_BASICMATH=y
    # CONFIG_CMSIS_DSP_COMPLEXMATH is not set
    # CONFIG_CMSIS_DSP_CONTROLLER is not set
    CONFIG_CMSIS_DSP_FASTMATH=y
    # CONFIG_CMSIS_DSP_FILTERING is not set
    # CONFIG_CMSIS_DSP_MATRIX is not set
    CONFIG_CMSIS_DSP_STATISTICS=y
    CONFIG_CMSIS_DSP_SUPPORT=y
    CONFIG_CMSIS_DSP_TRANSFORM=y
    # CONFIG_CMSIS_DSP_SVM is not set
    # CONFIG_CMSIS_DSP_BAYES is not set
    # CONFIG_CMSIS_DSP_DISTANCE is not set
    CONFIG_CMSIS_DSP_TABLES=y
    # CONFIG_CMSIS_DSP_TABLES_ALL_FAST is not set
    CONFIG_CMSIS_DSP_TABLES_ALL_FFT=y
    
    #
    # Interpolation Tables
    #
    # CONFIG_CMSIS_DSP_TABLES_ARM_COS_F32 is not set
    # CONFIG_CMSIS_DSP_TABLES_ARM_COS_Q31 is not set
    # CONFIG_CMSIS_DSP_TABLES_ARM_COS_Q15 is not set
    # CONFIG_CMSIS_DSP_TABLES_ARM_SIN_F32 is not set
    # CONFIG_CMSIS_DSP_TABLES_ARM_SIN_Q31 is not set
    # CONFIG_CMSIS_DSP_TABLES_ARM_SIN_Q15 is not set
    # CONFIG_CMSIS_DSP_TABLES_ARM_SIN_COS_F32 is not set
    # CONFIG_CMSIS_DSP_TABLES_ARM_SIN_COS_Q31 is not set
    # CONFIG_CMSIS_DSP_TABLES_ARM_LMS_NORM_Q31 is not set
    # CONFIG_CMSIS_DSP_TABLES_ARM_LMS_NORM_Q15 is not set
    # CONFIG_CMSIS_DSP_TABLES_ARM_CMPLX_MAG_Q31 is not set
    # CONFIG_CMSIS_DSP_TABLES_ARM_CMPLX_MAG_Q15 is not set
    
    #
    # Transformation Tables
    #
    CONFIG_CMSIS_DSP_TABLES_CFFT_F64_16=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F64_32=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F64_64=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F64_128=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F64_256=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F64_512=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F64_1024=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F64_2048=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F64_4096=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F32_16=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F32_32=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F32_64=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F32_128=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F32_256=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F32_512=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F32_1024=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F32_2048=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_F32_4096=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_16=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_32=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_64=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_128=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_256=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_512=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_1024=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_2048=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_4096=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_16=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_32=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_64=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_128=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_256=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_512=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_1024=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_2048=y
    CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_4096=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_32=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_64=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_128=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_256=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_512=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_1024=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_2048=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_4096=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_32=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_64=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_128=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_256=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_512=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_1024=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_2048=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_4096=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_F64_128=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_F64_512=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_F64_2048=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_F64_8192=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_F32_128=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_F32_512=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_F32_2048=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_F32_8192=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_32=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_64=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_128=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_256=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_512=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_1024=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_2048=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_4096=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_8192=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_32=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_64=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_128=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_256=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_512=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_1024=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_2048=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_4096=y
    CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_8192=y
    CONFIG_CMSIS_DSP_TABLES_DCT4_F32_128=y
    CONFIG_CMSIS_DSP_TABLES_DCT4_F32_512=y
    CONFIG_CMSIS_DSP_TABLES_DCT4_F32_2048=y
    CONFIG_CMSIS_DSP_TABLES_DCT4_F32_8192=y
    CONFIG_CMSIS_DSP_TABLES_DCT4_Q31_128=y
    CONFIG_CMSIS_DSP_TABLES_DCT4_Q31_512=y
    CONFIG_CMSIS_DSP_TABLES_DCT4_Q31_2048=y
    CONFIG_CMSIS_DSP_TABLES_DCT4_Q31_8192=y
    CONFIG_CMSIS_DSP_TABLES_DCT4_Q15_128=y
    CONFIG_CMSIS_DSP_TABLES_DCT4_Q15_512=y
    CONFIG_CMSIS_DSP_TABLES_DCT4_Q15_2048=y
    CONFIG_CMSIS_DSP_TABLES_DCT4_Q15_8192=y
    
    #
    # Instruction Set
    #
    
    #
    # Features
    #
    # CONFIG_CMSIS_DSP_LOOPUNROLL is not set
    # CONFIG_CMSIS_DSP_ROUNDING is not set
    # CONFIG_CMSIS_DSP_MATRIXCHECK is not set
    # CONFIG_CMSIS_DSP_AUTOVECTORIZE is not set
    # CONFIG_LIBMETAL is not set
    # CONFIG_HAS_SEMTECH_LORAMAC is not set
    # CONFIG_HAS_SEMTECH_RADIO_DRIVERS is not set
    # CONFIG_MBEDTLS is not set
    # CONFIG_HAS_MEC_HAL is not set
    CONFIG_HAS_NRFX=y
    
    #
    # nrfx drivers
    #
    # CONFIG_NRFX_CLOCK is not set
    # CONFIG_NRFX_DPPI is not set
    # CONFIG_NRFX_EGU is not set
    # CONFIG_NRFX_EGU0 is not set
    # CONFIG_NRFX_EGU1 is not set
    # CONFIG_NRFX_EGU2 is not set
    # CONFIG_NRFX_EGU3 is not set
    # CONFIG_NRFX_EGU4 is not set
    # CONFIG_NRFX_EGU5 is not set
    # CONFIG_NRFX_GPIOTE is not set
    # CONFIG_NRFX_I2S is not set
    # CONFIG_NRFX_IPC is not set
    CONFIG_NRFX_NVMC=y
    # CONFIG_NRFX_PDM is not set
    # CONFIG_NRFX_POWER is not set
    # CONFIG_NRFX_PWM is not set
    # CONFIG_NRFX_PWM0 is not set
    # CONFIG_NRFX_PWM1 is not set
    # CONFIG_NRFX_PWM2 is not set
    # CONFIG_NRFX_PWM3 is not set
    CONFIG_NRFX_RTC=y
    # CONFIG_NRFX_RTC0 is not set
    # CONFIG_NRFX_RTC1 is not set
    CONFIG_NRFX_SAADC=y
    CONFIG_NRFX_SPIM=y
    # CONFIG_NRFX_SPIM0 is not set
    # CONFIG_NRFX_SPIM1 is not set
    # CONFIG_NRFX_SPIM2 is not set
    CONFIG_NRFX_SPIM3=y
    # CONFIG_NRFX_SPIS is not set
    # CONFIG_NRFX_SPIS0 is not set
    # CONFIG_NRFX_SPIS1 is not set
    # CONFIG_NRFX_SPIS2 is not set
    # CONFIG_NRFX_SPIS3 is not set
    # CONFIG_NRFX_SYSTICK is not set
    # CONFIG_NRFX_TIMER is not set
    # CONFIG_NRFX_TIMER0 is not set
    # CONFIG_NRFX_TIMER1 is not set
    # CONFIG_NRFX_TIMER2 is not set
    CONFIG_NRFX_TWIM=y
    # CONFIG_NRFX_TWIM0 is not set
    CONFIG_NRFX_TWIM1=y
    # CONFIG_NRFX_TWIM2 is not set
    # CONFIG_NRFX_TWIM3 is not set
    # CONFIG_NRFX_TWIS is not set
    # CONFIG_NRFX_TWIS0 is not set
    # CONFIG_NRFX_TWIS1 is not set
    # CONFIG_NRFX_TWIS2 is not set
    # CONFIG_NRFX_TWIS3 is not set
    CONFIG_NRFX_UARTE=y
    # CONFIG_NRFX_UARTE0 is not set
    # CONFIG_NRFX_UARTE1 is not set
    CONFIG_NRFX_UARTE2=y
    # CONFIG_NRFX_UARTE3 is not set
    CONFIG_NRFX_WDT=y
    CONFIG_NRFX_WDT0=y
    # CONFIG_NRFX_PRS is not set
    # CONFIG_NRFX_PRS_BOX_0 is not set
    # CONFIG_NRFX_PRS_BOX_1 is not set
    # CONFIG_NRFX_PRS_BOX_2 is not set
    # CONFIG_NRFX_PRS_BOX_3 is not set
    # CONFIG_NRFX_PRS_BOX_4 is not set
    # end of nrfx drivers
    
    # CONFIG_OPENAMP is not set
    # CONFIG_MIPI_SYST_LIB is not set
    # CONFIG_BUILD_WITH_TFM is not set
    # CONFIG_TINYCBOR is not set
    # CONFIG_TINYCRYPT is not set
    # end of Modules
    
    CONFIG_SPI=y
    # CONFIG_NET_L2_ETHERNET is not set
    # CONFIG_ADC_LMP90XXX is not set
    CONFIG_I2C=y
    # CONFIG_ADC_MCP320X is not set
    # CONFIG_MODEM is not set
    CONFIG_UART_INTERRUPT_DRIVEN=y
    # CONFIG_NET_IPV6 is not set
    # CONFIG_NET_CONFIG_NEED_IPV6 is not set
    CONFIG_BOARD="nrf9160dk_nrf9160"
    CONFIG_FLASH_LOAD_SIZE=0x40000
    CONFIG_FLASH_LOAD_OFFSET=0x40000
    CONFIG_SOC="nRF9160_SICA"
    CONFIG_SOC_SERIES="nrf91"
    CONFIG_NUM_IRQS=65
    CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=32768
    CONFIG_WATCHDOG=y
    # CONFIG_UART_NS16550 is not set
    CONFIG_GPIO=y
    CONFIG_SYS_POWER_MANAGEMENT=y
    # CONFIG_SYS_POWER_DEEP_SLEEP_STATES is not set
    CONFIG_HAS_SYS_POWER_STATE_DEEP_SLEEP_1=y
    # CONFIG_DEVICE_POWER_MANAGEMENT is not set
    CONFIG_ARCH_HAS_CUSTOM_BUSY_WAIT=y
    # CONFIG_CORTEX_M_SYSTICK is not set
    CONFIG_CLOCK_CONTROL=y
    CONFIG_NRF_RTC_TIMER=y
    CONFIG_SYS_CLOCK_TICKS_PER_SEC=32768
    CONFIG_BUILD_OUTPUT_HEX=y
    CONFIG_FPU=y
    CONFIG_TEXT_SECTION_OFFSET=0
    CONFIG_FLASH_SIZE=1024
    CONFIG_FLASH_BASE_ADDRESS=0x0
    CONFIG_SRAM_SIZE=128
    CONFIG_SRAM_BASE_ADDRESS=0x20020000
    # CONFIG_GPIO_MCUX is not set
    # CONFIG_CPU_HAS_CUSTOM_FIXED_SOC_MPU_REGIONS is not set
    # CONFIG_NET_L2_IEEE802154 is not set
    CONFIG_SOC_GECKO_EMU=y
    CONFIG_HEAP_MEM_POOL_SIZE=65536
    # CONFIG_BOARD_NRF9160DK_NRF9160 is not set
    CONFIG_BOARD_NRF9160DK_NRF9160NS=y
    
    #
    # Board Options
    #
    # CONFIG_BOARD_NRF52840_GPIO_RESET is not set
    # end of Board Options
    
    # CONFIG_SOC_SERIES_BEETLE is not set
    # CONFIG_SOC_SERIES_MPS2 is not set
    # CONFIG_SOC_SERIES_MUSCA is not set
    # CONFIG_SOC_SERIES_MUSCA_B1 is not set
    # CONFIG_SOC_SERIES_SAMD20 is not set
    # CONFIG_SOC_SERIES_SAMD21 is not set
    # CONFIG_SOC_SERIES_SAMD51 is not set
    # CONFIG_SOC_SERIES_SAME51 is not set
    # CONFIG_SOC_SERIES_SAME53 is not set
    # CONFIG_SOC_SERIES_SAME54 is not set
    # CONFIG_SOC_SERIES_SAMR21 is not set
    # CONFIG_SOC_SERIES_SAM3X is not set
    # CONFIG_SOC_SERIES_SAM4E is not set
    # CONFIG_SOC_SERIES_SAM4S is not set
    # CONFIG_SOC_SERIES_SAME70 is not set
    # CONFIG_SOC_SERIES_SAMV71 is not set
    # CONFIG_SOC_SERIES_VALKYRIE is not set
    # CONFIG_SOC_SERIES_VIPER is not set
    # CONFIG_SOC_SERIES_PSOC62 is not set
    # CONFIG_SOC_SERIES_XMC_4XXX is not set
    # CONFIG_SOC_SERIES_MEC1501X is not set
    # CONFIG_SOC_SERIES_MEC1701X is not set
    # CONFIG_SOC_SERIES_NRF51X is not set
    # CONFIG_SOC_SERIES_NRF52X is not set
    # CONFIG_SOC_SERIES_NRF53X is not set
    CONFIG_SOC_SERIES_NRF91X=y
    # CONFIG_SOC_SERIES_IMX_6X_M4 is not set
    # CONFIG_SOC_SERIES_IMX7_M4 is not set
    # CONFIG_SOC_SERIES_IMX_RT is not set
    # CONFIG_SOC_SERIES_KINETIS_K2X is not set
    # CONFIG_SOC_SERIES_KINETIS_K6X is not set
    # CONFIG_SOC_SERIES_KINETIS_K8X is not set
    # CONFIG_SOC_SERIES_KINETIS_KE1XF is not set
    # CONFIG_SOC_SERIES_KINETIS_KL2X is not set
    # CONFIG_SOC_SERIES_KINETIS_KV5X is not set
    # CONFIG_SOC_SERIES_KINETIS_KWX is not set
    # CONFIG_SOC_SERIES_LPC54XXX is not set
    # CONFIG_SOC_SERIES_LPC55XXX is not set
    # CONFIG_SOC_QEMU_CORTEX_A53 is not set
    # CONFIG_SOC_SERIES_EFM32GG11B is not set
    # CONFIG_SOC_SERIES_EFM32HG is not set
    # CONFIG_SOC_SERIES_EFM32JG12B is not set
    # CONFIG_SOC_SERIES_EFM32PG12B is not set
    # CONFIG_SOC_SERIES_EFM32WG is not set
    # CONFIG_SOC_SERIES_EFR32BG13P is not set
    # CONFIG_SOC_SERIES_EFR32FG1P is not set
    # CONFIG_SOC_SERIES_EFR32MG12P is not set
    # CONFIG_SOC_SERIES_STM32F0X is not set
    # CONFIG_SOC_SERIES_STM32F1X is not set
    # CONFIG_SOC_SERIES_STM32F2X is not set
    # CONFIG_SOC_SERIES_STM32F3X is not set
    # CONFIG_SOC_SERIES_STM32F4X is not set
    # CONFIG_SOC_SERIES_STM32F7X is not set
    # CONFIG_SOC_SERIES_STM32G0X is not set
    # CONFIG_SOC_SERIES_STM32G4X is not set
    # CONFIG_SOC_SERIES_STM32H7X is not set
    # CONFIG_SOC_SERIES_STM32L0X is not set
    # CONFIG_SOC_SERIES_STM32L1X is not set
    # CONFIG_SOC_SERIES_STM32L4X is not set
    # CONFIG_SOC_SERIES_STM32L5X is not set
    # CONFIG_SOC_SERIES_STM32MP1X is not set
    # CONFIG_SOC_SERIES_STM32WBX is not set
    # CONFIG_SOC_TI_LM3S6965 is not set
    # CONFIG_SOC_SERIES_CC13X2_CC26X2 is not set
    # CONFIG_SOC_SERIES_CC32XX is not set
    # CONFIG_SOC_SERIES_MSP432P4XX is not set
    # CONFIG_SOC_XILINX_ZYNQMP_RPU is not set
    
    #
    # Hardware Configuration
    #
    CONFIG_CPU_HAS_ARM_MPU=y
    CONFIG_CPU_HAS_NRF_IDAU=y
    CONFIG_NRF_SPU_RAM_REGION_SIZE=0x2000
    CONFIG_SOC_FAMILY="nordic_nrf"
    CONFIG_SOC_FAMILY_NRF=y
    CONFIG_HAS_HW_NRF_CC310=y
    CONFIG_HAS_HW_NRF_CLOCK=y
    CONFIG_HAS_HW_NRF_DPPIC=y
    CONFIG_HAS_HW_NRF_EGU0=y
    CONFIG_HAS_HW_NRF_EGU1=y
    CONFIG_HAS_HW_NRF_EGU2=y
    CONFIG_HAS_HW_NRF_EGU3=y
    CONFIG_HAS_HW_NRF_EGU4=y
    CONFIG_HAS_HW_NRF_EGU5=y
    CONFIG_HAS_HW_NRF_GPIO0=y
    CONFIG_HAS_HW_NRF_GPIOTE=y
    CONFIG_HAS_HW_NRF_I2S=y
    CONFIG_HAS_HW_NRF_IPC=y
    CONFIG_HAS_HW_NRF_NVMC_PE=y
    CONFIG_HAS_HW_NRF_PDM=y
    CONFIG_HAS_HW_NRF_POWER=y
    CONFIG_HAS_HW_NRF_PWM0=y
    CONFIG_HAS_HW_NRF_PWM1=y
    CONFIG_HAS_HW_NRF_PWM2=y
    CONFIG_HAS_HW_NRF_PWM3=y
    CONFIG_HAS_HW_NRF_RTC0=y
    CONFIG_HAS_HW_NRF_RTC1=y
    CONFIG_HAS_HW_NRF_SAADC=y
    CONFIG_HAS_HW_NRF_SPIM0=y
    CONFIG_HAS_HW_NRF_SPIM1=y
    CONFIG_HAS_HW_NRF_SPIM2=y
    CONFIG_HAS_HW_NRF_SPIM3=y
    CONFIG_HAS_HW_NRF_SPIS0=y
    CONFIG_HAS_HW_NRF_SPIS1=y
    CONFIG_HAS_HW_NRF_SPIS2=y
    CONFIG_HAS_HW_NRF_SPIS3=y
    CONFIG_HAS_HW_NRF_SPU=y
    CONFIG_HAS_HW_NRF_TIMER0=y
    CONFIG_HAS_HW_NRF_TIMER1=y
    CONFIG_HAS_HW_NRF_TIMER2=y
    CONFIG_HAS_HW_NRF_TWIM0=y
    CONFIG_HAS_HW_NRF_TWIM1=y
    CONFIG_HAS_HW_NRF_TWIM2=y
    CONFIG_HAS_HW_NRF_TWIM3=y
    CONFIG_HAS_HW_NRF_TWIS0=y
    CONFIG_HAS_HW_NRF_TWIS1=y
    CONFIG_HAS_HW_NRF_TWIS2=y
    CONFIG_HAS_HW_NRF_TWIS3=y
    CONFIG_HAS_HW_NRF_UARTE0=y
    CONFIG_HAS_HW_NRF_UARTE1=y
    CONFIG_HAS_HW_NRF_UARTE2=y
    CONFIG_HAS_HW_NRF_UARTE3=y
    CONFIG_HAS_HW_NRF_WDT=y
    CONFIG_NRF_ENABLE_ICACHE=y
    CONFIG_SOC_NRF9160=y
    CONFIG_SOC_NRF9160_SICA=y
    # CONFIG_SOC_LOG_LEVEL_OFF is not set
    # CONFIG_SOC_LOG_LEVEL_ERR is not set
    # CONFIG_SOC_LOG_LEVEL_WRN is not set
    CONFIG_SOC_LOG_LEVEL_INF=y
    # CONFIG_SOC_LOG_LEVEL_DBG is not set
    CONFIG_SOC_LOG_LEVEL=3
    # end of Hardware Configuration
    
    CONFIG_SOC_COMPATIBLE_NRF=y
    
    #
    # ARM Options
    #
    CONFIG_ARCH="arm"
    CONFIG_CPU_CORTEX=y
    CONFIG_CPU_CORTEX_M=y
    CONFIG_ISA_THUMB2=y
    CONFIG_ASSEMBLER_ISA_THUMB2=y
    CONFIG_COMPILER_ISA_THUMB2=y
    CONFIG_STACK_ALIGN_DOUBLE_WORD=y
    # CONFIG_RUNTIME_NMI is not set
    CONFIG_PLATFORM_SPECIFIC_INIT=y
    CONFIG_FAULT_DUMP=2
    CONFIG_BUILTIN_STACK_GUARD=y
    CONFIG_ARM_STACK_PROTECTION=y
    CONFIG_ARM_NONSECURE_FIRMWARE=y
    CONFIG_FP_HARDABI=y
    # CONFIG_FP_SOFTABI is not set
    CONFIG_CPU_CORTEX_M33=y
    CONFIG_CPU_CORTEX_M_HAS_SYSTICK=y
    CONFIG_CPU_CORTEX_M_HAS_DWT=y
    CONFIG_CPU_CORTEX_M_HAS_BASEPRI=y
    CONFIG_CPU_CORTEX_M_HAS_VTOR=y
    CONFIG_CPU_CORTEX_M_HAS_SPLIM=y
    CONFIG_CPU_CORTEX_M_HAS_PROGRAMMABLE_FAULT_PRIOS=y
    CONFIG_CPU_CORTEX_M_HAS_CMSE=y
    CONFIG_ARMV7_M_ARMV8_M_MAINLINE=y
    CONFIG_ARMV8_M_MAINLINE=y
    CONFIG_ARMV8_M_SE=y
    CONFIG_ARMV7_M_ARMV8_M_FP=y
    CONFIG_ARMV8_M_DSP=y
    CONFIG_XIP=y
    
    #
    # ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 options
    #
    CONFIG_GEN_ISR_TABLES=y
    # CONFIG_ZERO_LATENCY_IRQS is not set
    # end of ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 options
    
    CONFIG_ARM_MPU=y
    CONFIG_ARM_MPU_REGION_MIN_ALIGN_AND_SIZE=32
    # CONFIG_MPU_STACK_GUARD is not set
    CONFIG_MPU_ALLOW_FLASH_WRITE=y
    # CONFIG_CUSTOM_SECTION_ALIGN is not set
    CONFIG_CUSTOM_SECTION_MIN_ALIGN_SIZE=32
    CONFIG_ARM_TRUSTZONE_M=y
    
    #
    # ARM TrustZone-M Options
    #
    
    #
    # Non-secure firmware
    #
    CONFIG_ARM_FIRMWARE_USES_SECURE_ENTRY_FUNCS=y
    # end of ARM TrustZone-M Options
    
    CONFIG_GEN_IRQ_VECTOR_TABLE=y
    CONFIG_MAIN_STACK_SIZE=4096
    CONFIG_IDLE_STACK_SIZE=500
    CONFIG_ISR_STACK_SIZE=2048
    CONFIG_TEST_EXTRA_STACKSIZE=0
    # end of ARM Options
    
    CONFIG_ARM=y
    CONFIG_ARCH_IS_SET=y
    
    #
    # General Architecture Options
    #
    # CONFIG_ARCH_LOG_LEVEL_OFF is not set
    # CONFIG_ARCH_LOG_LEVEL_ERR is not set
    # CONFIG_ARCH_LOG_LEVEL_WRN is not set
    CONFIG_ARCH_LOG_LEVEL_INF=y
    # CONFIG_ARCH_LOG_LEVEL_DBG is not set
    CONFIG_ARCH_LOG_LEVEL=3
    # CONFIG_MPU_LOG_LEVEL_OFF is not set
    # CONFIG_MPU_LOG_LEVEL_ERR is not set
    # CONFIG_MPU_LOG_LEVEL_WRN is not set
    CONFIG_MPU_LOG_LEVEL_INF=y
    # CONFIG_MPU_LOG_LEVEL_DBG is not set
    CONFIG_MPU_LOG_LEVEL=3
    # CONFIG_TRUSTED_EXECUTION_SECURE is not set
    CONFIG_TRUSTED_EXECUTION_NONSECURE=y
    CONFIG_HW_STACK_PROTECTION=y
    # CONFIG_USERSPACE is not set
    CONFIG_PRIVILEGED_STACK_SIZE=1024
    CONFIG_KOBJECT_TEXT_AREA=256
    CONFIG_GEN_PRIV_STACKS=y
    # CONFIG_STACK_GROWS_UP is not set
    
    #
    # Interrupt Configuration
    #
    # CONFIG_DYNAMIC_INTERRUPTS is not set
    CONFIG_GEN_SW_ISR_TABLE=y
    CONFIG_ARCH_SW_ISR_TABLE_ALIGN=0
    CONFIG_GEN_IRQ_START_VECTOR=0
    # end of Interrupt Configuration
    # end of General Architecture Options
    
    CONFIG_ARCH_HAS_TRUSTED_EXECUTION=y
    CONFIG_ARCH_HAS_STACK_PROTECTION=y
    CONFIG_ARCH_HAS_USERSPACE=y
    CONFIG_ARCH_HAS_EXECUTABLE_PAGE_BIT=y
    CONFIG_ARCH_HAS_RAMFUNC_SUPPORT=y
    CONFIG_ARCH_HAS_NESTED_EXCEPTION_DETECTION=y
    CONFIG_ARCH_HAS_THREAD_ABORT=y
    CONFIG_CPU_HAS_TEE=y
    CONFIG_CPU_HAS_FPU=y
    CONFIG_CPU_HAS_MPU=y
    CONFIG_MEMORY_PROTECTION=y
    CONFIG_MPU_REQUIRES_NON_OVERLAPPING_REGIONS=y
    CONFIG_MPU_GAP_FILLING=y
    
    #
    # Floating Point Options
    #
    CONFIG_FPU_SHARING=y
    # end of Floating Point Options
    
    #
    # General Kernel Options
    #
    # CONFIG_KERNEL_LOG_LEVEL_OFF is not set
    # CONFIG_KERNEL_LOG_LEVEL_ERR is not set
    # CONFIG_KERNEL_LOG_LEVEL_WRN is not set
    CONFIG_KERNEL_LOG_LEVEL_INF=y
    # CONFIG_KERNEL_LOG_LEVEL_DBG is not set
    CONFIG_KERNEL_LOG_LEVEL=3
    CONFIG_MULTITHREADING=y
    CONFIG_NUM_COOP_PRIORITIES=16
    CONFIG_NUM_PREEMPT_PRIORITIES=15
    CONFIG_MAIN_THREAD_PRIORITY=0
    CONFIG_COOP_ENABLED=y
    CONFIG_PREEMPT_ENABLED=y
    CONFIG_PRIORITY_CEILING=0
    CONFIG_NUM_METAIRQ_PRIORITIES=0
    # CONFIG_SCHED_DEADLINE is not set
    # CONFIG_SCHED_CPU_MASK is not set
    CONFIG_THREAD_STACK_INFO=y
    # CONFIG_THREAD_CUSTOM_DATA is not set
    CONFIG_ERRNO=y
    CONFIG_SCHED_DUMB=y
    # CONFIG_SCHED_SCALABLE is not set
    # CONFIG_SCHED_MULTIQ is not set
    # CONFIG_WAITQ_SCALABLE is not set
    CONFIG_WAITQ_DUMB=y
    
    #
    # Kernel Debugging and Metrics
    #
    # CONFIG_INIT_STACKS is not set
    # CONFIG_KERNEL_DEBUG is not set
    CONFIG_BOOT_BANNER=y
    CONFIG_BOOT_DELAY=0
    # CONFIG_EXECUTION_BENCHMARKING is not set
    CONFIG_THREAD_MONITOR=y
    CONFIG_THREAD_NAME=y
    CONFIG_THREAD_MAX_NAME_LEN=32
    # end of Kernel Debugging and Metrics
    
    #
    # Work Queue Options
    #
    CONFIG_SYSTEM_WORKQUEUE_PRIORITY=-1
    # end of Work Queue Options
    
    #
    # Atomic Operations
    #
    CONFIG_ATOMIC_OPERATIONS_BUILTIN=y
    # end of Atomic Operations
    
    #
    # Timer API Options
    #
    CONFIG_TIMESLICING=y
    CONFIG_TIMESLICE_SIZE=0
    CONFIG_TIMESLICE_PRIORITY=0
    CONFIG_POLL=y
    # end of Timer API Options
    
    #
    # Other Kernel Object Options
    #
    CONFIG_NUM_MBOX_ASYNC_MSGS=10
    CONFIG_NUM_PIPE_ASYNC_MSGS=10
    CONFIG_MEM_POOL_HEAP_BACKEND=y
    CONFIG_HEAP_MEM_POOL_MIN_SIZE=64
    # end of Other Kernel Object Options
    
    CONFIG_ARCH_HAS_CUSTOM_SWAP_TO_MAIN=y
    CONFIG_SWAP_NONATOMIC=y
    CONFIG_SYS_CLOCK_EXISTS=y
    # CONFIG_LEGACY_TIMEOUT_API is not set
    CONFIG_TIMEOUT_64BIT=y
    
    #
    # Initialization Priorities
    #
    CONFIG_KERNEL_INIT_PRIORITY_OBJECTS=30
    CONFIG_KERNEL_INIT_PRIORITY_DEFAULT=40
    CONFIG_KERNEL_INIT_PRIORITY_DEVICE=50
    CONFIG_APPLICATION_INIT_PRIORITY=90
    # end of Initialization Priorities
    
    #
    # Security Options
    #
    # CONFIG_STACK_CANARIES is not set
    CONFIG_STACK_POINTER_RANDOM=0
    # end of Security Options
    
    #
    # SMP Options
    #
    CONFIG_MP_NUM_CPUS=1
    # end of SMP Options
    
    CONFIG_TICKLESS_IDLE=y
    CONFIG_TICKLESS_IDLE_THRESH=3
    CONFIG_TICKLESS_KERNEL=y
    CONFIG_SYS_PM_STATE_LOCK=y
    CONFIG_SYS_PM_DIRECT_FORCE_MODE=y
    CONFIG_SYS_PM_DEBUG=y
    # CONFIG_SYS_PM_POLICY_RESIDENCY is not set
    # CONFIG_SYS_PM_POLICY_DUMMY is not set
    CONFIG_SYS_PM_POLICY_APP=y
    # CONFIG_SYS_PM_LOG_LEVEL_OFF is not set
    # CONFIG_SYS_PM_LOG_LEVEL_ERR is not set
    # CONFIG_SYS_PM_LOG_LEVEL_WRN is not set
    CONFIG_SYS_PM_LOG_LEVEL_INF=y
    # CONFIG_SYS_PM_LOG_LEVEL_DBG is not set
    CONFIG_SYS_PM_LOG_LEVEL=3
    # end of General Kernel Options
    
    CONFIG_HAS_DTS=y
    CONFIG_HAS_DTS_GPIO=y
    CONFIG_HAS_DTS_I2C=y
    CONFIG_HAS_DTS_WDT=y
    
    #
    # Device Drivers
    #
    # CONFIG_IEEE802154 is not set
    # CONFIG_LORA is not set
    CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_0"
    CONFIG_CONSOLE=y
    CONFIG_CONSOLE_INPUT_MAX_LINE_LEN=128
    CONFIG_CONSOLE_HAS_DRIVER=y
    # CONFIG_CONSOLE_HANDLER is not set
    CONFIG_UART_CONSOLE=y
    CONFIG_UART_CONSOLE_INIT_PRIORITY=60
    # CONFIG_UART_CONSOLE_DEBUG_SERVER_HOOKS is not set
    # CONFIG_UART_CONSOLE_MCUMGR is not set
    # CONFIG_USB_UART_CONSOLE is not set
    # CONFIG_RAM_CONSOLE is not set
    CONFIG_RTT_CONSOLE=y
    CONFIG_RTT_TX_RETRY_CNT=2
    CONFIG_RTT_TX_RETRY_DELAY_MS=2
    # CONFIG_RTT_TX_RETRY_IN_INTERRUPT is not set
    # CONFIG_IPM_CONSOLE_SENDER is not set
    # CONFIG_IPM_CONSOLE_RECEIVER is not set
    # CONFIG_UART_PIPE is not set
    # CONFIG_UART_MCUMGR is not set
    # CONFIG_SEMIHOST_CONSOLE is not set
    # CONFIG_UART_CONSOLE_LOG_LEVEL_OFF is not set
    # CONFIG_UART_CONSOLE_LOG_LEVEL_ERR is not set
    # CONFIG_UART_CONSOLE_LOG_LEVEL_WRN is not set
    CONFIG_UART_CONSOLE_LOG_LEVEL_INF=y
    # CONFIG_UART_CONSOLE_LOG_LEVEL_DBG is not set
    CONFIG_UART_CONSOLE_LOG_LEVEL=3
    # CONFIG_GSM_MUX is not set
    CONFIG_UART_MUX_RX_STACK_SIZE=512
    CONFIG_UART_MUX_RX_PRIORITY=7
    # CONFIG_UART_MUX_LOG_LEVEL_OFF is not set
    # CONFIG_UART_MUX_LOG_LEVEL_ERR is not set
    # CONFIG_UART_MUX_LOG_LEVEL_WRN is not set
    CONFIG_UART_MUX_LOG_LEVEL_INF=y
    # CONFIG_UART_MUX_LOG_LEVEL_DBG is not set
    CONFIG_UART_MUX_LOG_LEVEL=3
    CONFIG_HAS_SEGGER_RTT=y
    CONFIG_USE_SEGGER_RTT=y
    CONFIG_SEGGER_RTT_MAX_NUM_UP_BUFFERS=3
    CONFIG_SEGGER_RTT_MAX_NUM_DOWN_BUFFERS=3
    CONFIG_SEGGER_RTT_BUFFER_SIZE_UP=1024
    CONFIG_SEGGER_RTT_BUFFER_SIZE_DOWN=16
    CONFIG_SEGGER_RTT_PRINTF_BUFFER_SIZE=64
    CONFIG_SEGGER_RTT_MODE_NO_BLOCK_SKIP=y
    # CONFIG_SEGGER_RTT_MODE_NO_BLOCK_TRIM is not set
    # CONFIG_SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL is not set
    CONFIG_SEGGER_RTT_MODE=0
    # CONFIG_SEGGER_RTT_MEMCPY_USE_BYTELOOP is not set
    # CONFIG_SLIP is not set
    # CONFIG_NET_LOOPBACK is not set
    CONFIG_SERIAL=y
    
    #
    # Capabilities
    #
    CONFIG_SERIAL_HAS_DRIVER=y
    CONFIG_SERIAL_SUPPORT_ASYNC=y
    CONFIG_SERIAL_SUPPORT_INTERRUPT=y
    # CONFIG_UART_ASYNC_API is not set
    # CONFIG_UART_LINE_CTRL is not set
    # CONFIG_UART_DRV_CMD is not set
    
    #
    # Serial Drivers
    #
    # CONFIG_UART_NSIM is not set
    CONFIG_UART_NRFX=y
    CONFIG_UART_0_NRF_UARTE=y
    CONFIG_UART_0_INTERRUPT_DRIVEN=y
    # CONFIG_UART_0_NRF_PARITY_BIT is not set
    # CONFIG_UART_0_NRF_FLOW_CONTROL is not set
    CONFIG_UART_0_NRF_TX_BUFFER_SIZE=32
    CONFIG_UART_2_NRF_UARTE=y
    CONFIG_UART_2_INTERRUPT_DRIVEN=y
    # CONFIG_UART_2_NRF_PARITY_BIT is not set
    # CONFIG_UART_2_NRF_FLOW_CONTROL is not set
    CONFIG_UART_2_NRF_TX_BUFFER_SIZE=512
    CONFIG_NRF_UARTE_PERIPHERAL=y
    # CONFIG_UART_ALTERA_JTAG is not set
    # CONFIG_UART_PL011 is not set
    CONFIG_UART_RTT=y
    # CONFIG_UART_RTT_0 is not set
    # CONFIG_UART_RTT_1 is not set
    # CONFIG_UART_RTT_2 is not set
    
    #
    # Interrupt Controllers
    #
    # CONFIG_SWERV_PIC is not set
    # CONFIG_MULTI_LEVEL_INTERRUPTS is not set
    # end of Interrupt Controllers
    
    #
    # Timer Drivers
    #
    CONFIG_SYSTEM_CLOCK_DISABLE=y
    # CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME is not set
    # CONFIG_SYSTEM_CLOCK_SLOPPY_IDLE is not set
    CONFIG_SYSTEM_CLOCK_INIT_PRIORITY=0
    CONFIG_TICKLESS_CAPABLE=y
    # end of Timer Drivers
    
    CONFIG_ENTROPY_GENERATOR=y
    CONFIG_ENTROPY_HAS_DRIVER=y
    # CONFIG_GPIO_LOG_LEVEL_OFF is not set
    # CONFIG_GPIO_LOG_LEVEL_ERR is not set
    # CONFIG_GPIO_LOG_LEVEL_WRN is not set
    CONFIG_GPIO_LOG_LEVEL_INF=y
    # CONFIG_GPIO_LOG_LEVEL_DBG is not set
    CONFIG_GPIO_LOG_LEVEL=3
    # CONFIG_GPIO_SHELL is not set
    # CONFIG_GPIO_DW is not set
    # CONFIG_GPIO_PCA95XX is not set
    # CONFIG_GPIO_MCP23S17 is not set
    CONFIG_GPIO_NRFX=y
    CONFIG_GPIO_NRF_INIT_PRIORITY=40
    CONFIG_GPIO_NRF_P0=y
    # CONFIG_GPIO_SX1509B is not set
    # CONFIG_GPIO_INTEL_APL is not set
    # CONFIG_SHARED_IRQ is not set
    # CONFIG_SPI_ASYNC is not set
    # CONFIG_SPI_SLAVE is not set
    CONFIG_SPI_INIT_PRIORITY=70
    # CONFIG_SPI_LOG_LEVEL_OFF is not set
    # CONFIG_SPI_LOG_LEVEL_ERR is not set
    # CONFIG_SPI_LOG_LEVEL_WRN is not set
    CONFIG_SPI_LOG_LEVEL_INF=y
    # CONFIG_SPI_LOG_LEVEL_DBG is not set
    CONFIG_SPI_LOG_LEVEL=3
    # CONFIG_SPI_0 is not set
    # CONFIG_SPI_1 is not set
    # CONFIG_SPI_2 is not set
    CONFIG_SPI_3=y
    CONFIG_SPI_3_OP_MODES=1
    # CONFIG_SPI_4 is not set
    # CONFIG_SPI_5 is not set
    # CONFIG_SPI_6 is not set
    # CONFIG_SPI_7 is not set
    # CONFIG_SPI_8 is not set
    CONFIG_SPI_NRFX=y
    CONFIG_SPI_3_NRF_SPIM=y
    CONFIG_SPI_3_NRF_ORC=0xff
    CONFIG_SPI_NRFX_RAM_BUFFER_SIZE=0
    # CONFIG_SPI_OC_SIMPLE is not set
    # CONFIG_I2C_SLAVE is not set
    # CONFIG_I2C_GPIO is not set
    CONFIG_I2C_NRFX=y
    CONFIG_I2C_1_NRF_TWIM=y
    # CONFIG_I2C_SBCON is not set
    # CONFIG_I2C_STM32 is not set
    CONFIG_I2C_INIT_PRIORITY=60
    # CONFIG_I2C_LOG_LEVEL_OFF is not set
    # CONFIG_I2C_LOG_LEVEL_ERR is not set
    # CONFIG_I2C_LOG_LEVEL_WRN is not set
    # CONFIG_I2C_LOG_LEVEL_INF is not set
    CONFIG_I2C_LOG_LEVEL_DBG=y
    CONFIG_I2C_LOG_LEVEL=4
    # CONFIG_I2C_0 is not set
    # CONFIG_I2C_1 is not set
    # CONFIG_I2C_2 is not set
    # CONFIG_I2C_3 is not set
    # CONFIG_I2C_4 is not set
    # CONFIG_I2C_5 is not set
    # CONFIG_I2C_6 is not set
    # CONFIG_I2C_7 is not set
    # CONFIG_I2S is not set
    # CONFIG_PWM is not set
    # CONFIG_PINMUX is not set
    CONFIG_ADC=y
    # CONFIG_ADC_ASYNC is not set
    # CONFIG_ADC_LOG_LEVEL_OFF is not set
    # CONFIG_ADC_LOG_LEVEL_ERR is not set
    # CONFIG_ADC_LOG_LEVEL_WRN is not set
    CONFIG_ADC_LOG_LEVEL_INF=y
    # CONFIG_ADC_LOG_LEVEL_DBG is not set
    CONFIG_ADC_LOG_LEVEL=3
    # CONFIG_ADC_NRFX_SAADC is not set
    # CONFIG_DAC is not set
    # CONFIG_WDT_DISABLE_AT_BOOT is not set
    # CONFIG_WDT_LOG_LEVEL_OFF is not set
    # CONFIG_WDT_LOG_LEVEL_ERR is not set
    # CONFIG_WDT_LOG_LEVEL_WRN is not set
    # CONFIG_WDT_LOG_LEVEL_INF is not set
    CONFIG_WDT_LOG_LEVEL_DBG=y
    CONFIG_WDT_LOG_LEVEL=4
    CONFIG_WDT_NRFX=y
    # CONFIG_CLOCK_CONTROL_LOG_LEVEL_OFF is not set
    # CONFIG_CLOCK_CONTROL_LOG_LEVEL_ERR is not set
    # CONFIG_CLOCK_CONTROL_LOG_LEVEL_WRN is not set
    CONFIG_CLOCK_CONTROL_LOG_LEVEL_INF=y
    # CONFIG_CLOCK_CONTROL_LOG_LEVEL_DBG is not set
    CONFIG_CLOCK_CONTROL_LOG_LEVEL=3
    CONFIG_CLOCK_CONTROL_NRF=y
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_250PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_150PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_100PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_75PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_50PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_30PPM is not set
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_20PPM=y
    # CONFIG_PTP_CLOCK is not set
    # CONFIG_IPM is not set
    CONFIG_FLASH_HAS_DRIVER_ENABLED=y
    CONFIG_FLASH_HAS_PAGE_LAYOUT=y
    CONFIG_FLASH=y
    # CONFIG_FLASH_LOG_LEVEL_OFF is not set
    # CONFIG_FLASH_LOG_LEVEL_ERR is not set
    # CONFIG_FLASH_LOG_LEVEL_WRN is not set
    CONFIG_FLASH_LOG_LEVEL_INF=y
    # CONFIG_FLASH_LOG_LEVEL_DBG is not set
    CONFIG_FLASH_LOG_LEVEL=3
    CONFIG_FLASH_PAGE_LAYOUT=y
    # CONFIG_SPI_FLASH_AT45 is not set
    CONFIG_SOC_FLASH_NRF=y
    # CONFIG_SOC_FLASH_NRF_PARTIAL_ERASE is not set
    # CONFIG_SOC_FLASH_NRF_EMULATE_ONE_BYTE_WRITE_ACCESS is not set
    # CONFIG_SPI_NOR is not set
    # CONFIG_SPI_FLASH_W25QXXDV is not set
    # CONFIG_FLASH_SIMULATOR is not set
    # CONFIG_COUNTER is not set
    # CONFIG_DMA is not set
    # CONFIG_USB is not set
    # CONFIG_CRYPTO is not set
    # CONFIG_DISPLAY is not set
    # CONFIG_LED_STRIP is not set
    # CONFIG_WIFI is not set
    # CONFIG_LED is not set
    # CONFIG_CAN is not set
    # CONFIG_AUDIO is not set
    # CONFIG_NEURAL_NET_ACCEL is not set
    # CONFIG_HWINFO is not set
    # CONFIG_ESPI is not set
    # CONFIG_PS2 is not set
    # CONFIG_KSCAN is not set
    # CONFIG_VIDEO is not set
    # CONFIG_EEPROM is not set
    # CONFIG_PECI is not set
    # CONFIG_PECI_INTERRUPT_DRIVEN is not set
    # end of Device Drivers
    
    #
    # C Library
    #
    # CONFIG_MINIMAL_LIBC is not set
    CONFIG_NEWLIB_LIBC=y
    # CONFIG_EXTERNAL_LIBC is not set
    CONFIG_HAS_NEWLIB_LIBC_NANO=y
    CONFIG_NEWLIB_LIBC_NANO=y
    CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y
    # CONFIG_NEWLIB_LIBC_FLOAT_SCANF is not set
    CONFIG_STDOUT_CONSOLE=y
    # end of C Library
    
    #
    # Additional libraries
    #
    # CONFIG_FNMATCH is not set
    # CONFIG_LVGL is not set
    
    #
    # OS Support Library
    #
    # CONFIG_JSON_LIBRARY is not set
    # CONFIG_RING_BUFFER is not set
    # CONFIG_BASE64 is not set
    # CONFIG_SYS_HEAP_VALIDATE is not set
    CONFIG_SYS_HEAP_ALLOC_LOOPS=3
    # end of OS Support Library
    
    CONFIG_POSIX_MAX_FDS=4
    # CONFIG_POSIX_API is not set
    # CONFIG_PTHREAD_IPC is not set
    # CONFIG_POSIX_CLOCK is not set
    CONFIG_MAX_TIMER_COUNT=5
    # CONFIG_POSIX_MQUEUE is not set
    # CONFIG_EVENTFD is not set
    # CONFIG_UPDATEHUB is not set
    # CONFIG_UPDATEHUB_LOG_LEVEL_OFF is not set
    # CONFIG_UPDATEHUB_LOG_LEVEL_ERR is not set
    # CONFIG_UPDATEHUB_LOG_LEVEL_WRN is not set
    CONFIG_UPDATEHUB_LOG_LEVEL_INF=y
    # CONFIG_UPDATEHUB_LOG_LEVEL_DBG is not set
    CONFIG_UPDATEHUB_LOG_LEVEL=3
    # CONFIG_OPENAMP_RSC_TABLE is not set
    # end of Additional libraries
    
    # CONFIG_BT is not set
    # CONFIG_CONSOLE_SUBSYS is not set
    # CONFIG_CPLUSPLUS is not set
    
    #
    # System Monitoring Options
    #
    # CONFIG_BOOT_TIME_MEASUREMENT is not set
    # CONFIG_STATS is not set
    # end of System Monitoring Options
    
    #
    # Debugging Options
    #
    # CONFIG_DEBUG is not set
    # CONFIG_STACK_USAGE is not set
    # CONFIG_STACK_SENTINEL is not set
    CONFIG_PRINTK=y
    CONFIG_EARLY_CONSOLE=y
    CONFIG_ASSERT=y
    CONFIG_ASSERT_LEVEL=2
    CONFIG_SPIN_VALIDATE=y
    # CONFIG_FORCE_NO_ASSERT is not set
    CONFIG_ASSERT_VERBOSE=y
    # CONFIG_ASSERT_NO_FILE_INFO is not set
    # CONFIG_ASSERT_NO_COND_INFO is not set
    # CONFIG_ASSERT_NO_MSG_INFO is not set
    # CONFIG_OBJECT_TRACING is not set
    # CONFIG_OVERRIDE_FRAME_POINTER_DEFAULT is not set
    # CONFIG_DEBUG_INFO is not set
    # CONFIG_OPENOCD_SUPPORT is not set
    # end of Debugging Options
    
    # CONFIG_THREAD_ANALYZER is not set
    # CONFIG_DISK_ACCESS is not set
    
    #
    # File Systems
    #
    # CONFIG_FILE_SYSTEM is not set
    # CONFIG_FCB is not set
    CONFIG_NVS=y
    # CONFIG_NVS_LOG_LEVEL_OFF is not set
    # CONFIG_NVS_LOG_LEVEL_ERR is not set
    # CONFIG_NVS_LOG_LEVEL_WRN is not set
    CONFIG_NVS_LOG_LEVEL_INF=y
    # CONFIG_NVS_LOG_LEVEL_DBG is not set
    CONFIG_NVS_LOG_LEVEL=3
    # end of File Systems
    
    CONFIG_LOG=y
    # CONFIG_LOG_MINIMAL is not set
    # CONFIG_LOG_RUNTIME_FILTERING is not set
    CONFIG_LOG_OVERRIDE_LEVEL=0
    CONFIG_LOG_MAX_LEVEL=4
    # CONFIG_LOG_MIPI_SYST_ENABLE is not set
    
    #
    # Prepend log message with function name
    #
    # CONFIG_LOG_FUNC_NAME_PREFIX_ERR is not set
    # CONFIG_LOG_FUNC_NAME_PREFIX_WRN is not set
    # CONFIG_LOG_FUNC_NAME_PREFIX_INF is not set
    CONFIG_LOG_FUNC_NAME_PREFIX_DBG=y
    # end of Prepend log message with function name
    
    CONFIG_LOG_PRINTK=y
    CONFIG_LOG_IMMEDIATE=y
    # CONFIG_LOG_IMMEDIATE_CLEAN_OUTPUT is not set
    CONFIG_LOG_DOMAIN_ID=0
    # CONFIG_LOG_FRONTEND is not set
    CONFIG_LOG_BACKEND_UART=y
    CONFIG_LOG_BACKEND_RTT=y
    # CONFIG_LOG_BACKEND_RTT_MODE_DROP is not set
    CONFIG_LOG_BACKEND_RTT_MODE_BLOCK=y
    CONFIG_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE=16
    CONFIG_LOG_BACKEND_RTT_RETRY_CNT=4
    CONFIG_LOG_BACKEND_RTT_RETRY_DELAY_MS=5
    CONFIG_LOG_BACKEND_RTT_BUFFER=0
    CONFIG_LOG_BACKEND_RTT_FORCE_PRINTK=y
    # CONFIG_LOG_BACKEND_NET is not set
    # CONFIG_LOG_BACKEND_RB is not set
    CONFIG_LOG_BACKEND_SHOW_COLOR=y
    CONFIG_LOG_BACKEND_FORMAT_TIMESTAMP=y
    
    #
    # Management
    #
    # CONFIG_MCUMGR_SMP_BT is not set
    # CONFIG_MCUMGR_SMP_SHELL is not set
    # CONFIG_MCUMGR_SMP_UART is not set
    # CONFIG_MCUMGR is not set
    # CONFIG_MCUMGR_SMP_UDP is not set
    # end of Management
    
    #
    # Networking
    #
    CONFIG_NET_BUF=y
    CONFIG_NET_BUF_USER_DATA_SIZE=1
    # CONFIG_NET_BUF_LOG is not set
    # CONFIG_NET_BUF_LOG_LEVEL_OFF is not set
    # CONFIG_NET_BUF_LOG_LEVEL_ERR is not set
    # CONFIG_NET_BUF_LOG_LEVEL_WRN is not set
    CONFIG_NET_BUF_LOG_LEVEL_INF=y
    # CONFIG_NET_BUF_LOG_LEVEL_DBG is not set
    CONFIG_NET_BUF_LOG_LEVEL=3
    # CONFIG_NET_BUF_POOL_USAGE is not set
    CONFIG_NETWORKING=y
    # CONFIG_NET_HOSTNAME_ENABLE is not set
    
    #
    # Link layer options
    #
    # CONFIG_NET_L2_DUMMY is not set
    # CONFIG_NET_L2_BT_SHELL is not set
    # CONFIG_NET_L2_PPP is not set
    # CONFIG_NET_L2_CANBUS_RAW is not set
    # CONFIG_NET_L2_WIFI_MGMT is not set
    # CONFIG_NET_L2_WIFI_SHELL is not set
    # end of Link layer options
    
    #
    # IP stack
    #
    CONFIG_NET_NATIVE=y
    # CONFIG_NET_OFFLOAD is not set
    CONFIG_NET_INIT_PRIO=90
    # CONFIG_NET_IPV4 is not set
    # CONFIG_NET_SHELL is not set
    CONFIG_NET_TC_TX_COUNT=1
    CONFIG_NET_TC_RX_COUNT=1
    CONFIG_NET_TC_MAPPING_STRICT=y
    CONFIG_NET_TX_DEFAULT_PRIORITY=1
    CONFIG_NET_RX_DEFAULT_PRIORITY=0
    CONFIG_NET_IP_ADDR_CHECK=y
    CONFIG_NET_MAX_ROUTERS=1
    # CONFIG_NET_TCP is not set
    # CONFIG_NET_TEST_PROTOCOL is not set
    # CONFIG_NET_UDP is not set
    CONFIG_NET_MAX_CONTEXTS=6
    # CONFIG_NET_CONTEXT_NET_PKT_POOL is not set
    CONFIG_NET_CONTEXT_SYNC_RECV=y
    CONFIG_NET_CONTEXT_CHECK=y
    # CONFIG_NET_CONTEXT_PRIORITY is not set
    # CONFIG_NET_CONTEXT_TIMESTAMP is not set
    # CONFIG_NET_CONTEXT_TXTIME is not set
    # CONFIG_NET_TEST is not set
    # CONFIG_NET_TRICKLE is not set
    CONFIG_NET_PKT_RX_COUNT=4
    CONFIG_NET_PKT_TX_COUNT=4
    CONFIG_NET_BUF_RX_COUNT=16
    CONFIG_NET_BUF_TX_COUNT=16
    CONFIG_NET_BUF_FIXED_DATA_SIZE=y
    # CONFIG_NET_BUF_VARIABLE_DATA_SIZE is not set
    CONFIG_NET_BUF_DATA_SIZE=128
    CONFIG_NET_DEFAULT_IF_FIRST=y
    # CONFIG_NET_PKT_TIMESTAMP is not set
    # CONFIG_NET_PKT_TXTIME is not set
    # CONFIG_NET_PROMISCUOUS_MODE is not set
    
    #
    # Stack usage
    #
    CONFIG_NET_TX_STACK_SIZE=1200
    CONFIG_NET_RX_STACK_SIZE=1500
    # end of Stack usage
    
    # CONFIG_NET_MGMT is not set
    # CONFIG_NET_STATISTICS is not set
    # CONFIG_NET_LOG is not set
    CONFIG_NET_PKT_LOG_LEVEL=0
    # CONFIG_NET_DEBUG_NET_PKT_ALLOC is not set
    CONFIG_NET_DEBUG_NET_PKT_EXTERNALS=0
    # CONFIG_NET_DEBUG_NET_PKT_NON_FRAGILE_ACCESS is not set
    CONFIG_NET_CORE_LOG_LEVEL=0
    CONFIG_NET_IF_LOG_LEVEL=0
    CONFIG_NET_TC_LOG_LEVEL=0
    CONFIG_NET_UTILS_LOG_LEVEL=0
    CONFIG_NET_CONTEXT_LOG_LEVEL=0
    CONFIG_NET_CONN_LOG_LEVEL=0
    CONFIG_NET_ROUTE_LOG_LEVEL=0
    # end of IP stack
    
    #
    # Network Protocols
    #
    # CONFIG_COAP is not set
    # CONFIG_DNS_RESOLVER is not set
    # CONFIG_MQTT_LIB is not set
    # CONFIG_TFTP_LIB is not set
    # CONFIG_HTTP_PARSER is not set
    # CONFIG_HTTP_PARSER_URL is not set
    # CONFIG_HTTP_CLIENT is not set
    CONFIG_NET_HTTP_LOG_LEVEL=0
    # CONFIG_WEBSOCKET_CLIENT is not set
    # CONFIG_LWM2M is not set
    # CONFIG_SOCKS is not set
    # CONFIG_SNTP is not set
    # end of Network Protocols
    
    #
    # Network Libraries
    #
    CONFIG_NET_CONFIG_AUTO_INIT=y
    CONFIG_NET_CONFIG_INIT_PRIO=95
    CONFIG_NET_CONFIG_INIT_TIMEOUT=30
    # CONFIG_NET_CONFIG_NEED_IPV4 is not set
    CONFIG_NET_CONFIG_LOG_LEVEL=0
    # CONFIG_NET_CONFIG_SETTINGS is not set
    CONFIG_NET_SOCKETS=y
    CONFIG_NET_SOCKETS_POSIX_NAMES=y
    CONFIG_NET_SOCKETS_POLL_MAX=3
    CONFIG_NET_SOCKETS_CONNECT_TIMEOUT=3000
    # CONFIG_NET_SOCKETS_SOCKOPT_TLS is not set
    CONFIG_NET_SOCKETS_OFFLOAD=y
    # CONFIG_NET_SOCKETS_CAN is not set
    # CONFIG_NET_SOCKETPAIR is not set
    CONFIG_NET_SOCKETS_LOG_LEVEL=0
    # CONFIG_TLS_CREDENTIALS is not set
    # end of Network Libraries
    
    #
    # Network additional services
    #
    # end of Network additional services
    # end of Networking
    
    # CONFIG_SHELL is not set
    CONFIG_IMG_MANAGER=y
    CONFIG_MCUBOOT_IMG_MANAGER=y
    CONFIG_MCUBOOT_TRAILER_SWAP_TYPE=y
    CONFIG_IMG_BLOCK_BUF_SIZE=512
    CONFIG_IMG_ERASE_PROGRESSIVELY=y
    # CONFIG_IMG_MANAGER_LOG_LEVEL_OFF is not set
    # CONFIG_IMG_MANAGER_LOG_LEVEL_ERR is not set
    # CONFIG_IMG_MANAGER_LOG_LEVEL_WRN is not set
    CONFIG_IMG_MANAGER_LOG_LEVEL_INF=y
    # CONFIG_IMG_MANAGER_LOG_LEVEL_DBG is not set
    CONFIG_IMG_MANAGER_LOG_LEVEL=3
    
    #
    # Random subsystem
    #
    CONFIG_ENTROPY_DEVICE_RANDOM_GENERATOR=y
    # CONFIG_XOROSHIRO_RANDOM_GENERATOR is not set
    CONFIG_CSPRING_ENABLED=y
    CONFIG_HARDWARE_DEVICE_CS_GENERATOR=y
    # end of Random subsystem
    
    #
    # Storage
    #
    CONFIG_FLASH_MAP=y
    # CONFIG_FLASH_MAP_CUSTOM is not set
    CONFIG_STREAM_FLASH=y
    CONFIG_STREAM_FLASH_ERASE=y
    # CONFIG_STREAM_FLASH_LOG_LEVEL_OFF is not set
    # CONFIG_STREAM_FLASH_LOG_LEVEL_ERR is not set
    # CONFIG_STREAM_FLASH_LOG_LEVEL_WRN is not set
    CONFIG_STREAM_FLASH_LOG_LEVEL_INF=y
    # CONFIG_STREAM_FLASH_LOG_LEVEL_DBG is not set
    CONFIG_STREAM_FLASH_LOG_LEVEL=3
    # end of Storage
    
    # CONFIG_SETTINGS is not set
    
    #
    # Testing
    #
    # CONFIG_ZTEST is not set
    # CONFIG_ZTEST_MOCKING is not set
    # CONFIG_TEST is not set
    # CONFIG_TEST_SHELL is not set
    # CONFIG_TEST_USERSPACE is not set
    CONFIG_TEST_ARM_CORTEX_M=y
    # end of Testing
    
    # CONFIG_TRACING is not set
    # CONFIG_CHARACTER_FRAMEBUFFER is not set
    # CONFIG_JWT is not set
    
    #
    # Controller Area Network (CAN) bus subsystem
    #
    # CONFIG_ISOTP is not set
    # end of Controller Area Network (CAN) bus subsystem
    
    CONFIG_TOOLCHAIN_GNUARMEMB=y
    
    #
    # Build and Link Features
    #
    
    #
    # Linker Options
    #
    # CONFIG_LINKER_ORPHAN_SECTION_PLACE is not set
    CONFIG_LINKER_ORPHAN_SECTION_WARN=y
    # CONFIG_LINKER_ORPHAN_SECTION_ERROR is not set
    # CONFIG_CODE_DATA_RELOCATION is not set
    CONFIG_HAS_FLASH_LOAD_OFFSET=y
    CONFIG_USE_DT_CODE_PARTITION=y
    # CONFIG_HAVE_CUSTOM_LINKER_SCRIPT is not set
    # CONFIG_CUSTOM_RODATA_LD is not set
    # CONFIG_CUSTOM_RWDATA_LD is not set
    # CONFIG_CUSTOM_SECTIONS_LD is not set
    CONFIG_KERNEL_ENTRY="__start"
    CONFIG_LINKER_SORT_BY_ALIGNMENT=y
    # end of Linker Options
    
    #
    # Compiler Options
    #
    # CONFIG_NATIVE_APPLICATION is not set
    # CONFIG_SIZE_OPTIMIZATIONS is not set
    # CONFIG_SPEED_OPTIMIZATIONS is not set
    CONFIG_DEBUG_OPTIMIZATIONS=y
    # CONFIG_NO_OPTIMIZATIONS is not set
    CONFIG_COMPILER_OPT="-DNRFX_RTC_ENABLED=1 -DNRFX_RTC0_ENABLED=1"
    # end of Compiler Options
    
    # CONFIG_ASSERT_ON_ERRORS is not set
    # CONFIG_NO_RUNTIME_CHECKS is not set
    CONFIG_RUNTIME_ERROR_CHECKS=y
    
    #
    # Build Options
    #
    CONFIG_KERNEL_BIN_NAME="zephyr"
    CONFIG_OUTPUT_STAT=y
    CONFIG_OUTPUT_DISASSEMBLY=y
    # CONFIG_OUTPUT_DISASSEMBLE_ALL is not set
    CONFIG_OUTPUT_PRINT_MEMORY_USAGE=y
    CONFIG_BUILD_OUTPUT_BIN=y
    # CONFIG_BUILD_OUTPUT_EXE is not set
    # CONFIG_BUILD_OUTPUT_S19 is not set
    # CONFIG_BUILD_NO_GAP_FILL is not set
    # CONFIG_BUILD_OUTPUT_STRIPPED is not set
    # CONFIG_APPLICATION_DEFINED_SYSCALL is not set
    # CONFIG_MAKEFILE_EXPORTS is not set
    # CONFIG_LEGACY_DEVICETREE_MACROS is not set
    # end of Build Options
    # end of Build and Link Features
    
    #
    # Boot Options
    #
    # CONFIG_IS_BOOTLOADER is not set
    CONFIG_BOOTLOADER_MCUBOOT=y
    CONFIG_REBOOT=y
    # CONFIG_MISRA_SANE is not set
    # end of Boot Options
    
    #
    # Compatibility
    #
    CONFIG_COMPAT_INCLUDES=y
    # end of Compatibility
    

  • Hello,

    The PM hooks will also introduce additional latency. I don't see why that latency should be any less than when using the idle hooks.

    Ohad Gal said:
    when I disable UART0 I measure 4.5uA on SDK2.5

    Are you measuring the idle or average current?

Related