Issue importing and exporting an ECDSA public key

Hi!

I am learning how to use the PSA Cryptography API and there's something I don't understand. I have imported an ECDSA public key in uncompressed format (x + y coordinates), and when I try to export it I have realized they are not the same. 

Here is my code. It is a modification of ecdsa sample, I just inicialize the API and then try to import and export the public key. The key is extracted from a certificate which is stored in an array.

/*
 * Copyright (c) 2021 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
 */

#include <zephyr.h>
#include <sys/printk.h>
#include <logging/log.h>
#include <stdio.h>
#include <stdlib.h>
#include <psa/crypto.h>
#include <psa/crypto_extra.h>

#ifdef CONFIG_BUILD_WITH_TFM
#include <tfm_ns_interface.h>
#endif

#define APP_SUCCESS     (0)
#define APP_ERROR       (-1)
#define APP_SUCCESS_MESSAGE "Example finished successfully!"
#define APP_ERROR_MESSAGE "Example exited with error!"

#define PRINT_HEX(p_label, p_text, len)\
    ({\
        LOG_INF("---- %s (len: %u): ----", p_label, len);\
        LOG_HEXDUMP_INF(p_text, len, "Content:");\
        LOG_INF("---- %s end  ----", p_label);\
    })

LOG_MODULE_REGISTER(ecdsa, LOG_LEVEL_DBG);

/* ====================================================================== */
/*              Global variables/defines for the ECDSA example            */

#define NRF_CRYPTO_EXAMPLE_ECDSA_TEXT_SIZE (100)

#define NRF_CRYPTO_EXAMPLE_ECDSA_PUBLIC_KEY_SIZE (65)
#define NRF_CRYPTO_EXAMPLE_ECDSA_SIGNATURE_SIZE (64)
#define NRF_CRYPTO_EXAMPLE_ECDSA_HASH_SIZE (32)

/* Below text is used as plaintext for signing/verification */
static uint8_t m_plain_text[NRF_CRYPTO_EXAMPLE_ECDSA_TEXT_SIZE] = {
    "Example string to demonstrate basic usage of ECDSA."
};

static uint8_t m_pub_key[NRF_CRYPTO_EXAMPLE_ECDSA_PUBLIC_KEY_SIZE];

static uint8_t m_signature[NRF_CRYPTO_EXAMPLE_ECDSA_SIGNATURE_SIZE];
static uint8_t m_hash[NRF_CRYPTO_EXAMPLE_ECDSA_HASH_SIZE];

static psa_key_handle_t keypair_handle;
static psa_key_handle_t pub_key_handle;


#define CERT_LEN (171)
static uint8_t certificate[CERT_LEN] = {0x02, 0x01, 0xe6, 0x1f, 0x02, 0x6e, 0xed, 0x54, 0x80, 0x4a, 0x01, 0x00, 0x52, 0x00, 0x00,
                                0x04, 0xb4, 0x61, 0xe0, 0x0b, 0xbd, 0x4d, 0x49, 0x8d, 0x41, 0x00, 0xe1, 0xf3, 0x14, 0x76,
                                0x80, 0x5d, 0xc1, 0x11, 0xad, 0x1c, 0xea, 0x42, 0x52, 0x50, 0xde, 0x68, 0x2f, 0x80, 0x1e,
                                0x8a, 0x75, 0x0f, 0x33, 0x2d, 0x24, 0x65, 0xca, 0xac, 0x5d, 0xe4, 0x6b, 0xfe, 0x94, 0xc1,
                                0x34, 0xed, 0xa0, 0xff, 0x31, 0xc3, 0xce, 0x21, 0xfa, 0x01, 0xd5, 0xec, 0x96, 0x23, 0xe5,
                                0x53, 0x51, 0xd0, 0xd2, 0x18, 0x02, 0x00, 0x21, 0x0b, 0x24, 0x03, 0x01, 0x00, 0x00, 0x25,
                                0x04, 0x01, 0x00, 0x00, 0x00, 0x09, 0x01, 0x23, 0x70, 0x1f, 0x68, 0x23, 0x79, 0x67, 0xf8,
                                0x00, 0x00, 0xf2, 0x19, 0xac, 0x67, 0xa1, 0x84, 0x82, 0xa8, 0x8a, 0x37, 0x24, 0x0c, 0x2e,
                                0xa7, 0x89, 0xd0, 0xf8, 0x24, 0xf5, 0x7e, 0xb7, 0xc7, 0x14, 0xcf, 0x90, 0x04, 0xd2, 0x42,
                                0x42, 0xf3, 0x60, 0x1f, 0xab, 0xa0, 0xde, 0x2c, 0xc1, 0x97, 0x23, 0x79, 0xc4, 0xd8, 0xcf,
                                0x6f, 0xd0, 0x45, 0x43, 0x38, 0xdc, 0x2f, 0x78, 0x86, 0xb7, 0x80, 0x80, 0xf8, 0xd6, 0x04,
                                0x44, 0x28, 0x91, 0xeb, 0xaa, 0xe2};

/* ====================================================================== */

int crypto_init(void)
{
    psa_status_t status;

    /* Initialize PSA Crypto */
    status = psa_crypto_init();
    if (status != PSA_SUCCESS)
        return APP_ERROR;

    return APP_SUCCESS;
}

int import_ecdsa_pub_key(void)
{

    psa_status_t status;
    uint32_t output_len;
    uint8_t coordinates[65];

    coordinates[0] = 0x04; //uncompressed coordinates
    memcpy(coordinates + 1, certificate+16, 64);
    PRINT_HEX("Peer's coordinates ", coordinates, 65);

    /* Configure the key attributes */
    psa_key_attributes_t peer_key_attributes = PSA_KEY_ATTRIBUTES_INIT;
   
    /* Configure the key attributes */
    psa_set_key_usage_flags(&peer_key_attributes,  PSA_KEY_USAGE_SIGN_HASH|PSA_KEY_USAGE_EXPORT|PSA_KEY_USAGE_VERIFY_MESSAGE);
    psa_set_key_algorithm(&peer_key_attributes, PSA_ALG_ECDSA(PSA_ALG_SHA_256));
    psa_set_key_type(&peer_key_attributes, PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_FAMILY_SECP_R1));
    psa_set_key_bits(&peer_key_attributes, 256);
    psa_set_key_lifetime(&peer_key_attributes, PSA_KEY_LIFETIME_VOLATILE);

    psa_key_id_t peer_id_key;
    status = psa_import_key(&peer_key_attributes, coordinates, sizeof(coordinates), &peer_id_key);
    LOG_INF("peer_id_key: %d", peer_id_key);
    if((status != PSA_SUCCESS)){
        LOG_INF("psa_import_key failed! (Error: %d)", status);
        return APP_ERROR;
    }

    uint8_t pub_rx_key[256];
    uint8_t rx_length;

    status = psa_export_public_key(peer_id_key, pub_rx_key, sizeof(pub_rx_key), &rx_length);
    if (status != PSA_SUCCESS) {
        LOG_INF("psa_export_public_key failed! (Error: %d)", status);
        return APP_ERROR;
    }
    PRINT_HEX("Exported public key", pub_rx_key, rx_length);

    return APP_SUCCESS;
}


int main(void)
{
    int status;

    LOG_INF("Starting ECDSA example...");

    status = crypto_init();
    if (status != APP_SUCCESS) {
        LOG_INF(APP_ERROR_MESSAGE);
        return APP_ERROR;
    }

    status = import_ecdsa_pub_key();
    if (status != APP_SUCCESS) {
        LOG_INF(APP_ERROR_MESSAGE);
        return APP_ERROR;
    }
   
    LOG_INF(APP_SUCCESS_MESSAGE);

    return APP_SUCCESS;
}
butes_t key_attributes = PSA_KEY_ATTRIBUTES_INIT;

Here is the log. As you can see, although the key is imported successfully, the first three bytes change.

00> [00:00:00.000,305] <inf> ecdsa: Starting ECDSA example...
00> [00:00:00.000,335] <inf> ecdsa: Verifying ECDSA signature...
00> [00:00:00.000,335] <inf> ecdsa: ---- Peer's coordinates (len: 65): ----
00> [00:00:00.000,366] <inf> ecdsa: Content:
00> 04 b4 61 e0 0b bd 4d 49 8d 41 00 e1 f3 14 76 80 |..a...MI .A....v.
00> 5d c1 11 ad 1c ea 42 52 50 de 68 2f 80 1e 8a 75 |].....BR P.h/...u
00> 0f 33 2d 24 65 ca ac 5d e4 6b fe 94 c1 34 ed a0 |.3-$e..] .k...4..
00> ff 31 c3 ce 21 fa 01 d5 ec 96 23 e5 53 51 d0 d2 |.1..!... ..#.SQ..
00> 18 |.
00> [00:00:00.000,366] <inf> ecdsa: ---- Peer's coordinates end ----
00> [00:00:00.000,396] <inf> ecdsa: peer_id_key: 2147483616
00> [00:00:00.000,427] <inf> ecdsa: ---- Exported public key (len: 65): ----
00> [00:00:00.000,457] <inf> ecdsa: Content:
00> 00 00 00 e0 0b bd 4d 49 8d 41 00 e1 f3 14 76 80 |......MI .A....v.
00> 5d c1 11 ad 1c ea 42 52 50 de 68 2f 80 1e 8a 75 |].....BR P.h/...u
00> 0f 33 2d 24 65 ca ac 5d e4 6b fe 94 c1 34 ed a0 |.3-$e..] .k...4..
00> ff 31 c3 ce 21 fa 01 d5 ec 96 23 e5 53 51 d0 d2 |.1..!... ..#.SQ..
00> 18 |.
00> [00:00:00.000,457] <inf> ecdsa: ---- Exported public key end ----[0m
00> [00:00:00.000,457] <inf> ecdsa: Example finished successfully!

Thank you in advance!

  • Hello,
    Could you please send us the configuration file "prj.conf" and also the "autoconf.h" in the path build/zephyr/include/generated/autoconf.h ?
    Thanks.
    Best Regards,
    Kazi Afroza Sultana
  • I have noticed that I selected the wrong device when creating the ticket. I am using the nRF52840 SoC of the Thingy:91.

    # The Zephyr CMSIS emulation assumes that ticks are ms, currently
    CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000
    
    CONFIG_MAIN_STACK_SIZE=8192
    CONFIG_HEAP_MEM_POOL_SIZE=8192
    
    # Enable loging using RTT and UART
    CONFIG_CONSOLE=y
    CONFIG_LOG=y
    CONFIG_USE_SEGGER_RTT=y
    CONFIG_LOG_BACKEND_RTT=y
    CONFIG_LOG_BACKEND_UART=y
    CONFIG_LOG_BUFFER_SIZE=15360
    CONFIG_SEGGER_RTT_BUFFER_SIZE_UP=15360
    
    # Enable nordic security backend and PSA APIs
    CONFIG_NRF_SECURITY=y
    CONFIG_MBEDTLS_PSA_CRYPTO_C=y
    
    CONFIG_MBEDTLS_ENABLE_HEAP=y
    CONFIG_MBEDTLS_HEAP_SIZE=8192
    
    CONFIG_PSA_CRYPTO_DRIVER_OBERON=n
    CONFIG_PSA_CRYPTO_DRIVER_CC3XX=y

    #define CONFIG_NET_CONFIG_IEEE802154_DEV_NAME ""
    #define CONFIG_BOARD "thingy91_nrf52840"
    #define CONFIG_HW_STACK_PROTECTION 1
    #define CONFIG_SOC "nRF52840_QIAA"
    #define CONFIG_SOC_SERIES "nrf52"
    #define CONFIG_NUM_IRQS 48
    #define CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC 32768
    #define CONFIG_CLOCK_CONTROL_INIT_PRIORITY 30
    #define CONFIG_HEAP_MEM_POOL_SIZE 8192
    #define CONFIG_ROM_START_OFFSET 0x0
    #define CONFIG_PM 1
    #define CONFIG_SOC_HAS_TIMING_FUNCTIONS 1
    #define CONFIG_ARCH_HAS_CUSTOM_BUSY_WAIT 1
    #define CONFIG_CLOCK_CONTROL 1
    #define CONFIG_NRF_RTC_TIMER 1
    #define CONFIG_SYS_CLOCK_TICKS_PER_SEC 1000
    #define CONFIG_BUILD_OUTPUT_HEX 1
    #define CONFIG_SERIAL_INIT_PRIORITY 55
    #define CONFIG_FLASH_SIZE 1024
    #define CONFIG_FLASH_BASE_ADDRESS 0x0
    #define CONFIG_TEST_EXTRA_STACKSIZE 0
    #define CONFIG_SERIAL 1
    #define CONFIG_NUM_METAIRQ_PRIORITIES 0
    #define CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE 1024
    #define CONFIG_MAIN_STACK_SIZE 8192
    #define CONFIG_MBEDTLS_HEAP_SIZE 8192
    #define CONFIG_MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG 1
    #define CONFIG_MBEDTLS_LIBRARY_NRF_SECURITY 1
    #define CONFIG_WARN_EXPERIMENTAL 1
    #define CONFIG_PRIVILEGED_STACK_SIZE 1024
    #define CONFIG_ENTROPY_GENERATOR 1
    #define CONFIG_PSA_WANT_ALG_CTR_DRBG 1
    #define CONFIG_PSA_WANT_ALG_HMAC_DRBG 1
    #define CONFIG_INIT_ARCH_HW_AT_BOOT 1
    #define CONFIG_NORDIC_QSPI_NOR_FLASH_LAYOUT_PAGE_SIZE 4096
    #define CONFIG_LOG_DEFAULT_LEVEL 3
    #define CONFIG_PM_PARTITION_SIZE_PROVISION 0x1000
    #define CONFIG_PM_PARTITION_SIZE_B0_IMAGE 0x8000
    #define CONFIG_SB_VALIDATION_INFO_MAGIC 0x86518483
    #define CONFIG_SB_VALIDATION_POINTER_MAGIC 0x6919b47e
    #define CONFIG_SB_VALIDATION_INFO_CRYPTO_ID 1
    #define CONFIG_SB_VALIDATION_INFO_VERSION 2
    #define CONFIG_SB_VALIDATION_METADATA_OFFSET 0
    #define CONFIG_SB_VALIDATE_FW_SIGNATURE 1
    #define CONFIG_NRF_CLOUD_CLIENT_ID_SRC_COMPILE_TIME 1
    #define CONFIG_NRF_CLOUD_CLIENT_ID "my-client-id"
    #define CONFIG_NRF_CLOUD_LOG_LEVEL_INF 1
    #define CONFIG_NRF_CLOUD_LOG_LEVEL 3
    #define CONFIG_MPSL_CX_LOG_LEVEL_INF 1
    #define CONFIG_MPSL_CX_LOG_LEVEL 3
    #define CONFIG_MPSL_FEM_LOG_LEVEL_INF 1
    #define CONFIG_MPSL_FEM_LOG_LEVEL 3
    #define CONFIG_MPSL_THREAD_COOP_PRIO 8
    #define CONFIG_MPSL_SIGNAL_STACK_SIZE 1024
    #define CONFIG_MPSL_TIMESLOT_SESSION_COUNT 0
    #define CONFIG_MPSL_LOG_LEVEL_INF 1
    #define CONFIG_MPSL_LOG_LEVEL 3
    #define CONFIG_PARTITION_MANAGER_ENABLED 1
    #define CONFIG_FLASH_MAP_CUSTOM 1
    #define CONFIG_SRAM_SIZE 256
    #define CONFIG_SRAM_BASE_ADDRESS 0x20000000
    #define CONFIG_PM_EXTERNAL_FLASH_BASE 0x0
    #define CONFIG_PM_SRAM_BASE 0x20000000
    #define CONFIG_PM_SRAM_SIZE 0x40000
    #define CONFIG_MGMT_FMFU_LOG_LEVEL_INF 1
    #define CONFIG_MGMT_FMFU_LOG_LEVEL 3
    #define CONFIG_AGPS_LOG_LEVEL_INF 1
    #define CONFIG_AGPS_LOG_LEVEL 3
    #define CONFIG_NRF_ACL_FLASH_REGION_SIZE 0x1000
    #define CONFIG_FPROTECT_BLOCK_SIZE 0x1000
    #define CONFIG_RESET_ON_FATAL_ERROR 1
    #define CONFIG_FATAL_ERROR_LOG_LEVEL_INF 1
    #define CONFIG_FATAL_ERROR_LOG_LEVEL 3
    #define CONFIG_HW_UNIQUE_KEY_PARTITION_SIZE 0x1000
    #define CONFIG_ENTROPY_CC3XX 1
    #define CONFIG_HW_CC3XX 1
    #define CONFIG_ZEPHYR_NRF_MODULE 1
    #define CONFIG_SIGN_IMAGES 1
    #define CONFIG_MCUBOOT_BUILD_STRATEGY_FROM_SOURCE 1
    #define CONFIG_MCUBOOT_IMAGE_VERSION "0.0.0+0"
    #define CONFIG_MCUBOOT_FLASH_WRITE_BLOCK_SIZE 4
    #define CONFIG_DT_FLASH_WRITE_BLOCK_SIZE 4
    #define CONFIG_MCUBOOT_USB_SUPPORT 1
    #define CONFIG_ZEPHYR_MCUBOOT_MODULE 1
    #define CONFIG_ZEPHYR_MBEDTLS_MODULE 1
    #define CONFIG_MBEDTLS_CFG_FILE "nrf-config.h"
    #define CONFIG_MBEDTLS_TLS_VERSION_1_2 1
    #define CONFIG_MBEDTLS_MAC_SHA256_ENABLED 1
    #define CONFIG_MBEDTLS_CTR_DRBG_ENABLED 1
    #define CONFIG_MBEDTLS_CIPHER 1
    #define CONFIG_MBEDTLS_USER_CONFIG_FILE "nrf-config-user.h"
    #define CONFIG_MBEDTLS_PKCS5_C 1
    #define CONFIG_MBEDTLS_ENABLE_HEAP 1
    #define CONFIG_PSA_HAS_KEY_SUPPORT 1
    #define CONFIG_PSA_WANT_KEY_TYPE_DERIVE 1
    #define CONFIG_PSA_WANT_KEY_TYPE_HMAC 1
    #define CONFIG_PSA_WANT_KEY_TYPE_AES 1
    #define CONFIG_PSA_WANT_KEY_TYPE_ARIA 1
    #define CONFIG_PSA_WANT_KEY_TYPE_CHACHA20 1
    #define CONFIG_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR 1
    #define CONFIG_PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY 1
    #define CONFIG_PSA_WANT_KEY_TYPE_RAW_DATA 1
    #define CONFIG_PSA_HAS_AEAD_SUPPORT 1
    #define CONFIG_PSA_WANT_ALG_CCM 1
    #define CONFIG_PSA_WANT_ALG_GCM 1
    #define CONFIG_PSA_WANT_ALG_CHACHA20_POLY1305 1
    #define CONFIG_PSA_HAS_MAC_SUPPORT 1
    #define CONFIG_PSA_WANT_ALG_CMAC 1
    #define CONFIG_PSA_WANT_ALG_HMAC 1
    #define CONFIG_PSA_HAS_HASH_SUPPORT 1
    #define CONFIG_PSA_WANT_ALG_SHA_1 1
    #define CONFIG_PSA_WANT_ALG_SHA_224 1
    #define CONFIG_PSA_WANT_ALG_SHA_256 1
    #define CONFIG_PSA_WANT_ALG_SHA_384 1
    #define CONFIG_PSA_WANT_ALG_SHA_512 1
    #define CONFIG_PSA_WANT_ALG_RIPEMD160 1
    #define CONFIG_PSA_WANT_ALG_MD5 1
    #define CONFIG_PSA_HAS_CIPHER_SUPPORT 1
    #define CONFIG_PSA_WANT_ALG_ECB_NO_PADDING 1
    #define CONFIG_PSA_WANT_ALG_CBC_NO_PADDING 1
    #define CONFIG_PSA_WANT_ALG_CBC_PKCS7 1
    #define CONFIG_PSA_WANT_ALG_CFB 1
    #define CONFIG_PSA_WANT_ALG_CTR 1
    #define CONFIG_PSA_WANT_ALG_OFB 1
    #define CONFIG_PSA_HAS_KEY_DERIVATION 1
    #define CONFIG_PSA_WANT_ALG_HKDF 1
    #define CONFIG_PSA_HAS_ASYM_SIGN_SUPPORT 1
    #define CONFIG_PSA_HAS_ECC_SUPPORT 1
    #define CONFIG_PSA_WANT_ALG_ECDH 1
    #define CONFIG_PSA_WANT_ALG_ECDSA 1
    #define CONFIG_PSA_WANT_ALG_DETERMINISTIC_ECDSA 1
    #define CONFIG_PSA_WANT_ECC_SECP_R1_256 1
    #define CONFIG_PSA_WANT_ALG_STREAM_CIPHER 1
    #define CONFIG_ZEPHYR_TRUSTED_FIRMWARE_M_MODULE 1
    #define CONFIG_ZEPHYR_CJSON_MODULE 1
    #define CONFIG_ZEPHYR_CDDL_GEN_MODULE 1
    #define CONFIG_ZEPHYR_MEMFAULT_FIRMWARE_SDK_MODULE 1
    #define CONFIG_ZEPHYR_CANOPENNODE_MODULE 1
    #define CONFIG_ZEPHYR_HAL_NORDIC_MODULE 1
    #define CONFIG_HAS_NORDIC_DRIVERS 1
    #define CONFIG_HAS_NRFX 1
    #define CONFIG_NRFX_CLOCK 1
    #define CONFIG_NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED 1
    #define CONFIG_NRFX_PPI 1
    #define CONFIG_ZEPHYR_LORAMAC_NODE_MODULE 1
    #define CONFIG_ZEPHYR_LZ4_MODULE 1
    #define CONFIG_ZEPHYR_NANOPB_MODULE 1
    #define CONFIG_ZEPHYR_TRACERECORDER_MODULE 1
    #define CONFIG_ZEPHYR_ZSCILIB_MODULE 1
    #define CONFIG_NRF_MODEM_SHMEM_CTRL_SIZE 0x4e8
    #define CONFIG_NRFXLIB_CRYPTO 1
    #define CONFIG_CRYPTOCELL_CC310_USABLE 1
    #define CONFIG_CRYPTOCELL_USABLE 1
    #define CONFIG_NRF_CC3XX_PLATFORM 1
    #define CONFIG_CC3XX_MUTEX_LOCK 1
    #define CONFIG_NRF_SECURITY 1
    #define CONFIG_GENERATE_MBEDTLS_CFG_FILE 1
    #define CONFIG_MBEDTLS_PSA_CRYPTO_C 1
    #define CONFIG_MBEDTLS_PSA_CRYPTO_DRIVERS 1
    #define CONFIG_PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT 1
    #define CONFIG_MBEDTLS_PSA_CRYPTO_CLIENT 1
    #define CONFIG_MBEDTLS_PSA_ACCEL_KEY_TYPE_AES 1
    #define CONFIG_MBEDTLS_PSA_ACCEL_KEY_TYPE_CHACHA20 1
    #define CONFIG_PSA_CRYPTO_DRIVER_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_HAS_CIPHER 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_CBC_NO_PADDING_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_CBC_PKCS7_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_CCM_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_CFB_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_CHACHA20_POLY1305_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_CMAC_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_CTR_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_DETERMINISTIC_ECDSA_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_ECB_NO_PADDING_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_ECDH_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_ECDSA_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_GCM_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_HKDF_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_HMAC_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_SHA_1_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_SHA_224_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_SHA_256_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ALG_STREAM_CIPHER_CC3XX 1
    #define CONFIG_PSA_CRYPTO_DRIVER_ECC_SECP_R1_256_CC3XX 1
    #define CONFIG_MBEDTLS_USE_PSA_CRYPTO 1
    #define CONFIG_MBEDTLS_PLATFORM_MEMORY 1
    #define CONFIG_MBEDTLS_PLATFORM_C 1
    #define CONFIG_MBEDTLS_MEMORY_C 1
    #define CONFIG_MBEDTLS_MEMORY_BUFFER_ALLOC_C 1
    #define CONFIG_MBEDTLS_THREADING_C 1
    #define CONFIG_MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT 1
    #define CONFIG_MBEDTLS_ENTROPY_HARDWARE_ALT 1
    #define CONFIG_MBEDTLS_THREADING_ALT 1
    #define CONFIG_MBEDTLS_PLATFORM_ZEROIZE_ALT 1
    #define CONFIG_MBEDTLS_AES_ALT 1
    #define CONFIG_MBEDTLS_CMAC_ALT 1
    #define CONFIG_MBEDTLS_CCM_ALT 1
    #define CONFIG_MBEDTLS_CHACHA20_ALT 1
    #define CONFIG_MBEDTLS_POLY1305_ALT 1
    #define CONFIG_MBEDTLS_CHACHAPOLY_ALT 1
    #define CONFIG_MBEDTLS_DHM_ALT 1
    #define CONFIG_MBEDTLS_ECP_ALT 1
    #define CONFIG_MBEDTLS_ECDH_GEN_PUBLIC_ALT 1
    #define CONFIG_MBEDTLS_ECDH_COMPUTE_SHARED_ALT 1
    #define CONFIG_MBEDTLS_ECDSA_GENKEY_ALT 1
    #define CONFIG_MBEDTLS_ECDSA_SIGN_ALT 1
    #define CONFIG_MBEDTLS_ECDSA_VERIFY_ALT 1
    #define CONFIG_MBEDTLS_RSA_ALT 1
    #define CONFIG_MBEDTLS_SHA1_ALT 1
    #define CONFIG_MBEDTLS_SHA224_ALT 1
    #define CONFIG_MBEDTLS_SHA256_ALT 1
    #define CONFIG_MBEDTLS_ENTROPY_FORCE_SHA256 1
    #define CONFIG_MBEDTLS_ENTROPY_MAX_SOURCES 1
    #define CONFIG_MBEDTLS_NO_PLATFORM_ENTROPY 1
    #define CONFIG_CC310_ONLY_PSA_ENABLED 1
    #define CONFIG_CC310_ONLY_ENABLED 1
    #define CONFIG_MBEDTLS_CIPHER_C 1
    #define CONFIG_MBEDTLS_MD_C 1
    #define CONFIG_NRF_802154_SOURCE_NRFXLIB 1
    #define CONFIG_ZEPHYR_NRFXLIB_MODULE 1
    #define CONFIG_ZEPHYR_CONNECTEDHOMEIP_MODULE 1
    #define CONFIG_HAS_CMSIS_CORE 1
    #define CONFIG_HAS_CMSIS_CORE_M 1
    #define CONFIG_BOARD_THINGY91_NRF52840 1
    #define CONFIG_BOARD_ENABLE_DCDC 1
    #define CONFIG_SOC_SERIES_NRF52X 1
    #define CONFIG_CPU_HAS_ARM_MPU 1
    #define CONFIG_HAS_SWO 1
    #define CONFIG_SOC_FAMILY "nordic_nrf"
    #define CONFIG_SOC_FAMILY_NRF 1
    #define CONFIG_HAS_HW_NRF_ACL 1
    #define CONFIG_HAS_HW_NRF_CC310 1
    #define CONFIG_HAS_HW_NRF_CCM 1
    #define CONFIG_HAS_HW_NRF_CCM_LFLEN_8BIT 1
    #define CONFIG_HAS_HW_NRF_CLOCK 1
    #define CONFIG_HAS_HW_NRF_COMP 1
    #define CONFIG_HAS_HW_NRF_ECB 1
    #define CONFIG_HAS_HW_NRF_EGU0 1
    #define CONFIG_HAS_HW_NRF_EGU1 1
    #define CONFIG_HAS_HW_NRF_EGU2 1
    #define CONFIG_HAS_HW_NRF_EGU3 1
    #define CONFIG_HAS_HW_NRF_EGU4 1
    #define CONFIG_HAS_HW_NRF_EGU5 1
    #define CONFIG_HAS_HW_NRF_GPIO0 1
    #define CONFIG_HAS_HW_NRF_GPIO1 1
    #define CONFIG_HAS_HW_NRF_GPIOTE 1
    #define CONFIG_HAS_HW_NRF_I2S 1
    #define CONFIG_HAS_HW_NRF_LPCOMP 1
    #define CONFIG_HAS_HW_NRF_MWU 1
    #define CONFIG_HAS_HW_NRF_NFCT 1
    #define CONFIG_HAS_HW_NRF_NVMC_PE 1
    #define CONFIG_HAS_HW_NRF_PDM 1
    #define CONFIG_HAS_HW_NRF_POWER 1
    #define CONFIG_HAS_HW_NRF_PPI 1
    #define CONFIG_HAS_HW_NRF_PWM0 1
    #define CONFIG_HAS_HW_NRF_PWM1 1
    #define CONFIG_HAS_HW_NRF_PWM2 1
    #define CONFIG_HAS_HW_NRF_PWM3 1
    #define CONFIG_HAS_HW_NRF_QDEC 1
    #define CONFIG_HAS_HW_NRF_QSPI 1
    #define CONFIG_HAS_HW_NRF_RADIO_BLE_2M 1
    #define CONFIG_HAS_HW_NRF_RADIO_TX_PWR_HIGH 1
    #define CONFIG_HAS_HW_NRF_RADIO_BLE_CODED 1
    #define CONFIG_HAS_HW_NRF_RADIO_IEEE802154 1
    #define CONFIG_HAS_HW_NRF_RNG 1
    #define CONFIG_HAS_HW_NRF_RTC0 1
    #define CONFIG_HAS_HW_NRF_RTC1 1
    #define CONFIG_HAS_HW_NRF_RTC2 1
    #define CONFIG_HAS_HW_NRF_SAADC 1
    #define CONFIG_HAS_HW_NRF_SPI0 1
    #define CONFIG_HAS_HW_NRF_SPI1 1
    #define CONFIG_HAS_HW_NRF_SPI2 1
    #define CONFIG_HAS_HW_NRF_SPIM0 1
    #define CONFIG_HAS_HW_NRF_SPIM1 1
    #define CONFIG_HAS_HW_NRF_SPIM2 1
    #define CONFIG_HAS_HW_NRF_SPIM3 1
    #define CONFIG_HAS_HW_NRF_SPIS0 1
    #define CONFIG_HAS_HW_NRF_SPIS1 1
    #define CONFIG_HAS_HW_NRF_SPIS2 1
    #define CONFIG_HAS_HW_NRF_SWI0 1
    #define CONFIG_HAS_HW_NRF_SWI1 1
    #define CONFIG_HAS_HW_NRF_SWI2 1
    #define CONFIG_HAS_HW_NRF_SWI3 1
    #define CONFIG_HAS_HW_NRF_SWI4 1
    #define CONFIG_HAS_HW_NRF_SWI5 1
    #define CONFIG_HAS_HW_NRF_TEMP 1
    #define CONFIG_HAS_HW_NRF_TIMER0 1
    #define CONFIG_HAS_HW_NRF_TIMER1 1
    #define CONFIG_HAS_HW_NRF_TIMER2 1
    #define CONFIG_HAS_HW_NRF_TIMER3 1
    #define CONFIG_HAS_HW_NRF_TIMER4 1
    #define CONFIG_HAS_HW_NRF_TWI0 1
    #define CONFIG_HAS_HW_NRF_TWI1 1
    #define CONFIG_HAS_HW_NRF_TWIM0 1
    #define CONFIG_HAS_HW_NRF_TWIM1 1
    #define CONFIG_HAS_HW_NRF_TWIS0 1
    #define CONFIG_HAS_HW_NRF_TWIS1 1
    #define CONFIG_HAS_HW_NRF_UART0 1
    #define CONFIG_HAS_HW_NRF_UARTE0 1
    #define CONFIG_HAS_HW_NRF_UARTE1 1
    #define CONFIG_HAS_HW_NRF_USBD 1
    #define CONFIG_HAS_HW_NRF_WDT 1
    #define CONFIG_NRF_HW_RTC1_RESERVED 1
    #define CONFIG_SOC_NRF52840 1
    #define CONFIG_SOC_NRF52840_QIAA 1
    #define CONFIG_SOC_DCDC_NRF52X 1
    #define CONFIG_NRF_ENABLE_ICACHE 1
    #define CONFIG_NRF_APPROTECT_USE_UICR 1
    #define CONFIG_SOC_LOG_LEVEL_INF 1
    #define CONFIG_SOC_LOG_LEVEL 3
    #define CONFIG_SOC_COMPATIBLE_NRF 1
    #define CONFIG_SOC_COMPATIBLE_NRF52X 1
    #define CONFIG_ARCH "arm"
    #define CONFIG_CPU_CORTEX 1
    #define CONFIG_CPU_CORTEX_M 1
    #define CONFIG_ISA_THUMB2 1
    #define CONFIG_ASSEMBLER_ISA_THUMB2 1
    #define CONFIG_COMPILER_ISA_THUMB2 1
    #define CONFIG_STACK_ALIGN_DOUBLE_WORD 1
    #define CONFIG_PLATFORM_SPECIFIC_INIT 1
    #define CONFIG_FAULT_DUMP 2
    #define CONFIG_ARM_STACK_PROTECTION 1
    #define CONFIG_FP16 1
    #define CONFIG_FP16_IEEE 1
    #define CONFIG_CPU_CORTEX_M4 1
    #define CONFIG_CPU_CORTEX_M_HAS_SYSTICK 1
    #define CONFIG_CPU_CORTEX_M_HAS_DWT 1
    #define CONFIG_CPU_CORTEX_M_HAS_BASEPRI 1
    #define CONFIG_CPU_CORTEX_M_HAS_VTOR 1
    #define CONFIG_CPU_CORTEX_M_HAS_PROGRAMMABLE_FAULT_PRIOS 1
    #define CONFIG_ARMV7_M_ARMV8_M_MAINLINE 1
    #define CONFIG_ARMV7_M_ARMV8_M_FP 1
    #define CONFIG_GEN_ISR_TABLES 1
    #define CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE 1
    #define CONFIG_GEN_IRQ_VECTOR_TABLE 1
    #define CONFIG_ARM_MPU 1
    #define CONFIG_ARM_MPU_REGION_MIN_ALIGN_AND_SIZE 32
    #define CONFIG_MPU_STACK_GUARD 1
    #define CONFIG_CUSTOM_SECTION_MIN_ALIGN_SIZE 32
    #define CONFIG_ARM 1
    #define CONFIG_ARCH_IS_SET 1
    #define CONFIG_ARCH_LOG_LEVEL_INF 1
    #define CONFIG_ARCH_LOG_LEVEL 3
    #define CONFIG_MPU_LOG_LEVEL_INF 1
    #define CONFIG_MPU_LOG_LEVEL 3
    #define CONFIG_KOBJECT_TEXT_AREA 256
    #define CONFIG_KOBJECT_DATA_AREA_RESERVE_EXTRA_PERCENT 100
    #define CONFIG_KOBJECT_RODATA_AREA_EXTRA_BYTES 16
    #define CONFIG_GEN_PRIV_STACKS 1
    #define CONFIG_GEN_SW_ISR_TABLE 1
    #define CONFIG_ARCH_SW_ISR_TABLE_ALIGN 0
    #define CONFIG_GEN_IRQ_START_VECTOR 0
    #define CONFIG_ARCH_HAS_SINGLE_THREAD_SUPPORT 1
    #define CONFIG_ARCH_HAS_TIMING_FUNCTIONS 1
    #define CONFIG_ARCH_HAS_STACK_PROTECTION 1
    #define CONFIG_ARCH_HAS_USERSPACE 1
    #define CONFIG_ARCH_HAS_EXECUTABLE_PAGE_BIT 1
    #define CONFIG_ARCH_HAS_RAMFUNC_SUPPORT 1
    #define CONFIG_ARCH_HAS_NESTED_EXCEPTION_DETECTION 1
    #define CONFIG_ARCH_SUPPORTS_COREDUMP 1
    #define CONFIG_ARCH_SUPPORTS_ARCH_HW_INIT 1
    #define CONFIG_ARCH_HAS_EXTRA_EXCEPTION_INFO 1
    #define CONFIG_ARCH_HAS_THREAD_LOCAL_STORAGE 1
    #define CONFIG_ARCH_HAS_THREAD_ABORT 1
    #define CONFIG_CPU_HAS_FPU 1
    #define CONFIG_CPU_HAS_MPU 1
    #define CONFIG_MPU 1
    #define CONFIG_MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT 1
    #define CONFIG_SRAM_REGION_PERMISSIONS 1
    #define CONFIG_TOOLCHAIN_HAS_BUILTIN_FFS 1
    #define CONFIG_KERNEL_LOG_LEVEL_INF 1
    #define CONFIG_KERNEL_LOG_LEVEL 3
    #define CONFIG_MULTITHREADING 1
    #define CONFIG_NUM_COOP_PRIORITIES 16
    #define CONFIG_NUM_PREEMPT_PRIORITIES 15
    #define CONFIG_MAIN_THREAD_PRIORITY 0
    #define CONFIG_COOP_ENABLED 1
    #define CONFIG_PREEMPT_ENABLED 1
    #define CONFIG_PRIORITY_CEILING -127
    #define CONFIG_IDLE_STACK_SIZE 320
    #define CONFIG_ISR_STACK_SIZE 2048
    #define CONFIG_THREAD_STACK_INFO 1
    #define CONFIG_ERRNO 1
    #define CONFIG_SCHED_DUMB 1
    #define CONFIG_WAITQ_DUMB 1
    #define CONFIG_BOOT_DELAY 0
    #define CONFIG_THREAD_MONITOR 1
    #define CONFIG_THREAD_NAME 1
    #define CONFIG_THREAD_MAX_NAME_LEN 32
    #define CONFIG_SYSTEM_WORKQUEUE_PRIORITY -1
    #define CONFIG_ATOMIC_OPERATIONS_BUILTIN 1
    #define CONFIG_TIMESLICING 1
    #define CONFIG_TIMESLICE_SIZE 0
    #define CONFIG_TIMESLICE_PRIORITY 0
    #define CONFIG_NUM_MBOX_ASYNC_MSGS 10
    #define CONFIG_NUM_PIPE_ASYNC_MSGS 10
    #define CONFIG_KERNEL_MEM_POOL 1
    #define CONFIG_ARCH_HAS_CUSTOM_SWAP_TO_MAIN 1
    #define CONFIG_SWAP_NONATOMIC 1
    #define CONFIG_SYS_CLOCK_EXISTS 1
    #define CONFIG_TIMEOUT_64BIT 1
    #define CONFIG_XIP 1
    #define CONFIG_KERNEL_INIT_PRIORITY_OBJECTS 30
    #define CONFIG_KERNEL_INIT_PRIORITY_DEFAULT 40
    #define CONFIG_KERNEL_INIT_PRIORITY_DEVICE 50
    #define CONFIG_APPLICATION_INIT_PRIORITY 90
    #define CONFIG_STACK_POINTER_RANDOM 0
    #define CONFIG_MP_NUM_CPUS 1
    #define CONFIG_TICKLESS_KERNEL 1
    #define CONFIG_HAS_DTS 1
    #define CONFIG_CONSOLE 1
    #define CONFIG_CONSOLE_INPUT_MAX_LINE_LEN 128
    #define CONFIG_CONSOLE_INIT_PRIORITY 40
    #define CONFIG_UART_CONSOLE_LOG_LEVEL_INF 1
    #define CONFIG_UART_CONSOLE_LOG_LEVEL 3
    #define CONFIG_HAS_SEGGER_RTT 1
    #define CONFIG_USE_SEGGER_RTT 1
    #define CONFIG_SEGGER_RTT_CUSTOM_LOCKING 1
    #define CONFIG_SEGGER_RTT_MAX_NUM_UP_BUFFERS 3
    #define CONFIG_SEGGER_RTT_MAX_NUM_DOWN_BUFFERS 3
    #define CONFIG_SEGGER_RTT_BUFFER_SIZE_UP 15360
    #define CONFIG_SEGGER_RTT_BUFFER_SIZE_DOWN 16
    #define CONFIG_SEGGER_RTT_PRINTF_BUFFER_SIZE 64
    #define CONFIG_SEGGER_RTT_MODE_NO_BLOCK_SKIP 1
    #define CONFIG_SEGGER_RTT_MODE 0
    #define CONFIG_SEGGER_RTT_SECTION_NONE 1
    #define CONFIG_SERIAL_HAS_DRIVER 1
    #define CONFIG_SERIAL_SUPPORT_ASYNC 1
    #define CONFIG_SERIAL_SUPPORT_INTERRUPT 1
    #define CONFIG_UART_USE_RUNTIME_CONFIGURE 1
    #define CONFIG_UART_NRFX 1
    #define CONFIG_UART_0_NRF_UARTE 1
    #define CONFIG_UART_0_ENHANCED_POLL_OUT 1
    #define CONFIG_UART_0_NRF_TX_BUFFER_SIZE 32
    #define CONFIG_UART_1_NRF_UARTE 1
    #define CONFIG_UART_1_ENHANCED_POLL_OUT 1
    #define CONFIG_UART_ENHANCED_POLL_OUT 1
    #define CONFIG_NRF_UARTE_PERIPHERAL 1
    #define CONFIG_SYSTEM_CLOCK_INIT_PRIORITY 0
    #define CONFIG_TICKLESS_CAPABLE 1
    #define CONFIG_NRF_RTC_TIMER_USER_CHAN_COUNT 0
    #define CONFIG_SYSTEM_CLOCK_WAIT_FOR_STABILITY 1
    #define CONFIG_RISCV_MACHINE_TIMER_SYSTEM_CLOCK_DIVIDER 0
    #define CONFIG_ENTROPY_LOG_LEVEL_INF 1
    #define CONFIG_ENTROPY_LOG_LEVEL 3
    #define CONFIG_ENTROPY_INIT_PRIORITY 50
    #define CONFIG_ENTROPY_NRF5_RNG 1
    #define CONFIG_ENTROPY_NRF5_THR_POOL_SIZE 8
    #define CONFIG_ENTROPY_NRF5_THR_THRESHOLD 4
    #define CONFIG_ENTROPY_NRF5_ISR_POOL_SIZE 16
    #define CONFIG_ENTROPY_NRF5_ISR_THRESHOLD 12
    #define CONFIG_ENTROPY_HAS_DRIVER 1
    #define CONFIG_CLOCK_CONTROL_LOG_LEVEL_INF 1
    #define CONFIG_CLOCK_CONTROL_LOG_LEVEL 3
    #define CONFIG_CLOCK_CONTROL_NRF 1
    #define CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL 1
    #define CONFIG_CLOCK_CONTROL_NRF_K32SRC_50PPM 1
    #define CONFIG_CLOCK_CONTROL_NRF_ACCURACY 50
    #define CONFIG_SUPPORT_MINIMAL_LIBC 1
    #define CONFIG_MINIMAL_LIBC 1
    #define CONFIG_HAS_NEWLIB_LIBC_NANO 1
    #define CONFIG_MINIMAL_LIBC_MALLOC 1
    #define CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE 0
    #define CONFIG_MINIMAL_LIBC_CALLOC 1
    #define CONFIG_MINIMAL_LIBC_REALLOCARRAY 1
    #define CONFIG_SYS_HEAP_ALLOC_LOOPS 3
    #define CONFIG_SYS_HEAP_SMALL_ONLY 1
    #define CONFIG_MPSC_PBUF 1
    #define CONFIG_REBOOT 1
    #define CONFIG_CBPRINTF_COMPLETE 1
    #define CONFIG_CBPRINTF_FULL_INTEGRAL 1
    #define CONFIG_CBPRINTF_N_SPECIFIER 1
    #define CONFIG_POSIX_MAX_FDS 4
    #define CONFIG_MAX_TIMER_COUNT 5
    #define CONFIG_PRINTK 1
    #define CONFIG_ASSERT_VERBOSE 1
    #define CONFIG_DEBUG_THREAD_INFO 1
    #define CONFIG_LOG 1
    #define CONFIG_LOG_MODE_DEFERRED 1
    #define CONFIG_LOG_OVERRIDE_LEVEL 0
    #define CONFIG_LOG_MAX_LEVEL 4
    #define CONFIG_LOG_FUNC_NAME_PREFIX_DBG 1
    #define CONFIG_LOG_BACKEND_SHOW_COLOR 1
    #define CONFIG_LOG_TAG_MAX_LEN 0
    #define CONFIG_LOG_BACKEND_FORMAT_TIMESTAMP 1
    #define CONFIG_LOG_MODE_OVERFLOW 1
    #define CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD 10
    #define CONFIG_LOG_PROCESS_THREAD 1
    #define CONFIG_LOG_PROCESS_THREAD_STARTUP_DELAY_MS 0
    #define CONFIG_LOG_PROCESS_THREAD_SLEEP_MS 1000
    #define CONFIG_LOG_PROCESS_THREAD_STACK_SIZE 768
    #define CONFIG_LOG_BUFFER_SIZE 15360
    #define CONFIG_LOG_DETECT_MISSED_STRDUP 1
    #define CONFIG_LOG_STRDUP_MAX_STRING 32
    #define CONFIG_LOG_STRDUP_BUF_COUNT 4
    #define CONFIG_LOG_BACKEND_RTT 1
    #define CONFIG_LOG_BACKEND_RTT_MODE_BLOCK 1
    #define CONFIG_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE 16
    #define CONFIG_LOG_BACKEND_RTT_RETRY_CNT 4
    #define CONFIG_LOG_BACKEND_RTT_RETRY_DELAY_MS 5
    #define CONFIG_LOG_BACKEND_RTT_BUFFER 0
    #define CONFIG_LOG_DOMAIN_ID 0
    #define CONFIG_LOG2_USE_VLA 1
    #define CONFIG_PM_LOG_LEVEL_INF 1
    #define CONFIG_PM_LOG_LEVEL 3
    #define CONFIG_PM_POLICY_RESIDENCY 1
    #define CONFIG_ENTROPY_DEVICE_RANDOM_GENERATOR 1
    #define CONFIG_CSPRING_ENABLED 1
    #define CONFIG_HARDWARE_DEVICE_CS_GENERATOR 1
    #define CONFIG_TEST_LOGGING_FLUSH_AFTER_TEST 1
    #define CONFIG_TOOLCHAIN_GNUARMEMB 1
    #define CONFIG_LINKER_ORPHAN_SECTION_WARN 1
    #define CONFIG_HAS_FLASH_LOAD_OFFSET 1
    #define CONFIG_USE_DT_CODE_PARTITION 1
    #define CONFIG_FLASH_LOAD_OFFSET 0x0
    #define CONFIG_FLASH_LOAD_SIZE 0x0
    #define CONFIG_LD_LINKER_SCRIPT_SUPPORTED 1
    #define CONFIG_LD_LINKER_TEMPLATE 1
    #define CONFIG_KERNEL_ENTRY "__start"
    #define CONFIG_LINKER_SORT_BY_ALIGNMENT 1
    #define CONFIG_SRAM_OFFSET 0x0
    #define CONFIG_LINKER_GENERIC_SECTIONS_PRESENT_AT_BOOT 1
    #define CONFIG_DEBUG_OPTIMIZATIONS 1
    #define CONFIG_COMPILER_COLOR_DIAGNOSTICS 1
    #define CONFIG_COMPILER_OPT ""
    #define CONFIG_RUNTIME_ERROR_CHECKS 1
    #define CONFIG_KERNEL_BIN_NAME "zephyr"
    #define CONFIG_OUTPUT_STAT 1
    #define CONFIG_OUTPUT_DISASSEMBLY 1
    #define CONFIG_OUTPUT_PRINT_MEMORY_USAGE 1
    #define CONFIG_BUILD_OUTPUT_BIN 1
    #define CONFIG_BUILD_OUTPUT_META 1
    #define CONFIG_BOOTLOADER_MCUBOOT 1
    #define CONFIG_MCUBOOT_SIGNATURE_KEY_FILE ""
    #define CONFIG_MCUBOOT_EXTRA_IMGTOOL_ARGS ""
    #define CONFIG_COMPAT_INCLUDES 1
    

    Thank you!

  • Hello,

    Can you please send us your whole project (with build folder)? The original sample can run on three development kits (Crypto: ECDSA — nRF Connect SDK 2.1.99 documentation (nordicsemi.com)). We have tried with nRF52840 Dk and it has worked fine.

    Thanks.

    Best Regards,

    Kazi Afroza Sultana

Related