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

  • Hi,

    I try programming the app_moved_test_update.hex image with nRF Connect Programmer and I see it does not boot the device and also I observe no logs.

    Attached the screenshot of the programmer window.

    In the above image you can see the Write option is disabled, I only have Erase & write option and which I think it is erasing mcuboot too.

    I did not find any mcuboot image to program along side the application image.

    Am I missing something here?

  • Hi,

    Please select Enable MCUboot in the Programmer.

    You can also try using nrfjprog. For a list of commands see nrfjprog commands.

    Best regards,

    Marte

  • Hi Marte,

    Thank you for the suggestion.

    I try using nrfjprog commands to program and confirm it is working.

    *** Booting Zephyr OS build v3.2.99-ncs1 ***
    Attempting to boot slot 0.
    Attempting to boot from address 0x8200.
    Verifying signature against key 0.
    Hash: 0x8d...d1
    Firmware signature verified.
    Firmware version 1
    *** Booting Zephyr OS build v3.2.99-ncs1 ***
    I: Starting bootloader
    I: Primary image: magic=good, swap_type=0x4, copy_done=0x1, image_ok=0x1
    I: Secondary image: magic=good, swap_type=0x1, copy_done=0x3, image_ok=0x3
    I: Boot source: none
    I: Swap type: test
    I: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
    I: Secondary image: magic=good, swap_type=0x1, copy_done=0x3, image_ok=0x3
    I: Boot source: none
    I: Starting swap using move algorithm.
    I: Bootloader chainload address offset: 0x28000
    *** Booting Zephyr OS build v3.2.99-ncs1 ***

    Thank you for your support.

  • Hi Marte, I try to integrate the dfu_target APIs into my application image and I see undefined reference to the dfu APIs.

    I know I am missing something to say include dfu_target APIs into my application but I do not know what I need to add/do to enable.

    Please guide me.

  • Hi Marte, any update on this.

Related