Hello, I am reaching out to you because I am trying to implement a DFU OTA in my project in order to be able to update my firmware with Bluetooth. I have been spending some time on it as the implementation is not an easy task. For a long time, I wasn't able to build, then I wasn't able to boot, and it is just recently that I managed to correctly flash and have access to the logs. I was able to connect to my board thanks to the 'Device Manager' app, but when trying to upload a 'dfu_application.zip' file with the firmware update, I had error 10 on the app and had the following logs on my board:
00> [00:01:18.563,446] <err> flash_nrf: invalid address: 0x001bbff0:16 00> [00:01:18.563,446] <inf> mcuboot_util: Secondary image of image pair (0.) is unreachable. Treat it as empty 00> [00:01:18.563,446] <inf> mcuboot_util: Image index: 0, Swap type: none 00> [00:01:18.671,234] <err> flash_nrf: invalid address: 0x001bbff0:16 00> [00:01:18.671,234] <inf> mcuboot_util: Secondary image of image pair (0.) is unreachable. Treat it as empty 00> [00:01:18.671,234] <inf> mcuboot_util: Image index: 0, Swap type: none 00> [00:01:18.671,264] <err> flash_nrf: invalid address: 0x001bbff0:16 00> [00:01:18.671,264] <inf> mcuboot_util: Secondary image of image pair (0.) is unreachable. Treat it as empty 00> [00:01:18.671,264] <inf> mcuboot_util: Image index: 0, Swap type: none 00> [00:01:18.671,417] <err> STREAM_FLASH: Incorrect parameter 00> [00:01:18.671,417] <err> mcumgr_img_grp: Irrecoverable error: flash write failed: 10
As for my configuration it goes as follow:
Here is what our project directory looks like: build/ build-mcuboot/ child_image/ CMakeLists.txt HC_v4.overlay Kconfig prj.conf README.md src/ utils/
Here is our child_image/mcuboot.conf:
CONFIG_NORDIC_QSPI_NOR=n CONFIG_SPI_NOR=n CONFIG_MULTITHREADING=y CONFIG_PM_PARTITION_SIZE_MCUBOOT=0x32000 CONFIG_BOOT_SIGNATURE_TYPE_RSA=y CONFIG_BOOT_SIGNATURE_KEY_FILE="root-rsa-2048.pem" CONFIG_BOOT_MAX_IMG_SECTORS=1024 CONFIG_SERIAL=y CONFIG_LOG=y CONFIG_PRINTK=y CONFIG_USE_SEGGER_RTT=y
Here is what I added to our prj.conf to use the DFU:
CONFIG_BOOTLOADER_MCUBOOT=y CONFIG_NORDIC_QSPI_NOR=n CONFIG_FLASH_SIZE=1792 CONFIG_FLASH=y CONFIG_SPI_NOR=n CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y CONFIG_MULTITHREADING=y
Here is the totality of our prj.conf if it is of any help:
What element am I missing ? Please feel free to ask if you need any additional informations. Once again thank you very much for your time and have a great day.