mcuboot DFU, public key didn't match

I am adding a bootloader to my project for OTA DFU.

App core and net core update was successful in the 1st stage bootloader configuration,
I'm configuring a second stage bootloader to update the bootloader.
My settings are below.

<prj.conf>

# BOOTLOADER
CONFIG_SECURE_BOOT=y
CONFIG_BUILD_S1_VARIANT=y
CONFIG_BOOTLOADER_MCUBOOT=y

# MEM
CONFIG_MAIN_STACK_SIZE=4096
CONFIG_HEAP_MEM_POOL_SIZE=4096
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096

# PERIPHERAL
CONFIG_GPIO=y

# DEVICE
CONFIG_BT=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_DEVICE_NAME="my_device"
CONFIG_BT_DEVICE_APPEARANCE=3396
CONFIG_BT_MAX_CONN=1
CONFIG_BT_MAX_PAIRED=1

# LESC
CONFIG_BT_SMP=y
CONFIG_BT_SMP_SC_ONLY=y
CONFIG_BT_TINYCRYPT_ECC=y

# BONDING
CONFIG_BT_SETTINGS=y
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_NVS=y
CONFIG_SETTINGS=y

# WHITELIST
CONFIG_BT_FILTER_ACCEPT_LIST=y

# MTU
CONFIG_BT_BUF_ACL_RX_SIZE=502
CONFIG_BT_ATT_PREPARE_COUNT=2
CONFIG_BT_L2CAP_TX_BUF_COUNT=10
CONFIG_BT_L2CAP_TX_MTU=498
CONFIG_BT_L2CAP_DYNAMIC_CHANNEL=y
CONFIG_BT_CONN_TX_MAX=10
CONFIG_BT_BUF_ACL_TX_COUNT=10
CONFIG_BT_BUF_ACL_TX_SIZE=502

# DFU
CONFIG_MCUMGR=y
CONFIG_MCUMGR_CMD_IMG_MGMT=y
CONFIG_MCUMGR_CMD_OS_MGMT=y
CONFIG_MCUMGR_SMP_BT=y
CONFIG_MCUMGR_SMP_BT_AUTHEN=n
CONFIG_MCUMGR_SMP_BT_CONN_PARAM_CONTROL=y
CONFIG_MCUMGR_SMP_REASSEMBLY_BT=y
CONFIG_MCUMGR_BUF_SIZE=2475
CONFIG_OS_MGMT_MCUMGR_PARAMS=y
CONFIG_MCUMGR_SMP_WORKQUEUE_STACK_SIZE=4608
CONFIG_MCUMGR_GRP_ZEPHYR_BASIC=y
CONFIG_MCUMGR_GRP_BASIC_CMD_STORAGE_ERASE=y

# CRYPTO
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

# LOG
CONFIG_LOG=y
CONFIG_LOG_BUFFER_SIZE=8192
CONFIG_LOG_MODE_MINIMAL=n
CONFIG_LOG_DEFAULT_LEVEL=3
CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=y
CONFIG_LOG_BACKEND_UART=n
CONFIG_LOG_BACKEND_SHOW_COLOR=n

# math.h
CONFIG_NEWLIB_LIBC=y

<hci_rpmsg.conf>

# MTU
CONFIG_BT_CTLR_DATA_LENGTH_MAX=251
CONFIG_BT_BUF_ACL_RX_SIZE=502
CONFIG_BT_BUF_ACL_TX_SIZE=502

CONFIG_BT_MAX_CONN=2

# LOG
CONFIG_LOG=y
CONFIG_LOG_MODE_MINIMAL=n
CONFIG_LOG_DEFAULT_LEVEL=3
CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=y
CONFIG_LOG_BACKEND_UART=n
CONFIG_LOG_BACKEND_SHOW_COLOR=n

<mcuboot.conf>

CONFIG_MCUBOOT_DOWNGRADE_PREVENTION=y
CONFIG_FW_INFO_FIRMWARE_VERSION=1

# LOG
CONFIG_LOG=y
CONFIG_LOG_DEFAULT_LEVEL=3

The build completes successfully, and signed_by_mcuboot_and_b0_s1_image_update.bin is created.
OTA DFU using the above file succeeds without error.
But looking at the mcuboot log it fails as below.

The signing key configuration is using the one inside ncs.
Is there something I'm missing?

Parents Reply Children
Related