This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Firmware update without DFU

Hi, I am new to the Nordic environment. So far I have done all the integration by going through your examples code which is very good.

Now, one thing I have no knowledge about is updating the firmware image(non-secure + TF-M) without using DFU.

I do not want FW update over DFU for some personal reasons.

Please guide me to any reference or documentation for how to build a bootloader and configure the application image to run with the bootloader and do OTA update.

I do not know from where to start for implementing the OTA update.

Thank you in advance.

My setup:

NRF SDK: v2.2.0

Board: nRF5340-DK

Parents Reply
  • Hi Marte!

    I'm using Zephyr and when I include CONFIG_BOOTLOADER_MCUBOOT=y and build using nRF Connect, a signed image is already generated (app_signed.hex). My questions are:

    1. Can I use this file's content to perform the update? I guess that with this method, a default publick key is used, but as it's not for production yet, there's no problem with this.

    2. To write the firmware image into MCUboot secondary slot, I should call dfu_target_write() multiple times using a buffer with the app_signed.hex data?

    3. The buffer passed to dfu_target_write() should contain ONLY the data bytes? Because a single line of the hex file is made up of start code, byte count, address, record type, data and checksum.

    4. When I use dfu_target_init(), file_size should be the size of app_signed.hex or the number of bytes that are effectively going to be written to the flash? I'm currently receiving the data of app_signed.hex via UART without any transfer encoding or management protocol (such as SMP and mcumgr).

    My application's prj.conf:

    CONFIG_LOG=y
    CONFIG_BOOTLOADER_MCUBOOT=y
    CONFIG_DFU_TARGET=y
    CONFIG_MCUBOOT_IMAGE_VERSION="0.0.1"



Children
No Data
Related