I currently have a board using a nrf52840 that has a reliable connection to AWS via a Quectel BG95.
I have DFU implemented and working via Bluetooth with config settings
CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y
I currently have a board using a nrf52840 that has a reliable connection to AWS via a Quectel BG95.
I have DFU implemented and working via Bluetooth with config settings
CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y
Hi,
I'm not certain how the module you refer to work, but here's a couple of resources that might get you started anyways:
https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/net/aws_iot/README.html#aws-iot with focus on the fota section.
If this does not help, then in short terms: If you have set up your device with MCUboot, a primary application slot and a secondary application slot, you should be able to
Let me know if this is enough to get you started
Kind regards,
Andreas
I've made some progress.
The firmware I want to install is app_update.bin (stored in build/zephyr after a successful build)
I have built and fully tested firmware and associated server software that will reliably download the app_update.bin from the AWS cloud to my board
It looks like the DFU Target library is perfect for what I want to do - which is
1. initialize the target (dfu_target_init())
2. Download my fiemware - using dfu_target_write() to move each block of downloaded data into the mcu_boot_secondary partition.
3. finalize the download with dfu_target_done.
4. Stage the update with dfu_target_schefule_update().
5. Reboot
I've modified my build to use static partitions (I copied build/partitions.yml to pm_static.yml)
Currenty my prj.conf has
I've made some progress.
The firmware I want to install is app_update.bin (stored in build/zephyr after a successful build)
I have built and fully tested firmware and associated server software that will reliably download the app_update.bin from the AWS cloud to my board
It looks like the DFU Target library is perfect for what I want to do - which is
1. initialize the target (dfu_target_init())
2. Download my fiemware - using dfu_target_write() to move each block of downloaded data into the mcu_boot_secondary partition.
3. finalize the download with dfu_target_done.
4. Stage the update with dfu_target_schefule_update().
5. Reboot
I've modified my build to use static partitions (I copied build/partitions.yml to pm_static.yml)
Currenty my prj.conf has