- Edited
Hi thanks for your reply. Sorry for the confusion.
Can you explain what you mean? You’re able to use newtmgr but not load via AWS FOTA?
There are two different tries, compiling is fine, no error:
Using your v2 bootloader source here, then I go into DFU mode with the instruction and flash
app_update.bin
withCONFIG_APP_VERSION="v1.0.0"
, usingnewtmgr -c serial image upload build/zephyr/app_update.bin
.
Code works, download theapp_update.bin
withCONFIG_APP_VERSION="v2.0.0"
. Then restart and still print “v1.0.0” on the USB console, which shows the firmware running on the board is not updated.I use nRF Connect v3.6.1 - Programmer to erase the device first. Then I use flash the
merged.hex
under/build/zephyr
after seeing your reply usingwest flash
. However, I cant enter the DFU mode, but code works, download theapp_update.bin
withCONFIG_APP_VERSION="v2.0.0"
. Then restart and still print “v2.0.0” on the USB console, which shows the firmware is updated. I try to enter DFU mode and it still cant access. I have followed the instruction on entering DFU mode.
I wonder if it is the difference in bootloader causing the problem. If so, what makes it different, clearly there is nothing on the example source code related to bootloader setting or DFU setting, plus they are using the same source code.
If I were you I’d compile and run the provided SDK examples and follow Nordic’s instructions explicitly. Make sure you can do it with unmodified code an then work on getting your own firmware working with it as well.
So I am using the AWS_fota example. I didn’t chang anything from the source code, except for adding few configurations in prj.conf
:
# FOTA config
CONFIG_APP_VERSION="v1.0.0"
CONFIG_USE_CLOUD_CLIENT_ID=y
CONFIG_CLOUD_CLIENT_ID="nrf9160"
CONFIG_MQTT_BROKER_HOSTNAME="a2v611xt1xntep-ats.iot.ca-central-1.amazonaws.com"
CONFIG_PROVISION_CERTIFICATES=y # I also upload my AWS certificate in 'certificate.h'
Thanks
Zirun