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 Reply Children
  • 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

Related