Hi There,
Currently running into this issue that has been discussed here, also described in this github issue here.
Environment description:
- NCS v2.0.0
- BLE Application.
- NRF52840 Using internal RC low frequency clock. (Raytac Module).
Initially my application would not boot up at all, due to not having an external low frequency XTAL, However by adding the /child_image/mcuboot.conf file with the following flag it worked like a charm:
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
Now that I want to use my own keys to sign the images to perform the OTA, I added this to the CMakeLists in order to use my custom keys instead of the default ones.
set(mcuboot_CONF_FILE "${CMAKE_CURRENT_SOURCE_DIR}/child_image/mcuboot.conf")
The build fails as mentioned in the tickets above.
I have got it working by enabling multithreading in the local mcuboot.conf:
CONFIG_MULTITHREADING=y
This adds a tremendous amount of overhead to the bootloader image, from ~24 kB to 45kB.
I have tried adding these:
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=y CONFIG_CLOCK_CONTROL_NRF_CALIBRATION_MAX_SKIP=0
and these:
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=n
But so far only by enabling Multithreading do I get it to build.
Can you guys please provide an explanation to this behavior ?
How could I get the build to work without adding the massive overhead of Multithreading is it really necessary ?
Cheers,