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
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 ssolved the signing problem.
I removed the CONFIG_BOOT_SIGNATURE_KEY_FILE from prj.conf.
I generated a new key using
openssl ecparam -name prime256v1 -genkey -noout -out priv.pem
I moved the new key to "C:\Users\kover\HomeSmart\VScode\KEYS\privatekey.pem"
I added
set(BOOT_SIGNATURE_KEY_FILE C:/Users/kover/HomeSmart/VScode/KEYS/privatekey.pem)
to CMakeLists.txt
Hi,
Apologies for the delayed response. I was on business travel last week.
I see you've made some progress and you state that you've solved the signing issue. Did this conclude the case for you?
Kind regards,
Andreas