Delay in executing main application after migrating from child/parent build to sysbuild

Hi

We have a project previously built on NCS v2.6.0 and now we need to migrate it to v2.8.0

I see from v2.9.0 child/parent build setup is not supported and so we are planning to migrate to sysbuild from v2.8.0.

After looking into many references and documents we were able to build the project with v2.8.0 whereas we are facing delay in the execution.

We have DFU (SMP service) enabled in our project and the setup runs smoothly in the NRF52840DK whereas it is taking time (~1min) to run on out custom board with NRF52840 chip.

Both have the same controller and yet we are observing delay in application execution and that too long time (~1min)

Let me share my conf setup here for reference

#
# Copyright (c) 2018 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#
CONFIG_NCS_SAMPLES_DEFAULTS=y

CONFIG_BT=y
CONFIG_BT_PERIPHERAL=y

CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_UART_ASYNC_API=y

CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y

# Below configurations to enable DFU
# Enable mcumgr.
CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y
CONFIG_MCUBOOT_IMG_MANAGER=y
CONFIG_IMG_MANAGER=y
CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU_SPEEDUP=y
CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_SECURE_BOOT=y
CONFIG_SB_SIGNING_KEY_FILE="priv.pem"
# Some command handlers require a large stack.
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096
CONFIG_FLASH=y
CONFIG_STREAM_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_MPU_ALLOW_FLASH_WRITE=y
CONFIG_REBOOT=y
CONFIG_DISABLE_FLASH_PATCH=y

# 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_WANT_ALG_ECDH=y
CONFIG_PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY=y
CONFIG_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT=y
CONFIG_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE=y
CONFIG_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE=y
CONFIG_PSA_WANT_ECC_SECP_R1_256=y
# For key generation
CONFIG_PSA_WANT_GENERATE_RANDOM=y
SB_CONFIG_BOOTLOADER_MCUBOOT=y
SB_CONFIG_BOOT_SIGNATURE_KEY_FILE="priv.pem"
SB_CONFIG_DFU_ZIP=y
sysbuild.zip

Parents
  • Hi,

    I see from v2.9.0 child/parent build setup is not supported and so we are planning to migrate to sysbuild from v2.8.0.

    This is correct, instead it will migrate to a similar setup with "companion images" instead of child images. This means that configurations that you've previously added to your child_image/mcuboot.conf and child_image/mcuboot.overlay needs to be present in a similar structure with sysbuild configurations. This can be organized as sysbuild/mcuboot.conf and .overlay.

    Do you have this structure in your folder? If not, I believe whats happening is that MCUboot has no information about using CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y, and adding that to sysbuild/mcuboot.conf with something like SB_CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y (I'm not 100% sure about the SB_ prefix, but it might be required). 

    You might also have to set the rc oscillator up in your devicetree as a device that can be used. Could you verify if you've done this?

    Kind regards,
    Andreas

Reply
  • Hi,

    I see from v2.9.0 child/parent build setup is not supported and so we are planning to migrate to sysbuild from v2.8.0.

    This is correct, instead it will migrate to a similar setup with "companion images" instead of child images. This means that configurations that you've previously added to your child_image/mcuboot.conf and child_image/mcuboot.overlay needs to be present in a similar structure with sysbuild configurations. This can be organized as sysbuild/mcuboot.conf and .overlay.

    Do you have this structure in your folder? If not, I believe whats happening is that MCUboot has no information about using CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y, and adding that to sysbuild/mcuboot.conf with something like SB_CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y (I'm not 100% sure about the SB_ prefix, but it might be required). 

    You might also have to set the rc oscillator up in your devicetree as a device that can be used. Could you verify if you've done this?

    Kind regards,
    Andreas

Children
No Data
Related