Setup:
nRF Connect SDK 2.3.0
nRF52840
Hi all,
I would like to add mcuboot update over Zigbee FOTA to my application.
I am aware of that the bootloader update over Zigbee is not currently supported by the nRF Connect SDK and it will require multiple steps to make it possible.
From my point of view the necessary steps are:
- Generating the mcuboot FOTA image to be distributed by Zigbee FOTA server in a following way:
- build/mcuboot/zephyr.bin -> imgtool.py (with specific options like slot size, keys, etc.) -> dfu_multi_image.py -> zb_add_ota_header.py
- Determine the image type by image type field or image comment directly in the zigbee_fota subsys -> zigbee_fota_zcl_cb()
- Check the mcuboot fw versions in the s0 and s1 partition and choose lower one as current/active partition.
- Handle the incoming data:
- Option A: Save the data directly to flash (current partition)
- Option B: Use DFU target library (?)
- Increase the version number of the mcuboot stored in current partition to be higher than mcuboot stored in alternative partition.
- Reboot
The questions are:
- Are there any other limitations of which I am not aware of ?
- Is it possible to use DFU target library for handling the image flash saving ? By setting/changing some configs ?
I am looking forward to hearing from you