Hi
I have gone through the following link and I have working firmware OTA update with BLE SMP.
https://devzone.nordicsemi.com/guides/nrf-connect-sdk-guides/b/software/posts/ncs-dfu#http_dfu_ext_flash
But my device design also has a cloud connection via nRF9160. Following is the complete connection diagram.
Cloud<==HTTPS==> nRF9160 <== UART ==> nRF5340 <== QSPI ==> NOR flash
My requirement is to receive the firmware update file via HTTPS to nRF9160 and it will be transmitted to nRF5340 and eventually will be written in NOR flash.
external_flash: address: 0x0 end_address: 0x200000 region: external_flash size: 0x200000 mcuboot_secondary: address: 0x00000 device: mx25r16 end_address: 0xf4000 region: external_flash size: 0xf4000 littlefs_storage: address: 0x100000 device: mx25r16 region: external_flash size: 0x200000
My understanding is I will need to enable the QSPI flash access in Mcuboot by adding following lines to the file "/child_image/mcuboot/prj.conf"
# SPI Flash CONFIG_SPI=y CONFIG_NORDIC_QSPI_NOR=y
Then write the firmware update file "app_update.bin" in the external NOR flash partition "mcuboot_secondary". File packets will be received over UART and then written via flash write operation. Once file write is complete I will need to restart the SOC.
Is my understanding correct? Also, will I need to update any other flag or message to start firmware update on reboot?
Many Thanks