Hi,
I’m leveraging code in the aws_iot sample and although I’ve tried to transfer all the configuration items in prj.conf, I’m getting

undefined reference to `boot_write_img_confirmed’

I’m calling that routine after connecting to AWS. Does anyone know what config options or other conditions bring that function into scope?

Thanks,
Jim

I guess, it’s related to DFU/FOTA. But I’m not sure, what the source “aws_iot” sample is.

Hey @jfc

boot_write_img_confirmed is a critical function to tell the bootloader that, when upgraded, the mcuboot image swap was successful.

For it to work I think you’ll need at least these entries in your .conf:

CONFIG_FLASH=y
CONFIG_FLASH_MAP=y
CONFIG_STREAM_FLASH=y
CONFIG_IMG_MANAGER=y

Thanks guys. I’m talking about the sample from here:/c/ncs/v2.5.3/nrf/samples/net/aws_iot

My prj.conf has become full of FOTA / flash-related entries but just this morning, adding
CONFIG_STREAM_FLASH=y
CONFIG_IMG_ERASE_PROGRESSIVELY=y
worked!

BOTH were required! Not sure why, but thanks Jared. CONFIG_STREAM_FLASH helped!

I’ve had a successful compile and link and the FOTA process actually worked as expected.

I guess the next step is preening the prj.conf file as I furiously put a lot of flash and FOTA items in there.

Any suggestions, as it appears there a lot of interdependencies between CONFIG_* directives?

THANKS for the quick response.
Jim

@jfc usually the compilation process will break if you remove something that is needed. It will be an experiment to determine what is necessary. It may be worth it to look at the originating Kconfig files or the Zephyr documentation for those entries.

Terms and Conditions | Privacy Policy