Build fail - Python version

We are currently using NCS V2.0.0 to compile a project for an nRF9160. I need to create a build script for compiling the code. When I compile from VSCode everything works. Next I use nRF Connect for Desktop, Toolchain Manager and the down arrow next to nRF Connect SDK v2.1.0, I select Open command prompt to make sure all my environment variables are set correctly. Then I go to our code directory. In VSCode I copy the build command and run it in command prompt. The build always fails with this message:

[61/428] Generating ../../tfm/CMakeCache.txt
FAILED: tfm/CMakeCache.txt
.....
-- Found assembler: C:/ncs/toolchains/v2.1.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
-- Found Python3: C:/Python310/python.exe (found version "3.10.5") found components: Interpreter
.....
ImportError: Module use of python38.dll conflicts with this version of Python.
CMake Error at tools/CMakeLists.txt:161 (message):
File generation failed

It is pointing to an incorrect version of Python. Next I used VSCode to compile to a different directory so I can compare a working and not working build. The difference between the two that really stood out is:

build directory\tfm\CMakeCache.txt

Can you please give me advice why the Python executable is not set correctly when compiling TFM?

Parents
  • Hello

    Is it correct that you are using 2.0.0 in VS Code and 2.1.0 in the command prompt?

    If this is correct, have you tried using 2.0.0 in the command prompt also?

    Best regards,

    Einar

  • Hi Einar
    Thank you for helping me with this. Currently we are using V2.1.0 for everything. I did the following experiment:

    Created 2 folders:

    C:\Test\v20
    C:\Test\v21
    Into v20 I copied C:\ncs\v2.0.0\nrf\samples\nrf9160\at_client and into v21 I copied C:\ncs\v2.1.0\nrf\samples\nrf9160\at_client

    For v20, when I compile it in VSCode everthing works. Next I opened command prompt in Toolchain manager next to nRF Connect SDK v2.0.0. I copied the build command from VSCode and changed the build output folder:


    Microsoft Windows [Version 10.0.22000.1219]
    (c) Microsoft Corporation. All rights reserved.

    C:\ncs\v2.0.0>cd \test\v20

    C:\Test\V20>west build --build-dir c:\Test\V20\build_cmd c:\Test\V20 --pristine --board nrf9160dk_nrf9160_ns -- -DNCS_TOOLCHAIN_VERSION:STRING="NONE" -DCONF_FILE:STRING="c:/Test/V20/prj.conf"
    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/Test/V20
    -- Found Python3: C:/ncs/toolchains/v2.0.0/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.0.0/zephyr/.cache
    -- Zephyr version: 3.0.99 (C:/ncs/v2.0.0/zephyr)
    -- Found west (found suitable version "0.13.1", minimum required is "0.7.1")
    -- Board: nrf9160dk_nrf9160_ns, Revision: 0.7.0
    -- Found host-tools: zephyr 0.14.1 (C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk)
    -- Found dtc: C:/ncs/toolchains/v2.0.0/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found toolchain: zephyr 0.14.1 (C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk)
    -- Found BOARD.dts: C:/ncs/v2.0.0/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160_ns.dts
    -- Generated zephyr.dts: C:/Test/V20/build_cmd/zephyr/zephyr.dts
    -- Generated devicetree_unfixed.h: C:/Test/V20/build_cmd/zephyr/include/generated/devicetree_unfixed.h
    -- Generated device_extern.h: C:/Test/V20/build_cmd/zephyr/include/generated/device_extern.h
    -- Including generated dts.cmake file: C:/Test/V20/build_cmd/zephyr/dts.cmake
    Parsing C:/ncs/v2.0.0/zephyr/Kconfig
    Loaded configuration 'C:/ncs/v2.0.0/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160_ns_defconfig'
    Merged configuration 'c:/Test/V20/prj.conf'
    Configuration saved to 'C:/Test/V20/build_cmd/zephyr/.config'
    Kconfig header saved to 'C:/Test/V20/build_cmd/zephyr/include/generated/autoconf.h'

    warning: Experimental symbol NET_SOCKETS_OFFLOAD is enabled.

    -- The C compiler identification is GNU 10.3.0
    -- The CXX compiler identification is GNU 10.3.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    CMake Warning at C:/ncs/v2.0.0/zephyr/CMakeLists.txt:1803 (message):
    __ASSERT() statements are globally ENABLED


    Dropping partition 'nrf_modem_lib_trace' since its size is 0.
    Dropping partition 'nonsecure_storage' since it is empty.
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/Test/V20/build_cmd
    -- west build: building application
    [5/246] Generating include/generated/version.h
    -- Zephyr version: 3.0.99 (C:/ncs/v2.0.0/zephyr), build: v3.0.99-ncs1
    [55/246] Generating ../../tfm/CMakeCache.txt
    FAILED: tfm/CMakeCache.txt
    cmd.exe /C "cd /D C:\Test\V20\build_cmd\tfm && C:\ncs\toolchains\v2.0.0\opt\bin\cmake.exe -GNinja -DTFM_TOOLCHAIN_FILE=C:/ncs/v2.0.0/modules/tee/tf-m/trusted-firmware-m/toolchain_GNUARM.cmake -DCROSS_COMPILE=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi -DCMAKE_BUILD_TYPE=MinSizeRel -DTFM_PLATFORM=C:/ncs/v2.0.0/nrf/modules/tfm/tfm/boards/nrf9160 -DTFM_LIB_MODEL=OFF -DBL2=FALSE -DMCUBOOT_IMAGE_NUMBER=1 -DTFM_EXCEPTION_INFO_DUMP=OFF -DTFM_PARTITION_LOG_LEVEL=TFM_PARTITION_LOG_LEVEL_SILENCE -DTFM_SPM_LOG_LEVEL=TFM_SPM_LOG_LEVEL_SILENCE -DTFM_PARTITION_PROTECTED_STORAGE=OFF -DTFM_PARTITION_INTERNAL_TRUSTED_STORAGE=OFF -DTFM_PARTITION_CRYPTO=ON -DTFM_PARTITION_INITIAL_ATTESTATION=OFF -DTFM_PARTITION_PLATFORM=ON -DTFM_PARTITION_AUDIT_LOG=OFF -DTFM_PARTITION_FIRMWARE_UPDATE=OFF -DCRYPTO_RNG_MODULE_DISABLED=FALSE -DCRYPTO_KEY_MODULE_DISABLED=TRUE -DCRYPTO_AEAD_MODULE_DISABLED=TRUE -DCRYPTO_MAC_MODULE_DISABLED=TRUE -DCRYPTO_HASH_MODULE_DISABLED=TRUE -DCRYPTO_CIPHER_MODULE_DISABLED=TRUE -DCRYPTO_ASYM_ENCRYPT_MODULE_DISABLED=TRUE -DCRYPTO_ASYM_SIGN_MODULE_DISABLED=TRUE -DCRYPTO_KEY_DERIVATION_MODULE_DISABLED=TRUE -DHAL_NORDIC_PATH=C:/ncs/v2.0.0/modules/hal/nordic -DNRF_ALLOW_NON_SECURE_RESET=ON -DCONFIG_TFM_HALT_ON_CORE_PANIC= -DSECURE_UART1=OFF -DNRF_DIR=C:/ncs/v2.0.0/nrf -DZEPHYR_BASE=C:/ncs/v2.0.0/zephyr -DCRYPTO_HW_ACCELERATOR=True -DPLATFORM_DEFAULT_UART_STDOUT=OFF -DPLATFORM_DEFAULT_ATTEST_HAL=OFF -DPLATFORM_DEFAULT_CRYPTO_KEYS=OFF -DPLATFORM_DEFAULT_ROTPK=OFF -DPLATFORM_DEFAULT_IAK=OFF -DPLATFORM_DEFAULT_NV_SEED=OFF -DPLATFORM_DEFAULT_OTP=OFF -DPLATFORM_DEFAULT_OTP_WRITEABLE=OFF -DPLATFORM_DEFAULT_PROVISIONING=OFF -DTFM_DUMMY_PROVISIONING=OFF -DCRYPTO_NV_SEED=OFF -DPLATFORM_NV_COUNTER_MODULE_DISABLED=TRUE -DPLATFORM_DEFAULT_NV_COUNTERS=OFF -DCRYPTO_STORAGE_DISABLED=TRUE -DCRYPTO_ENGINE_BUF_SIZE=1 -DNRF_SECURITY_SETTINGS="ZEPHYR_DOTCONFIG=C:/Test/V20/build_cmd/zephyr/.config GCC_M_CPU=cortex-m33 ARM_MBEDTLS_PATH=C:/ncs/v2.0.0/mbedtls ZEPHYR_AUTOCONF=C:/Test/V20/build_cmd/zephyr/include/generated/autoconf.h" -DTFM_MBEDCRYPTO_CONFIG_PATH:STRING=nrf-config.h -DTFM_MBEDCRYPTO_PLATFORM_EXTRA_CONFIG_PATH:STRING=nrf-config-user.h -DTFM_TEST_REPO_PATH=C:/ncs/v2.0.0/modules/tee/tf-m/tf-m-tests -DMBEDCRYPTO_PATH=C:/ncs/v2.0.0/nrfxlib/nrf_security/tfm -DPSA_ARCH_TESTS_PATH=C:/ncs/v2.0.0/modules/tee/tf-m/psa-arch-tests C:/ncs/v2.0.0/modules/tee/tf-m/trusted-firmware-m"
    -- The C compiler identification is GNU 10.3.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    -- Found Python3: C:/Python310/python.exe (found version "3.10.5") found components: Interpreter
    Traceback (most recent call last):
    File "C:\ncs\v2.0.0\modules\tee\tf-m\trusted-firmware-m\tools\tfm_parse_manifest_list.py", line 12, in <module>
    from jinja2 import Environment, BaseLoader, select_autoescape, TemplateNotFound
    File "C:\ncs\toolchains\v2.0.0\opt\bin\Lib\site-packages\jinja2\__init__.py", line 12, in <module>
    from .environment import Environment
    File "C:\ncs\toolchains\v2.0.0\opt\bin\Lib\site-packages\jinja2\environment.py", line 46, in <module>
    from .lexer import get_lexer
    File "C:\ncs\toolchains\v2.0.0\opt\bin\Lib\site-packages\jinja2\lexer.py", line 46, in <module>
    compile("f├╖├╖", "<unknown>", "eval")
    ImportError: Module use of python38.dll conflicts with this version of Python.
    CMake Error at tools/CMakeLists.txt:132 (message):
    File generation failed


    -- Configuring incomplete, errors occurred!
    See also "C:/Test/V20/build_cmd/tfm/CMakeFiles/CMakeOutput.log".
    See also "C:/Test/V20/build_cmd/tfm/CMakeFiles/CMakeError.log".
    ninja: build stopped: subcommand failed.
    FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\v2.0.0\opt\bin\cmake.EXE' --build 'c:\Test\V20\build_cmd'

    C:\Test\V20>


    It looks like it always fail while compiling TFM as part of the project. When I compare the build_vs\tfm\CMakeCache.txt and build_cmd\tfm\CMakeCache.txt there are a couple of differences but the one that I think gives the biggest clue is in the VSCode one there is this line:

    //Path to a program.
    PYTHON_PREFER_EXECUTABLE:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/bin/python.exe

    This line is missing in in the build_cmd folder. I have attached both files.

    I tried the same with V2.1.0 and I get the same results.

    Thanks again for looking into this.

    Hubert

    # This is the CMakeCache file.
    # For build in directory: c:/Test/V20/build_vs/tfm
    # It was generated by CMake: C:/ncs/toolchains/v2.0.0/opt/bin/cmake.exe
    # You can edit this file to change values found and used by cmake.
    # If you do not want to change any of the values, simply exit the editor.
    # If you do want to change a value, simply edit, save, and exit the editor.
    # The syntax for the file is as follows:
    # KEY:TYPE=VALUE
    # KEY is the name of a variable in the cache.
    # TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
    # VALUE is the current value for the KEY.
    
    ########################
    # EXTERNAL cache entries
    ########################
    
    //Include COSE key-id in initial attestation token
    ATTEST_INCLUDE_COSE_KEY_ID:BOOL=OFF
    
    //Include optional claims in initial attestation token
    ATTEST_INCLUDE_OPTIONAL_CLAIMS:BOOL=ON
    
    //Whether to build BL2
    BL2:BOOL=FALSE
    
    //Header size
    BL2_HEADER_SIZE:STRING=0x000
    
    //Trailer size
    BL2_TRAILER_SIZE:STRING=0x000
    
    //Path to a program.
    CMAKE_ADDR2LINE:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-addr2line.exe
    
    //Path to a program.
    CMAKE_AR:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-ar.exe
    
    //A wrapper around 'ar' adding the appropriate '--plugin' option
    // for the GCC compiler
    CMAKE_ASM_COMPILER_AR:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc-ar.exe
    
    //A wrapper around 'ranlib' adding the appropriate '--plugin' option
    // for the GCC compiler
    CMAKE_ASM_COMPILER_RANLIB:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc-ranlib.exe
    
    //Flags used by the ASM compiler during all build types.
    CMAKE_ASM_FLAGS:STRING=-mcpu=cortex-m33+nodsp
    
    //Flags used by the ASM compiler during DEBUG builds.
    CMAKE_ASM_FLAGS_DEBUG:STRING=-g
    
    //Flags used by the ASM compiler during MINSIZEREL builds.
    CMAKE_ASM_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
    
    //Flags used by the ASM compiler during RELEASE builds.
    CMAKE_ASM_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
    
    //Flags used by the ASM compiler during RELWITHDEBINFO builds.
    CMAKE_ASM_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
    
    //Build type: [Debug, Release, RelWithDebInfo, MinSizeRel]
    CMAKE_BUILD_TYPE:STRING=MinSizeRel
    
    //C compiler
    CMAKE_C_COMPILER:STRING=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    
    //A wrapper around 'ar' adding the appropriate '--plugin' option
    // for the GCC compiler
    CMAKE_C_COMPILER_AR:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc-ar.exe
    
    //A wrapper around 'ranlib' adding the appropriate '--plugin' option
    // for the GCC compiler
    CMAKE_C_COMPILER_RANLIB:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc-ranlib.exe
    
    //Flags used by the C compiler during all build types.
    CMAKE_C_FLAGS:STRING=-mcpu=cortex-m33+nodsp
    
    //Flags used by the C compiler during DEBUG builds.
    CMAKE_C_FLAGS_DEBUG:STRING=-g
    
    //Flags used by the C compiler during MINSIZEREL builds.
    CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
    
    //Flags used by the C compiler during RELEASE builds.
    CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
    
    //Flags used by the C compiler during RELWITHDEBINFO builds.
    CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
    
    //Path to a program.
    CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
    
    //Flags used by the linker during all build types.
    CMAKE_EXE_LINKER_FLAGS:STRING=
    
    //Flags used by the linker during DEBUG builds.
    CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
    
    //Flags used by the linker during MINSIZEREL builds.
    CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
    
    //Flags used by the linker during RELEASE builds.
    CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
    
    //Flags used by the linker during RELWITHDEBINFO builds.
    CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
    
    //Enable/Disable output of compile commands during generation.
    CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON
    
    CMAKE_INSTALL_PREFIX:PATH=C:/Test/V20/build_vs/tfm/install
    
    //Path to a program.
    CMAKE_LINKER:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-ld.exe
    
    //Program used to build from build.ninja files.
    CMAKE_MAKE_PROGRAM:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/bin/ninja.exe
    
    //Flags used by the linker during the creation of modules during
    // all build types.
    CMAKE_MODULE_LINKER_FLAGS:STRING=
    
    //Flags used by the linker during the creation of modules during
    // DEBUG builds.
    CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
    
    //Flags used by the linker during the creation of modules during
    // MINSIZEREL builds.
    CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
    
    //Flags used by the linker during the creation of modules during
    // RELEASE builds.
    CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
    
    //Flags used by the linker during the creation of modules during
    // RELWITHDEBINFO builds.
    CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
    
    //Path to a program.
    CMAKE_NM:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-nm.exe
    
    //Path to a program.
    CMAKE_OBJCOPY:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-objcopy.exe
    
    //Path to a program.
    CMAKE_OBJDUMP:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-objdump.exe
    
    //Value Computed by CMake
    CMAKE_PROJECT_DESCRIPTION:STATIC=
    
    //Value Computed by CMake
    CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
    
    //Value Computed by CMake
    CMAKE_PROJECT_NAME:STATIC=Trusted Firmware M
    
    //Value Computed by CMake
    CMAKE_PROJECT_VERSION:STATIC=1.5.0
    
    //Value Computed by CMake
    CMAKE_PROJECT_VERSION_MAJOR:STATIC=1
    
    //Value Computed by CMake
    CMAKE_PROJECT_VERSION_MINOR:STATIC=5
    
    //Value Computed by CMake
    CMAKE_PROJECT_VERSION_PATCH:STATIC=0
    
    //Value Computed by CMake
    CMAKE_PROJECT_VERSION_TWEAK:STATIC=
    
    //Path to a program.
    CMAKE_RANLIB:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-ranlib.exe
    
    //Path to a program.
    CMAKE_READELF:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-readelf.exe
    
    //Flags used by the linker during the creation of shared libraries
    // during all build types.
    CMAKE_SHARED_LINKER_FLAGS:STRING=
    
    //Flags used by the linker during the creation of shared libraries
    // during DEBUG builds.
    CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
    
    //Flags used by the linker during the creation of shared libraries
    // during MINSIZEREL builds.
    CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
    
    //Flags used by the linker during the creation of shared libraries
    // during RELEASE builds.
    CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
    
    //Flags used by the linker during the creation of shared libraries
    // during RELWITHDEBINFO builds.
    CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
    
    //If set, runtime paths are not added when installing shared libraries,
    // but are added when building.
    CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
    
    //If set, runtime paths are not added when using shared libraries.
    CMAKE_SKIP_RPATH:BOOL=NO
    
    //Flags used by the linker during the creation of static libraries
    // during all build types.
    CMAKE_STATIC_LINKER_FLAGS:STRING=
    
    //Flags used by the linker during the creation of static libraries
    // during DEBUG builds.
    CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
    
    //Flags used by the linker during the creation of static libraries
    // during MINSIZEREL builds.
    CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
    
    //Flags used by the linker during the creation of static libraries
    // during RELEASE builds.
    CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
    
    //Flags used by the linker during the creation of static libraries
    // during RELWITHDEBINFO builds.
    CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
    
    //Path to a program.
    CMAKE_STRIP:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-strip.exe
    
    //If this value is on, makefiles will be generated without the
    // .SILENT directive, and all commands will be echoed to the console
    // during the make.  This is useful for debugging only. With Visual
    // Studio IDE projects all commands are done without /nologo.
    CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
    
    //Path to CMSIS_5 (or DOWNLOAD to fetch automatically
    CMSIS_5_PATH:PATH=C:/ncs/v2.0.0/modules/tee/tf-m/tf-m-tests/CMSIS
    
    //On fatal errors in the secure firmware, halt instead of rebooting.
    CONFIG_TFM_HALT_ON_CORE_PANIC:BOOL=
    
    //Disable lazy stacking from SPE
    CONFIG_TFM_LAZY_STACKING_SPE:BOOL=OFF
    
    //FP ABI type in SPE: 0-software, 1-hybird, 2-hardware
    CONFIG_TFM_SPE_FP:STRING=0
    
    //Cross-compilation triplet
    CROSS_COMPILE:STRING=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi
    
    //Disable PSA Crypto AEAD module
    CRYPTO_AEAD_MODULE_DISABLED:BOOL=TRUE
    
    //Disable PSA Crypto asymmetric key encryption module
    CRYPTO_ASYM_ENCRYPT_MODULE_DISABLED:BOOL=TRUE
    
    //Disable PSA Crypto asymmetric key signature module
    CRYPTO_ASYM_SIGN_MODULE_DISABLED:BOOL=TRUE
    
    //Disable PSA Crypto Cipher module
    CRYPTO_CIPHER_MODULE_DISABLED:BOOL=TRUE
    
    //The max number of concurrent operations that can be active (allocated)
    // at any time in Crypto
    CRYPTO_CONC_OPER_NUM:STRING=8
    
    //Heap size for the crypto backend
    CRYPTO_ENGINE_BUF_SIZE:STRING=1
    
    //Disable PSA Crypto Hash module
    CRYPTO_HASH_MODULE_DISABLED:BOOL=TRUE
    
    //Whether to enable the crypto hardware accelerator on supported
    // platforms
    CRYPTO_HW_ACCELERATOR:BOOL=True
    
    //Default size of the internal scratch buffer used for PSA FF IOVec
    // allocations
    CRYPTO_IOVEC_BUFFER_SIZE:STRING=5120
    
    //Disable PSA Crypto key derivation module
    CRYPTO_KEY_DERIVATION_MODULE_DISABLED:BOOL=TRUE
    
    //Disable PSA Crypto Key module
    CRYPTO_KEY_MODULE_DISABLED:BOOL=TRUE
    
    //Disable PSA Crypto MAC module
    CRYPTO_MAC_MODULE_DISABLED:BOOL=TRUE
    
    //Use stored NV seed to provide entropy
    CRYPTO_NV_SEED:BOOL=OFF
    
    //Disable PSA Crypto random number generator module
    CRYPTO_RNG_MODULE_DISABLED:BOOL=FALSE
    
    //No help, variable specified on the command line.
    CRYPTO_STORAGE_DISABLED:UNINITIALIZED=TRUE
    
    //Debug authentication setting. [CHIP_DEFAULT, NONE, NS_ONLY, FULL
    DEBUG_AUTHENTICATION:STRING=CHIP_DEFAULT
    
    FETCHCONTENT_BASE_DIR:STRING=C:/Test/V20/build_vs/tfm/lib/ext
    
    //Disables all attempts to download or update content and assumes
    // source dirs already exist
    FETCHCONTENT_FULLY_DISCONNECTED:BOOL=OFF
    
    //Enables QUIET option for all content population
    FETCHCONTENT_QUIET:BOOL=ON
    
    //Enables UPDATE_DISCONNECTED behavior for all content population
    FETCHCONTENT_UPDATES_DISCONNECTED:BOOL=OFF
    
    //Whether to forward all PSA RoT messages to a Secure Enclave
    FORWARD_PROT_MSG:BOOL=OFF
    
    //Path to the Nordic HAL (or DOWNLOAD to fetch automatically)
    HAL_NORDIC_PATH:PATH=C:/ncs/v2.0.0/modules/hal/nordic
    
    //Remote of the Nordic HAL to download
    HAL_NORDIC_REMOTE:STRING=https://github.com/zephyrproject-rtos/hal_nordic
    
    //Version of the Nordic HAL to download
    HAL_NORDIC_VERSION:STRING=004b62c0b74c62bd8489e0a702a498899e0463d1
    
    //Size of the ITS internal data transfer buffer (defaults to ITS_MAX_ASSET_SIZE
    // if not set)
    ITS_BUF_SIZE:STRING=
    
    //Create flash FS if it doesn't exist for Internal Trusted Storage
    // partition
    ITS_CREATE_FLASH_LAYOUT:BOOL=ON
    
    //The maximum asset size to be stored in the Internal Trusted Storage
    // area
    ITS_MAX_ASSET_SIZE:STRING=512
    
    //The maximum number of assets to be stored in the Internal Trusted
    // Storage area
    ITS_NUM_ASSETS:STRING=5
    
    //Enable emulated RAM FS for platforms that don't have flash for
    // Internal Trusted Storage partition
    ITS_RAM_FS:BOOL=OFF
    
    //Validate filesystem metadata every time it is read from flash
    ITS_VALIDATE_METADATA_FROM_FLASH:BOOL=ON
    
    //Build type of Mbed Crypto library
    MBEDCRYPTO_BUILD_TYPE:STRING=MinSizeRel
    
    //The URL (or path) to retrieve MbedTLS from.
    MBEDCRYPTO_GIT_REMOTE:STRING=https://github.com/ARMmbed/mbedtls.git
    
    //Path to Mbed Crypto (or DOWNLOAD to fetch automatically
    MBEDCRYPTO_PATH:PATH=C:/ncs/v2.0.0/nrfxlib/nrf_security/tfm
    
    //The version of Mbed Crypto to use
    MBEDCRYPTO_VERSION:STRING=mbedtls-3.0.0
    
    //No help, variable specified on the command line.
    MCUBOOT_IMAGE_NUMBER:UNINITIALIZED=1
    
    //Level of logging to use for MCUboot [OFF, ERROR, WARNING, INFO,
    // DEBUG]
    MCUBOOT_LOG_LEVEL:STRING=OFF
    
    //Path to MCUboot (or DOWNLOAD to fetch automatically
    MCUBOOT_PATH:PATH=DOWNLOAD
    
    //The version of MCUboot to use
    MCUBOOT_VERSION:STRING=v1.9.0
    
    //No help, variable specified on the command line.
    NRF_ALLOW_NON_SECURE_RESET:UNINITIALIZED=ON
    
    //No help, variable specified on the command line.
    NRF_DIR:UNINITIALIZED=C:/ncs/v2.0.0/nrf
    
    //Enable non-secure storage partition
    NRF_NS_STORAGE:BOOL=OFF
    
    //No help, variable specified on the command line.
    NRF_SECURITY_SETTINGS:UNINITIALIZED=ZEPHYR_DOTCONFIG=C:/Test/V20/build_vs/zephyr/.config GCC_M_CPU=cortex-m33 ARM_MBEDTLS_PATH=C:/ncs/v2.0.0/mbedtls ZEPHYR_AUTOCONF=C:/Test/V20/build_vs/zephyr/include/generated/autoconf.h
    
    //Whether to build NS app
    NS:BOOL=ON
    
    //Number of mailbox queue slots
    NUM_MAILBOX_QUEUE_SLOT:BOOL=1
    
    //Enable OTP/NV_COUNTERS emulation in RAM. Has no effect on non-default
    // implementations of the OTP and NV_COUNTERS
    OTP_NV_COUNTERS_RAM_EMULATION:BOOL=OFF
    
    //Use default attest hal implementation.
    PLATFORM_DEFAULT_ATTEST_HAL:BOOL=OFF
    
    //Use default crypto keys implementation.
    PLATFORM_DEFAULT_CRYPTO_KEYS:BOOL=OFF
    
    //Use default initial attestation_key.
    PLATFORM_DEFAULT_IAK:BOOL=OFF
    
    //Use default nv counter implementation.
    PLATFORM_DEFAULT_NV_COUNTERS:BOOL=OFF
    
    //Use default NV seed implementation.
    PLATFORM_DEFAULT_NV_SEED:BOOL=OFF
    
    //Use trusted on-chip flash to implement OTP memory
    PLATFORM_DEFAULT_OTP:BOOL=OFF
    
    //Use OTP memory with write support
    PLATFORM_DEFAULT_OTP_WRITEABLE:BOOL=OFF
    
    //Use default provisioning implementation
    PLATFORM_DEFAULT_PROVISIONING:BOOL=OFF
    
    //Use default root of trust public key.
    PLATFORM_DEFAULT_ROTPK:BOOL=OFF
    
    //Use default uart stdout implementation.
    PLATFORM_DEFAULT_UART_STDOUT:BOOL=OFF
    
    //Whether to enable FVP or FPGA build of the platform.
    PLATFORM_IS_FVP:BOOL=FALSE
    
    //Disable Non-volatile counter module
    PLATFORM_NV_COUNTER_MODULE_DISABLED:BOOL=TRUE
    
    //PSA API test target
    PSA_API_TEST_TARGET:STRING=nrf9160
    
    //Path to PSA arch tests (or DOWNLOAD to fetch automatically
    PSA_ARCH_TESTS_PATH:PATH=C:/ncs/v2.0.0/modules/tee/tf-m/psa-arch-tests
    
    //The version of PSA arch tests to use
    PSA_ARCH_TESTS_VERSION:STRING=v21.10_API1.3_ADAC_ALPHA-1
    
    //Enable MM-IOVEC
    PSA_FRAMEWORK_HAS_MM_IOVEC:BOOL=OFF
    
    //Create flash FS if it doesn't exist for Protected Storage partition
    PS_CREATE_FLASH_LAYOUT:BOOL=ON
    
    //The AEAD algorithm to use for authenticated encryption in Protected
    // Storage
    PS_CRYPTO_AEAD_ALG:STRING=PSA_ALG_CCM
    
    //Enable encryption for Protected Storage partition
    PS_ENCRYPTION:BOOL=ON
    
    //The maximum asset size to be stored in the Protected Storage
    // area
    PS_MAX_ASSET_SIZE:STRING=2048
    
    //The maximum number of assets to be stored in the Protected Storage
    // area
    PS_NUM_ASSETS:STRING=10
    
    //Enable emulated RAM FS for platforms that don't have flash for
    // Protected Storage partition
    PS_RAM_FS:BOOL=OFF
    
    //Enable rollback protection for Protected Storage partition
    PS_ROLLBACK_PROTECTION:BOOL=ON
    
    //Validate filesystem metadata every time it is read from flash
    PS_VALIDATE_METADATA_FROM_FLASH:BOOL=ON
    
    //Path to a program.
    PYTHON_PREFER_EXECUTABLE:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/bin/python.exe
    
    //Enable secure UART1
    SECURE_UART1:BOOL=OFF
    
    //Use symmetric crypto for inital attestation
    SYMMETRIC_INITIAL_ATTESTATION:BOOL=OFF
    
    //Whether to build NS regression tests
    TEST_NS:BOOL=OFF
    
    //Which (if any) of the PSA API tests should be compiled
    TEST_PSA_API:STRING=
    
    //Whether to build S regression tests
    TEST_S:BOOL=OFF
    
    //Path to TFM NS app
    TFM_APP_PATH:PATH=C:/ncs/v2.0.0/modules/tee/tf-m/tf-m-tests/app
    
    //Whether to build the binary for lcov tools
    TFM_CODE_COVERAGE:BOOL=OFF
    
    //Enable code sharing between MCUboot and secure firmware
    TFM_CODE_SHARING:PATH=OFF
    
    //Path to repo which shares code with secure firmware
    TFM_CODE_SHARING_PATH:PATH=
    
    //Test CFB cryptography mode
    TFM_CRYPTO_TEST_ALG_CFB:BOOL=OFF
    
    //Test OFB cryptography mode
    TFM_CRYPTO_TEST_ALG_OFB:BOOL=OFF
    
    //Add debug symbols. Note that setting CMAKE_BUILD_TYPE to Debug
    // or RelWithDebInfo will also add debug symbols.
    TFM_DEBUG_SYMBOLS:BOOL=ON
    
    //Provision with dummy values. NOT to be used in production
    TFM_DUMMY_PROVISIONING:BOOL=OFF
    
    //On fatal errors in the secure firmware, capture info about the
    // exception. Print the info if the SPM log level is sufficient.
    TFM_EXCEPTION_INFO_DUMP:BOOL=OFF
    
    //Path to extra cmake config file
    TFM_EXTRA_CONFIG_PATH:PATH=
    
    //Path to extra generated file list. Appended to stardard TFM generated
    // file list.
    TFM_EXTRA_GENERATED_FILE_LIST_PATH:PATH=
    
    //Extra manifest list file(s), used to list extra Secure Partition
    // manifests.
    TFM_EXTRA_MANIFEST_LIST_FILES:FILEPATH=
    
    //List of extra Secure Partitions directories. An extra Secure
    // Parition folder contains source code, CMakeLists.txt and manifest
    // files
    TFM_EXTRA_PARTITION_PATHS:PATH=
    
    //Fault injection hardening profile [OFF, LOW, MEDIUM, HIGH]
    TFM_FIH_PROFILE:STRING=OFF
    
    //Bootloader configure file for Firmware Update partition
    TFM_FWU_BOOTLOADER_LIB:STRING=mcuboot
    
    //Path to which to install TF-M files
    TFM_INSTALL_PATH:PATH=C:/Test/V20/build_vs/tfm/install
    
    //Isolation level
    TFM_ISOLATION_LEVEL:STRING=1
    
    //The size of the tag used in ITS encryption in bytes
    TFM_ITS_AUTH_TAG_LENGTH:STRING=16
    
    //Enable authenticated encryption of ITS files using platform specific
    // APIs
    TFM_ITS_ENCRYPTED:BOOL=OFF
    
    //The size of the nonce used in ITS encryption in bytes
    TFM_ITS_ENC_NONCE_LENGTH:STRING=12
    
    //Use secure library model instead of PSA API (IPC model)
    TFM_LIB_MODEL:BOOL=OFF
    
    //TF-M native Secure Partition manifests list file
    TFM_MANIFEST_LIST:FILEPATH=C:/ncs/v2.0.0/modules/tee/tf-m/trusted-firmware-m/tools/tfm_manifest_list.yaml
    
    //No help, variable specified on the command line.
    TFM_MBEDCRYPTO_CONFIG_PATH:STRING=nrf-config.h
    
    //No help, variable specified on the command line.
    TFM_MBEDCRYPTO_PLATFORM_EXTRA_CONFIG_PATH:STRING=nrf-config-user.h
    
    //Whether to build for a dual-cpu architecture
    TFM_MULTI_CORE_TOPOLOGY:BOOL=OFF
    
    //Path to NS log
    TFM_NS_LOG_PATH:PATH=C:/ncs/v2.0.0/modules/tee/tf-m/tf-m-tests/log
    
    //Support NSPE OS providing NSPE client_id
    TFM_NS_MANAGE_NSID:BOOL=OFF
    
    //Enable Audit Log partition
    TFM_PARTITION_AUDIT_LOG:BOOL=OFF
    
    //Enable Crypto partition
    TFM_PARTITION_CRYPTO:BOOL=ON
    
    //Enable firmware update partition
    TFM_PARTITION_FIRMWARE_UPDATE:BOOL=OFF
    
    //Enable Initial Attestation partition
    TFM_PARTITION_INITIAL_ATTESTATION:BOOL=OFF
    
    //Enable Internal Trusted Storage partition
    TFM_PARTITION_INTERNAL_TRUSTED_STORAGE:BOOL=OFF
    
    //Set minsizerel SP log level as Silence level
    TFM_PARTITION_LOG_LEVEL:STRING=TFM_PARTITION_LOG_LEVEL_SILENCE
    
    //Enable Platform partition
    TFM_PARTITION_PLATFORM:BOOL=ON
    
    //Enable Protected Storage partition
    TFM_PARTITION_PROTECTED_STORAGE:BOOL=OFF
    
    //Enable PSA Proxy partition
    TFM_PARTITION_PSA_PROXY:BOOL=OFF
    
    //Target platform set as an absolute path.
    TFM_PLATFORM:STRING=../../../../../../../nrf/modules/tfm/tfm/boards/nrf9160
    
    //Whether to use a platform specific inter-core communication instead
    // of mailbox in dual-cpu topology
    TFM_PLAT_SPECIFIC_MULTI_CORE_COMM:BOOL=OFF
    
    //Profile to use
    TFM_PROFILE:STRING=
    
    //Use PSA API instead of secure library model
    TFM_PSA_API:BOOL=ON
    
    //Use Privileged execute never (PXN)
    TFM_PXN_ENABLE:BOOL=OFF
    
    //Set minsizerel SPM log level as Silence level
    TFM_SPM_LOG_LEVEL:STRING=TFM_SPM_LOG_LEVEL_SILENCE
    
    //Use Partition Metadata Pointer
    TFM_SP_META_PTR_ENABLE:BOOL=OFF
    
    //Path to TFM tests
    TFM_TEST_PATH:PATH=C:/ncs/v2.0.0/modules/tee/tf-m/tf-m-tests/test
    
    //Path to TFM-TEST repo (or DOWNLOAD to fetch automatically
    TFM_TEST_REPO_PATH:PATH=C:/ncs/v2.0.0/modules/tee/tf-m/tf-m-tests
    
    //The version of tf-m-tests to use
    TFM_TEST_REPO_VERSION:STRING=6131778
    
    //Path to TFM compiler toolchain file
    TFM_TOOLCHAIN_FILE:FILEPATH=C:/ncs/v2.0.0/modules/tee/tf-m/trusted-firmware-m/toolchain_GNUARM.cmake
    
    //Value Computed by CMake
    Trusted Firmware M_BINARY_DIR:STATIC=C:/Test/V20/build_vs/tfm
    
    //Value Computed by CMake
    Trusted Firmware M_SOURCE_DIR:STATIC=C:/ncs/v2.0.0/modules/tee/tf-m/trusted-firmware-m
    
    //No help, variable specified on the command line.
    ZEPHYR_BASE:UNINITIALIZED=C:/ncs/v2.0.0/zephyr
    
    //Value Computed by CMake
    tfm_ns_BINARY_DIR:STATIC=C:/Test/V20/build_vs/tfm/app
    
    //Value Computed by CMake
    tfm_ns_SOURCE_DIR:STATIC=C:/ncs/v2.0.0/modules/tee/tf-m/tf-m-tests/app
    
    
    ########################
    # INTERNAL cache entries
    ########################
    
    //ADVANCED property for variable: CMAKE_ADDR2LINE
    CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_AR
    CMAKE_AR-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_ASM_COMPILER_AR
    CMAKE_ASM_COMPILER_AR-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_ASM_COMPILER_RANLIB
    CMAKE_ASM_COMPILER_RANLIB-ADVANCED:INTERNAL=1
    CMAKE_ASM_COMPILER_WORKS:INTERNAL=1
    //ADVANCED property for variable: CMAKE_ASM_FLAGS
    CMAKE_ASM_FLAGS-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_ASM_FLAGS_DEBUG
    CMAKE_ASM_FLAGS_DEBUG-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_ASM_FLAGS_MINSIZEREL
    CMAKE_ASM_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_ASM_FLAGS_RELEASE
    CMAKE_ASM_FLAGS_RELEASE-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_ASM_FLAGS_RELWITHDEBINFO
    CMAKE_ASM_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
    //This is the directory where this CMakeCache.txt was created
    CMAKE_CACHEFILE_DIR:INTERNAL=c:/Test/V20/build_vs/tfm
    //Major version of cmake used to create the current loaded cache
    CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
    //Minor version of cmake used to create the current loaded cache
    CMAKE_CACHE_MINOR_VERSION:INTERNAL=20
    //Patch version of cmake used to create the current loaded cache
    CMAKE_CACHE_PATCH_VERSION:INTERNAL=5
    //Path to CMake executable.
    CMAKE_COMMAND:INTERNAL=C:/ncs/toolchains/v2.0.0/opt/bin/cmake.exe
    //Path to cpack program executable.
    CMAKE_CPACK_COMMAND:INTERNAL=C:/ncs/toolchains/v2.0.0/opt/bin/cpack.exe
    //Path to ctest program executable.
    CMAKE_CTEST_COMMAND:INTERNAL=C:/ncs/toolchains/v2.0.0/opt/bin/ctest.exe
    //ADVANCED property for variable: CMAKE_C_COMPILER
    CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_C_COMPILER_AR
    CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
    CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_C_FLAGS
    CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
    CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
    CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
    CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
    CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_DLLTOOL
    CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
    //Executable file format
    CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
    //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
    CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
    CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
    CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
    CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
    CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
    CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
    //Name of external makefile project generator.
    CMAKE_EXTRA_GENERATOR:INTERNAL=
    //Name of generator.
    CMAKE_GENERATOR:INTERNAL=Ninja
    //Generator instance identifier.
    CMAKE_GENERATOR_INSTANCE:INTERNAL=
    //Name of generator platform.
    CMAKE_GENERATOR_PLATFORM:INTERNAL=
    //Name of generator toolset.
    CMAKE_GENERATOR_TOOLSET:INTERNAL=
    //Source directory with the top level CMakeLists.txt file for this
    // project
    CMAKE_HOME_DIRECTORY:INTERNAL=C:/ncs/v2.0.0/modules/tee/tf-m/trusted-firmware-m
    //ADVANCED property for variable: CMAKE_LINKER
    CMAKE_LINKER-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_MAKE_PROGRAM
    CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
    CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
    CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
    CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
    CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
    CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_NM
    CMAKE_NM-ADVANCED:INTERNAL=1
    //number of local generators
    CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=38
    //ADVANCED property for variable: CMAKE_OBJCOPY
    CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_OBJDUMP
    CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
    //Platform information initialized
    CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_RANLIB
    CMAKE_RANLIB-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_READELF
    CMAKE_READELF-ADVANCED:INTERNAL=1
    //Path to CMake installation.
    CMAKE_ROOT:INTERNAL=C:/ncs/toolchains/v2.0.0/opt/share/cmake-3.20
    //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
    CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
    CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
    CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
    CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
    CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
    CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_SKIP_RPATH
    CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
    CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
    CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
    CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
    CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
    CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_STRIP
    CMAKE_STRIP-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
    CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
    //STRINGS property for variable: CONFIG_TFM_SPE_FP
    CONFIG_TFM_SPE_FP-STRINGS:INTERNAL=0;1;2
    //Details about finding Python3
    FIND_PACKAGE_MESSAGE_DETAILS_Python3:INTERNAL=[C:/ncs/toolchains/v2.0.0/opt/bin/python.exe][cfound components: Interpreter ][v3.8.2(3.8)]
    //STRINGS property for variable: TFM_FIH_PROFILE
    TFM_FIH_PROFILE-STRINGS:INTERNAL=OFF;LOW;MEDIUM;HIGH
    //Path to a program.
    _Python3_EXECUTABLE:INTERNAL=C:/ncs/toolchains/v2.0.0/opt/bin/python.exe
    //Python3 Properties
    _Python3_INTERPRETER_PROPERTIES:INTERNAL=Python;3;8;2;64;;;C:\ncs\toolchains\v2.0.0\opt\bin\Lib;C:\ncs\toolchains\v2.0.0\opt\bin\Lib;C:\ncs\toolchains\v2.0.0\opt\bin\Lib\site-packages;C:\ncs\toolchains\v2.0.0\opt\bin\Lib\site-packages
    _Python3_INTERPRETER_SIGNATURE:INTERNAL=d208ebb00486535cb7a24ea854202227
    
    
    # This is the CMakeCache file.
    # For build in directory: c:/Test/V20/build_cmd/tfm
    # It was generated by CMake: C:/ncs/toolchains/v2.0.0/opt/bin/cmake.exe
    # You can edit this file to change values found and used by cmake.
    # If you do not want to change any of the values, simply exit the editor.
    # If you do want to change a value, simply edit, save, and exit the editor.
    # The syntax for the file is as follows:
    # KEY:TYPE=VALUE
    # KEY is the name of a variable in the cache.
    # TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
    # VALUE is the current value for the KEY.
    
    ########################
    # EXTERNAL cache entries
    ########################
    
    //Include COSE key-id in initial attestation token
    ATTEST_INCLUDE_COSE_KEY_ID:BOOL=OFF
    
    //Include optional claims in initial attestation token
    ATTEST_INCLUDE_OPTIONAL_CLAIMS:BOOL=ON
    
    //Whether to build BL2
    BL2:BOOL=FALSE
    
    //Header size
    BL2_HEADER_SIZE:STRING=0x000
    
    //Trailer size
    BL2_TRAILER_SIZE:STRING=0x000
    
    //Path to a program.
    CMAKE_ADDR2LINE:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-addr2line.exe
    
    //Path to a program.
    CMAKE_AR:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-ar.exe
    
    //A wrapper around 'ar' adding the appropriate '--plugin' option
    // for the GCC compiler
    CMAKE_ASM_COMPILER_AR:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc-ar.exe
    
    //A wrapper around 'ranlib' adding the appropriate '--plugin' option
    // for the GCC compiler
    CMAKE_ASM_COMPILER_RANLIB:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc-ranlib.exe
    
    //Flags used by the ASM compiler during all build types.
    CMAKE_ASM_FLAGS:STRING=-mcpu=cortex-m33+nodsp
    
    //Flags used by the ASM compiler during DEBUG builds.
    CMAKE_ASM_FLAGS_DEBUG:STRING=-g
    
    //Flags used by the ASM compiler during MINSIZEREL builds.
    CMAKE_ASM_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
    
    //Flags used by the ASM compiler during RELEASE builds.
    CMAKE_ASM_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
    
    //Flags used by the ASM compiler during RELWITHDEBINFO builds.
    CMAKE_ASM_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
    
    //Choose the type of build, options are: None Debug Release RelWithDebInfo
    // MinSizeRel ...
    CMAKE_BUILD_TYPE:STRING=MinSizeRel
    
    //C compiler
    CMAKE_C_COMPILER:STRING=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    
    //A wrapper around 'ar' adding the appropriate '--plugin' option
    // for the GCC compiler
    CMAKE_C_COMPILER_AR:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc-ar.exe
    
    //A wrapper around 'ranlib' adding the appropriate '--plugin' option
    // for the GCC compiler
    CMAKE_C_COMPILER_RANLIB:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc-ranlib.exe
    
    //Flags used by the C compiler during all build types.
    CMAKE_C_FLAGS:STRING=-mcpu=cortex-m33+nodsp
    
    //Flags used by the C compiler during DEBUG builds.
    CMAKE_C_FLAGS_DEBUG:STRING=-g
    
    //Flags used by the C compiler during MINSIZEREL builds.
    CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
    
    //Flags used by the C compiler during RELEASE builds.
    CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
    
    //Flags used by the C compiler during RELWITHDEBINFO builds.
    CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
    
    //Path to a program.
    CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
    
    //Flags used by the linker during all build types.
    CMAKE_EXE_LINKER_FLAGS:STRING=
    
    //Flags used by the linker during DEBUG builds.
    CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
    
    //Flags used by the linker during MINSIZEREL builds.
    CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
    
    //Flags used by the linker during RELEASE builds.
    CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
    
    //Flags used by the linker during RELWITHDEBINFO builds.
    CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
    
    //Enable/Disable output of compile commands during generation.
    CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
    
    CMAKE_INSTALL_PREFIX:PATH=C:/Test/V20/build_cmd/tfm/install
    
    //Path to a program.
    CMAKE_LINKER:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-ld.exe
    
    //Program used to build from build.ninja files.
    CMAKE_MAKE_PROGRAM:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/bin/ninja.exe
    
    //Flags used by the linker during the creation of modules during
    // all build types.
    CMAKE_MODULE_LINKER_FLAGS:STRING=
    
    //Flags used by the linker during the creation of modules during
    // DEBUG builds.
    CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
    
    //Flags used by the linker during the creation of modules during
    // MINSIZEREL builds.
    CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
    
    //Flags used by the linker during the creation of modules during
    // RELEASE builds.
    CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
    
    //Flags used by the linker during the creation of modules during
    // RELWITHDEBINFO builds.
    CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
    
    //Path to a program.
    CMAKE_NM:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-nm.exe
    
    //Path to a program.
    CMAKE_OBJCOPY:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-objcopy.exe
    
    //Path to a program.
    CMAKE_OBJDUMP:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-objdump.exe
    
    //Value Computed by CMake
    CMAKE_PROJECT_DESCRIPTION:STATIC=
    
    //Value Computed by CMake
    CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
    
    //Value Computed by CMake
    CMAKE_PROJECT_NAME:STATIC=Trusted Firmware M
    
    //Value Computed by CMake
    CMAKE_PROJECT_VERSION:STATIC=1.5.0
    
    //Value Computed by CMake
    CMAKE_PROJECT_VERSION_MAJOR:STATIC=1
    
    //Value Computed by CMake
    CMAKE_PROJECT_VERSION_MINOR:STATIC=5
    
    //Value Computed by CMake
    CMAKE_PROJECT_VERSION_PATCH:STATIC=0
    
    //Value Computed by CMake
    CMAKE_PROJECT_VERSION_TWEAK:STATIC=
    
    //Path to a program.
    CMAKE_RANLIB:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-ranlib.exe
    
    //Path to a program.
    CMAKE_READELF:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-readelf.exe
    
    //Flags used by the linker during the creation of shared libraries
    // during all build types.
    CMAKE_SHARED_LINKER_FLAGS:STRING=
    
    //Flags used by the linker during the creation of shared libraries
    // during DEBUG builds.
    CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
    
    //Flags used by the linker during the creation of shared libraries
    // during MINSIZEREL builds.
    CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
    
    //Flags used by the linker during the creation of shared libraries
    // during RELEASE builds.
    CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
    
    //Flags used by the linker during the creation of shared libraries
    // during RELWITHDEBINFO builds.
    CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
    
    //If set, runtime paths are not added when installing shared libraries,
    // but are added when building.
    CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
    
    //If set, runtime paths are not added when using shared libraries.
    CMAKE_SKIP_RPATH:BOOL=NO
    
    //Flags used by the linker during the creation of static libraries
    // during all build types.
    CMAKE_STATIC_LINKER_FLAGS:STRING=
    
    //Flags used by the linker during the creation of static libraries
    // during DEBUG builds.
    CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
    
    //Flags used by the linker during the creation of static libraries
    // during MINSIZEREL builds.
    CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
    
    //Flags used by the linker during the creation of static libraries
    // during RELEASE builds.
    CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
    
    //Flags used by the linker during the creation of static libraries
    // during RELWITHDEBINFO builds.
    CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
    
    //Path to a program.
    CMAKE_STRIP:FILEPATH=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-strip.exe
    
    //If this value is on, makefiles will be generated without the
    // .SILENT directive, and all commands will be echoed to the console
    // during the make.  This is useful for debugging only. With Visual
    // Studio IDE projects all commands are done without /nologo.
    CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
    
    //Path to CMSIS_5 (or DOWNLOAD to fetch automatically
    CMSIS_5_PATH:PATH=C:/ncs/v2.0.0/modules/tee/tf-m/tf-m-tests/CMSIS
    
    //On fatal errors in the secure firmware, halt instead of rebooting.
    CONFIG_TFM_HALT_ON_CORE_PANIC:BOOL=
    
    //Disable lazy stacking from SPE
    CONFIG_TFM_LAZY_STACKING_SPE:BOOL=OFF
    
    //FP ABI type in SPE: 0-software, 1-hybird, 2-hardware
    CONFIG_TFM_SPE_FP:STRING=0
    
    //Cross-compilation triplet
    CROSS_COMPILE:STRING=C:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi
    
    //Disable PSA Crypto AEAD module
    CRYPTO_AEAD_MODULE_DISABLED:BOOL=TRUE
    
    //Disable PSA Crypto asymmetric key encryption module
    CRYPTO_ASYM_ENCRYPT_MODULE_DISABLED:BOOL=TRUE
    
    //Disable PSA Crypto asymmetric key signature module
    CRYPTO_ASYM_SIGN_MODULE_DISABLED:BOOL=TRUE
    
    //Disable PSA Crypto Cipher module
    CRYPTO_CIPHER_MODULE_DISABLED:BOOL=TRUE
    
    //The max number of concurrent operations that can be active (allocated)
    // at any time in Crypto
    CRYPTO_CONC_OPER_NUM:STRING=8
    
    //Heap size for the crypto backend
    CRYPTO_ENGINE_BUF_SIZE:STRING=1
    
    //Disable PSA Crypto Hash module
    CRYPTO_HASH_MODULE_DISABLED:BOOL=TRUE
    
    //Whether to enable the crypto hardware accelerator on supported
    // platforms
    CRYPTO_HW_ACCELERATOR:BOOL=True
    
    //Default size of the internal scratch buffer used for PSA FF IOVec
    // allocations
    CRYPTO_IOVEC_BUFFER_SIZE:STRING=5120
    
    //Disable PSA Crypto key derivation module
    CRYPTO_KEY_DERIVATION_MODULE_DISABLED:BOOL=TRUE
    
    //Disable PSA Crypto Key module
    CRYPTO_KEY_MODULE_DISABLED:BOOL=TRUE
    
    //Disable PSA Crypto MAC module
    CRYPTO_MAC_MODULE_DISABLED:BOOL=TRUE
    
    //Use stored NV seed to provide entropy
    CRYPTO_NV_SEED:BOOL=OFF
    
    //Disable PSA Crypto random number generator module
    CRYPTO_RNG_MODULE_DISABLED:BOOL=FALSE
    
    //No help, variable specified on the command line.
    CRYPTO_STORAGE_DISABLED:UNINITIALIZED=TRUE
    
    //Debug authentication setting. [CHIP_DEFAULT, NONE, NS_ONLY, FULL
    DEBUG_AUTHENTICATION:STRING=CHIP_DEFAULT
    
    FETCHCONTENT_BASE_DIR:STRING=C:/Test/V20/build_cmd/tfm/lib/ext
    
    //Disables all attempts to download or update content and assumes
    // source dirs already exist
    FETCHCONTENT_FULLY_DISCONNECTED:BOOL=OFF
    
    //Enables QUIET option for all content population
    FETCHCONTENT_QUIET:BOOL=ON
    
    //Enables UPDATE_DISCONNECTED behavior for all content population
    FETCHCONTENT_UPDATES_DISCONNECTED:BOOL=OFF
    
    //Whether to forward all PSA RoT messages to a Secure Enclave
    FORWARD_PROT_MSG:BOOL=OFF
    
    //Path to the Nordic HAL (or DOWNLOAD to fetch automatically)
    HAL_NORDIC_PATH:PATH=C:/ncs/v2.0.0/modules/hal/nordic
    
    //Remote of the Nordic HAL to download
    HAL_NORDIC_REMOTE:STRING=https://github.com/zephyrproject-rtos/hal_nordic
    
    //Version of the Nordic HAL to download
    HAL_NORDIC_VERSION:STRING=004b62c0b74c62bd8489e0a702a498899e0463d1
    
    //Size of the ITS internal data transfer buffer (defaults to ITS_MAX_ASSET_SIZE
    // if not set)
    ITS_BUF_SIZE:STRING=
    
    //Create flash FS if it doesn't exist for Internal Trusted Storage
    // partition
    ITS_CREATE_FLASH_LAYOUT:BOOL=ON
    
    //The maximum asset size to be stored in the Internal Trusted Storage
    // area
    ITS_MAX_ASSET_SIZE:STRING=512
    
    //The maximum number of assets to be stored in the Internal Trusted
    // Storage area
    ITS_NUM_ASSETS:STRING=5
    
    //Enable emulated RAM FS for platforms that don't have flash for
    // Internal Trusted Storage partition
    ITS_RAM_FS:BOOL=OFF
    
    //Validate filesystem metadata every time it is read from flash
    ITS_VALIDATE_METADATA_FROM_FLASH:BOOL=ON
    
    //Build type of Mbed Crypto library
    MBEDCRYPTO_BUILD_TYPE:STRING=MinSizeRel
    
    //The URL (or path) to retrieve MbedTLS from.
    MBEDCRYPTO_GIT_REMOTE:STRING=https://github.com/ARMmbed/mbedtls.git
    
    //Path to Mbed Crypto (or DOWNLOAD to fetch automatically
    MBEDCRYPTO_PATH:PATH=C:/ncs/v2.0.0/nrfxlib/nrf_security/tfm
    
    //The version of Mbed Crypto to use
    MBEDCRYPTO_VERSION:STRING=mbedtls-3.0.0
    
    //No help, variable specified on the command line.
    MCUBOOT_IMAGE_NUMBER:UNINITIALIZED=1
    
    //Level of logging to use for MCUboot [OFF, ERROR, WARNING, INFO,
    // DEBUG]
    MCUBOOT_LOG_LEVEL:STRING=OFF
    
    //Path to MCUboot (or DOWNLOAD to fetch automatically
    MCUBOOT_PATH:PATH=DOWNLOAD
    
    //The version of MCUboot to use
    MCUBOOT_VERSION:STRING=v1.9.0
    
    //No help, variable specified on the command line.
    NRF_ALLOW_NON_SECURE_RESET:UNINITIALIZED=ON
    
    //No help, variable specified on the command line.
    NRF_DIR:UNINITIALIZED=C:/ncs/v2.0.0/nrf
    
    //Enable non-secure storage partition
    NRF_NS_STORAGE:BOOL=OFF
    
    //No help, variable specified on the command line.
    NRF_SECURITY_SETTINGS:UNINITIALIZED=ZEPHYR_DOTCONFIG=C:/Test/V20/build_cmd/zephyr/.config GCC_M_CPU=cortex-m33 ARM_MBEDTLS_PATH=C:/ncs/v2.0.0/mbedtls ZEPHYR_AUTOCONF=C:/Test/V20/build_cmd/zephyr/include/generated/autoconf.h
    
    //Whether to build NS app
    NS:BOOL=ON
    
    //Number of mailbox queue slots
    NUM_MAILBOX_QUEUE_SLOT:BOOL=1
    
    //Enable OTP/NV_COUNTERS emulation in RAM. Has no effect on non-default
    // implementations of the OTP and NV_COUNTERS
    OTP_NV_COUNTERS_RAM_EMULATION:BOOL=OFF
    
    //Use default attest hal implementation.
    PLATFORM_DEFAULT_ATTEST_HAL:BOOL=OFF
    
    //Use default crypto keys implementation.
    PLATFORM_DEFAULT_CRYPTO_KEYS:BOOL=OFF
    
    //Use default initial attestation_key.
    PLATFORM_DEFAULT_IAK:BOOL=OFF
    
    //Use default nv counter implementation.
    PLATFORM_DEFAULT_NV_COUNTERS:BOOL=OFF
    
    //Use default NV seed implementation.
    PLATFORM_DEFAULT_NV_SEED:BOOL=OFF
    
    //Use trusted on-chip flash to implement OTP memory
    PLATFORM_DEFAULT_OTP:BOOL=OFF
    
    //Use OTP memory with write support
    PLATFORM_DEFAULT_OTP_WRITEABLE:BOOL=OFF
    
    //Use default provisioning implementation
    PLATFORM_DEFAULT_PROVISIONING:BOOL=OFF
    
    //Use default root of trust public key.
    PLATFORM_DEFAULT_ROTPK:BOOL=OFF
    
    //Use default uart stdout implementation.
    PLATFORM_DEFAULT_UART_STDOUT:BOOL=OFF
    
    //Whether to enable FVP or FPGA build of the platform.
    PLATFORM_IS_FVP:BOOL=FALSE
    
    //Disable Non-volatile counter module
    PLATFORM_NV_COUNTER_MODULE_DISABLED:BOOL=TRUE
    
    //PSA API test target
    PSA_API_TEST_TARGET:STRING=nrf9160
    
    //Path to PSA arch tests (or DOWNLOAD to fetch automatically
    PSA_ARCH_TESTS_PATH:PATH=C:/ncs/v2.0.0/modules/tee/tf-m/psa-arch-tests
    
    //The version of PSA arch tests to use
    PSA_ARCH_TESTS_VERSION:STRING=v21.10_API1.3_ADAC_ALPHA-1
    
    //Enable MM-IOVEC
    PSA_FRAMEWORK_HAS_MM_IOVEC:BOOL=OFF
    
    //Create flash FS if it doesn't exist for Protected Storage partition
    PS_CREATE_FLASH_LAYOUT:BOOL=ON
    
    //The AEAD algorithm to use for authenticated encryption in Protected
    // Storage
    PS_CRYPTO_AEAD_ALG:STRING=PSA_ALG_CCM
    
    //Enable encryption for Protected Storage partition
    PS_ENCRYPTION:BOOL=ON
    
    //The maximum asset size to be stored in the Protected Storage
    // area
    PS_MAX_ASSET_SIZE:STRING=2048
    
    //The maximum number of assets to be stored in the Protected Storage
    // area
    PS_NUM_ASSETS:STRING=10
    
    //Enable emulated RAM FS for platforms that don't have flash for
    // Protected Storage partition
    PS_RAM_FS:BOOL=OFF
    
    //Enable rollback protection for Protected Storage partition
    PS_ROLLBACK_PROTECTION:BOOL=ON
    
    //Validate filesystem metadata every time it is read from flash
    PS_VALIDATE_METADATA_FROM_FLASH:BOOL=ON
    
    //Enable secure UART1
    SECURE_UART1:BOOL=OFF
    
    //Use symmetric crypto for inital attestation
    SYMMETRIC_INITIAL_ATTESTATION:BOOL=OFF
    
    //Whether to build NS regression tests
    TEST_NS:BOOL=OFF
    
    //Which (if any) of the PSA API tests should be compiled
    TEST_PSA_API:STRING=
    
    //Whether to build S regression tests
    TEST_S:BOOL=OFF
    
    //Path to TFM NS app
    TFM_APP_PATH:PATH=C:/ncs/v2.0.0/modules/tee/tf-m/tf-m-tests/app
    
    //Whether to build the binary for lcov tools
    TFM_CODE_COVERAGE:BOOL=OFF
    
    //Enable code sharing between MCUboot and secure firmware
    TFM_CODE_SHARING:PATH=OFF
    
    //Path to repo which shares code with secure firmware
    TFM_CODE_SHARING_PATH:PATH=
    
    //Test CFB cryptography mode
    TFM_CRYPTO_TEST_ALG_CFB:BOOL=OFF
    
    //Test OFB cryptography mode
    TFM_CRYPTO_TEST_ALG_OFB:BOOL=OFF
    
    //Add debug symbols. Note that setting CMAKE_BUILD_TYPE to Debug
    // or RelWithDebInfo will also add debug symbols.
    TFM_DEBUG_SYMBOLS:BOOL=ON
    
    //Provision with dummy values. NOT to be used in production
    TFM_DUMMY_PROVISIONING:BOOL=OFF
    
    //On fatal errors in the secure firmware, capture info about the
    // exception. Print the info if the SPM log level is sufficient.
    TFM_EXCEPTION_INFO_DUMP:BOOL=OFF
    
    //Path to extra cmake config file
    TFM_EXTRA_CONFIG_PATH:PATH=
    
    //Path to extra generated file list. Appended to stardard TFM generated
    // file list.
    TFM_EXTRA_GENERATED_FILE_LIST_PATH:PATH=
    
    //Extra manifest list file(s), used to list extra Secure Partition
    // manifests.
    TFM_EXTRA_MANIFEST_LIST_FILES:FILEPATH=
    
    //List of extra Secure Partitions directories. An extra Secure
    // Parition folder contains source code, CMakeLists.txt and manifest
    // files
    TFM_EXTRA_PARTITION_PATHS:PATH=
    
    //Fault injection hardening profile [OFF, LOW, MEDIUM, HIGH]
    TFM_FIH_PROFILE:STRING=OFF
    
    //Bootloader configure file for Firmware Update partition
    TFM_FWU_BOOTLOADER_LIB:STRING=mcuboot
    
    //Path to which to install TF-M files
    TFM_INSTALL_PATH:PATH=C:/Test/V20/build_cmd/tfm/install
    
    //Isolation level
    TFM_ISOLATION_LEVEL:STRING=1
    
    //The size of the tag used in ITS encryption in bytes
    TFM_ITS_AUTH_TAG_LENGTH:STRING=16
    
    //Enable authenticated encryption of ITS files using platform specific
    // APIs
    TFM_ITS_ENCRYPTED:BOOL=OFF
    
    //The size of the nonce used in ITS encryption in bytes
    TFM_ITS_ENC_NONCE_LENGTH:STRING=12
    
    //Use secure library model instead of PSA API (IPC model)
    TFM_LIB_MODEL:BOOL=OFF
    
    //TF-M native Secure Partition manifests list file
    TFM_MANIFEST_LIST:FILEPATH=C:/ncs/v2.0.0/modules/tee/tf-m/trusted-firmware-m/tools/tfm_manifest_list.yaml
    
    //No help, variable specified on the command line.
    TFM_MBEDCRYPTO_CONFIG_PATH:STRING=nrf-config.h
    
    //No help, variable specified on the command line.
    TFM_MBEDCRYPTO_PLATFORM_EXTRA_CONFIG_PATH:STRING=nrf-config-user.h
    
    //Whether to build for a dual-cpu architecture
    TFM_MULTI_CORE_TOPOLOGY:BOOL=OFF
    
    //Path to NS log
    TFM_NS_LOG_PATH:PATH=C:/ncs/v2.0.0/modules/tee/tf-m/tf-m-tests/log
    
    //Support NSPE OS providing NSPE client_id
    TFM_NS_MANAGE_NSID:BOOL=OFF
    
    //Enable Audit Log partition
    TFM_PARTITION_AUDIT_LOG:BOOL=OFF
    
    //Enable Crypto partition
    TFM_PARTITION_CRYPTO:BOOL=ON
    
    //Enable firmware update partition
    TFM_PARTITION_FIRMWARE_UPDATE:BOOL=OFF
    
    //Enable Initial Attestation partition
    TFM_PARTITION_INITIAL_ATTESTATION:BOOL=OFF
    
    //Enable Internal Trusted Storage partition
    TFM_PARTITION_INTERNAL_TRUSTED_STORAGE:BOOL=OFF
    
    //Set minsizerel SP log level as Silence level
    TFM_PARTITION_LOG_LEVEL:STRING=TFM_PARTITION_LOG_LEVEL_SILENCE
    
    //Enable Platform partition
    TFM_PARTITION_PLATFORM:BOOL=ON
    
    //Enable Protected Storage partition
    TFM_PARTITION_PROTECTED_STORAGE:BOOL=OFF
    
    //Enable PSA Proxy partition
    TFM_PARTITION_PSA_PROXY:BOOL=OFF
    
    //Target platform set as an absolute path.
    TFM_PLATFORM:STRING=../../../../../../../nrf/modules/tfm/tfm/boards/nrf9160
    
    //Whether to use a platform specific inter-core communication instead
    // of mailbox in dual-cpu topology
    TFM_PLAT_SPECIFIC_MULTI_CORE_COMM:BOOL=OFF
    
    //Profile to use
    TFM_PROFILE:STRING=
    
    //Use PSA API instead of secure library model
    TFM_PSA_API:BOOL=ON
    
    //Use Privileged execute never (PXN)
    TFM_PXN_ENABLE:BOOL=OFF
    
    //Set minsizerel SPM log level as Silence level
    TFM_SPM_LOG_LEVEL:STRING=TFM_SPM_LOG_LEVEL_SILENCE
    
    //Use Partition Metadata Pointer
    TFM_SP_META_PTR_ENABLE:BOOL=OFF
    
    //Path to TFM tests
    TFM_TEST_PATH:PATH=C:/ncs/v2.0.0/modules/tee/tf-m/tf-m-tests/test
    
    //Path to TFM-TEST repo (or DOWNLOAD to fetch automatically
    TFM_TEST_REPO_PATH:PATH=C:/ncs/v2.0.0/modules/tee/tf-m/tf-m-tests
    
    //The version of tf-m-tests to use
    TFM_TEST_REPO_VERSION:STRING=6131778
    
    //Path to TFM compiler toolchain file
    TFM_TOOLCHAIN_FILE:FILEPATH=C:/ncs/v2.0.0/modules/tee/tf-m/trusted-firmware-m/toolchain_GNUARM.cmake
    
    //Value Computed by CMake
    Trusted Firmware M_BINARY_DIR:STATIC=C:/Test/V20/build_cmd/tfm
    
    //Value Computed by CMake
    Trusted Firmware M_SOURCE_DIR:STATIC=C:/ncs/v2.0.0/modules/tee/tf-m/trusted-firmware-m
    
    //No help, variable specified on the command line.
    ZEPHYR_BASE:UNINITIALIZED=C:/ncs/v2.0.0/zephyr
    
    
    ########################
    # INTERNAL cache entries
    ########################
    
    //ADVANCED property for variable: CMAKE_ADDR2LINE
    CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_AR
    CMAKE_AR-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_ASM_COMPILER_AR
    CMAKE_ASM_COMPILER_AR-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_ASM_COMPILER_RANLIB
    CMAKE_ASM_COMPILER_RANLIB-ADVANCED:INTERNAL=1
    CMAKE_ASM_COMPILER_WORKS:INTERNAL=1
    //ADVANCED property for variable: CMAKE_ASM_FLAGS
    CMAKE_ASM_FLAGS-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_ASM_FLAGS_DEBUG
    CMAKE_ASM_FLAGS_DEBUG-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_ASM_FLAGS_MINSIZEREL
    CMAKE_ASM_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_ASM_FLAGS_RELEASE
    CMAKE_ASM_FLAGS_RELEASE-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_ASM_FLAGS_RELWITHDEBINFO
    CMAKE_ASM_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
    //This is the directory where this CMakeCache.txt was created
    CMAKE_CACHEFILE_DIR:INTERNAL=c:/Test/V20/build_cmd/tfm
    //Major version of cmake used to create the current loaded cache
    CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
    //Minor version of cmake used to create the current loaded cache
    CMAKE_CACHE_MINOR_VERSION:INTERNAL=20
    //Patch version of cmake used to create the current loaded cache
    CMAKE_CACHE_PATCH_VERSION:INTERNAL=5
    //Path to CMake executable.
    CMAKE_COMMAND:INTERNAL=C:/ncs/toolchains/v2.0.0/opt/bin/cmake.exe
    //Path to cpack program executable.
    CMAKE_CPACK_COMMAND:INTERNAL=C:/ncs/toolchains/v2.0.0/opt/bin/cpack.exe
    //Path to ctest program executable.
    CMAKE_CTEST_COMMAND:INTERNAL=C:/ncs/toolchains/v2.0.0/opt/bin/ctest.exe
    //ADVANCED property for variable: CMAKE_C_COMPILER
    CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_C_COMPILER_AR
    CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
    CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_C_FLAGS
    CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
    CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
    CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
    CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
    CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_DLLTOOL
    CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
    //Executable file format
    CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
    //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
    CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
    CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
    CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
    CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
    CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
    CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
    //Name of external makefile project generator.
    CMAKE_EXTRA_GENERATOR:INTERNAL=
    //Name of generator.
    CMAKE_GENERATOR:INTERNAL=Ninja
    //Generator instance identifier.
    CMAKE_GENERATOR_INSTANCE:INTERNAL=
    //Name of generator platform.
    CMAKE_GENERATOR_PLATFORM:INTERNAL=
    //Name of generator toolset.
    CMAKE_GENERATOR_TOOLSET:INTERNAL=
    //Source directory with the top level CMakeLists.txt file for this
    // project
    CMAKE_HOME_DIRECTORY:INTERNAL=C:/ncs/v2.0.0/modules/tee/tf-m/trusted-firmware-m
    //ADVANCED property for variable: CMAKE_LINKER
    CMAKE_LINKER-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_MAKE_PROGRAM
    CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
    CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
    CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
    CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
    CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
    CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_NM
    CMAKE_NM-ADVANCED:INTERNAL=1
    //number of local generators
    CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=8
    //ADVANCED property for variable: CMAKE_OBJCOPY
    CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_OBJDUMP
    CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
    //Platform information initialized
    CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_RANLIB
    CMAKE_RANLIB-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_READELF
    CMAKE_READELF-ADVANCED:INTERNAL=1
    //Path to CMake installation.
    CMAKE_ROOT:INTERNAL=C:/ncs/toolchains/v2.0.0/opt/share/cmake-3.20
    //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
    CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
    CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
    CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
    CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
    CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
    CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_SKIP_RPATH
    CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
    CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
    CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
    CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
    CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
    CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_STRIP
    CMAKE_STRIP-ADVANCED:INTERNAL=1
    //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
    CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
    //STRINGS property for variable: CONFIG_TFM_SPE_FP
    CONFIG_TFM_SPE_FP-STRINGS:INTERNAL=0;1;2
    //Details about finding Python3
    FIND_PACKAGE_MESSAGE_DETAILS_Python3:INTERNAL=[C:/Python310/python.exe][cfound components: Interpreter ][v3.10.5()]
    //STRINGS property for variable: TFM_FIH_PROFILE
    TFM_FIH_PROFILE-STRINGS:INTERNAL=OFF;LOW;MEDIUM;HIGH
    //Path to a program.
    _Python3_EXECUTABLE:INTERNAL=C:/Python310/python.exe
    //Python3 Properties
    _Python3_INTERPRETER_PROPERTIES:INTERNAL=Python;3;10;5;64;;;C:\Python310\Lib;C:\Python310\Lib;C:\Python310\Lib\site-packages;C:\Python310\Lib\site-packages
    _Python3_INTERPRETER_SIGNATURE:INTERNAL=95de7faffa26eb51014e00be4f7a1bf7
    
    

  • hjetschko said:
    Found Python3: C:/Python310/python.exe (found version "3.10.5") found components: Interpreter

    I believe this is your issue, CMake is trying to use the wrong Python version, even though Zephyr finds the correct version in the start of your log:

    hjetschko said:
    Found Python3: C:/ncs/toolchains/v2.0.0/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter

    You could try adding -DPYTHON_EXECUTABLE:FILEPATH="c:/ncs/toolchains/v2.0.0/opt/bin/python.exe" to your west build command.

    -Einar

  • Hi Einar. Thank you for the reply. I tested this, please see the new command below:

    west build --build-dir c:\Test\V20\build_cmd c:\Test\V20 --pristine --board nrf9160dk_nrf9160_ns -- -DNCS_TOOLCHAIN_VERSION:STRING="NONE" -DCONF_FILE:STRING="c:/Test/V20/prj.conf" -DPYTHON_EXECUTABLE:FILEPATH="c:/ncs/toolchains/v2.0.0/opt/bin/python.exe"

    Unfortunately I get the same result. If you try to compile at_client with this command, does it work for you?

    Hubert

  • Hello

    This turns out to be caused by the TF-M build system using its own build environment, so the Python version has to be set for that as well.

    To do this, add these lines to ncs/[version]/nrf/modules/tfm/zephyr/CMakeLists.txt :

    https://github.com/nrfconnect/sdk-nrf/commit/da20df3f5a59e26ea0887e2944e70af6d3e71ae7

    This issue is fixed in the NCS 2.2.0 release.

    -Einar

  • Hi Einar.

    Thank you, this solution worked very well.

    Regards, Hubert

Reply Children
No Data
Related